guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/04: gnu: weechat: Dynamically link against libpython2.7.so.


From: Ludovic Courtès
Subject: 04/04: gnu: weechat: Dynamically link against libpython2.7.so.
Date: Sun, 29 Nov 2015 18:18:57 +0000

civodul pushed a commit to branch master
in repository guix.

commit cb7bd0cff5e8ea1c01ba835a4ebba6c9abae7e16
Author: Ludovic Courtès <address@hidden>
Date:   Sun Nov 29 19:17:33 2015 +0100

    gnu: weechat: Dynamically link against libpython2.7.so.
    
    * gnu/packages/patches/weechat-python.patch: New file.
    * gnu-system.am (dist_patch_DATA): Add it.
    * gnu/packages/weechat.scm (weechat)[source]: Use it.
---
 gnu-system.am                             |    1 +
 gnu/packages/patches/weechat-python.patch |   40 +++++++++++++++++++++++++++++
 gnu/packages/weechat.scm                  |    5 +++-
 3 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/gnu-system.am b/gnu-system.am
index e6af49b..e4eb1d7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -726,6 +726,7 @@ dist_patch_DATA =                                           
\
   gnu/packages/patches/vtk-mesa-10.patch                       \
   gnu/packages/patches/w3m-fix-compile.patch                   \
   gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch     \
+  gnu/packages/patches/weechat-python.patch                    \
   gnu/packages/patches/weex-vacopy.patch                       \
   gnu/packages/patches/wicd-bitrate-none-fix.patch             \
   gnu/packages/patches/wicd-get-selected-profile-fix.patch     \
diff --git a/gnu/packages/patches/weechat-python.patch 
b/gnu/packages/patches/weechat-python.patch
new file mode 100644
index 0000000..8182636
--- /dev/null
+++ b/gnu/packages/patches/weechat-python.patch
@@ -0,0 +1,40 @@
+Get Python LDFLAGS from 'pkg-config'.
+
+The other approach is more complex and gets it wrong: it returns
+"-L/path/to/python/lib/python-2.7.10/lib/python2.7/config -lpython -lwhatever";
+since that config/ sub-directory contains libpython2.7.a, we end up
+statically linking Python in Weechat's python.so, which we do not want.
+
+--- weechat-1.3/configure.ac   2015-08-16 08:27:07.000000000 +0200
++++ weechat-1.3/configure.ac   2015-11-29 18:18:52.975197048 +0100
+@@ -535,29 +535,7 @@ if test "x$enable_python" = "xyes" ; the
+             if test -r "$PYTHON_INCLUDE/Python.h"; then
+                 PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
+                 AC_MSG_RESULT(found)
+-                PYTHON_LIB=`$PYTHON -c "import sys, distutils.sysconfig; 
sys.stdout.write(distutils.sysconfig.get_config_var('LIBPL'))"`
+-                PYTHON_LFLAGS="-lpython$PYTHON_VERSION "`$PYTHON -c "import 
sys, distutils.sysconfig; 
sys.stdout.write(distutils.sysconfig.get_config_var('LIBS')+' 
'+distutils.sysconfig.get_config_var('SYSLIBS')+' 
'+distutils.sysconfig.get_config_var('LINKFORSHARED'))"`
+-                AC_MSG_CHECKING(for Python library)
+-                if test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.so"; then
+-                   PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
+-                   AC_MSG_RESULT(found)
+-                elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.a"; then
+-                   PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
+-                   AC_MSG_RESULT(found)
+-                elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.dll.a"; 
then
+-                   PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
+-                   AC_MSG_RESULT(found)
+-                elif test -r 
"$PYTHON_SYSPREFIX/lib/libpython$PYTHON_VERSION.so"; then
+-                   PYTHON_LFLAGS="-L$PYTHON_SYSPREFIX/lib/ $PYTHON_LFLAGS"
+-                   AC_MSG_RESULT(found)
+-                else
+-                    AC_MSG_WARN([
+-*** Python library couldn't be found on your system.
+-*** Try to install it with your software package manager.
+-*** WeeChat will be built without Python support.])
+-                    enable_python="no"
+-                    not_found="$not_found python"
+-                fi
++                PYTHON_LFLAGS=`pkg-config python2 --libs`
+             else
+                 AC_MSG_WARN([
+ *** Python header files couldn't be found on your system.
diff --git a/gnu/packages/weechat.scm b/gnu/packages/weechat.scm
index 27349ec..2142f56 100644
--- a/gnu/packages/weechat.scm
+++ b/gnu/packages/weechat.scm
@@ -20,6 +20,7 @@
 ;; TODO: Add ruby
 
 (define-module (gnu packages weechat)
+  #:use-module (gnu packages)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages base)
   #:use-module (gnu packages gettext)
@@ -52,7 +53,9 @@
               (uri (string-append "http://weechat.org/files/src/weechat-";
                                   version ".tar.gz"))
               (sha256
-               (base32 
"13b7dfs3sn71c51fi0bli5rzlsppil6gg1lzik3k8l43yhhqyv2w"))))
+               (base32
+                "13b7dfs3sn71c51fi0bli5rzlsppil6gg1lzik3k8l43yhhqyv2w"))
+              (patches (list (search-patch "weechat-python.patch")))))
     (build-system gnu-build-system)
     (native-inputs `(("autoconf" ,autoconf)
                      ("pkg-config" ,pkg-config)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]