From: Cyril Roelandt <tipecaml@gmail.com>
To: bug-guix@gnu.org
Subject: [PATCH] gnu: Python: fix the compilation of some modules from the standard library.
Date: Sun, 7 Apr 2013 16:11:49 +0200 [thread overview]
Message-ID: <1365343909-17627-1-git-send-email-tipecaml@gmail.com> (raw)
In-Reply-To: <87ppy71dyp.fsf@gnu.org>
This commit enables the bz2, dbm, readline, ssl and zlib modules.
* gnu/packages/gdbm.scm: Enable the compatibility mode.
* gnu/packages/python.scm: Enable a few modules from the standard library.
* gnu/packages/patches/python-fix-dbm.patch: New file.
* Makefile.am: Add it.
---
On 04/07/2013 12:39 AM, Ludovic Courtès wrote:
> Can you add a comment at the beginning of the patch stating what it
> does, and what its status is wrt. upstream?
This has been fixed upstream, and will be available in Python 2.7.4. Here is an
updated patch.
Cyril.
Makefile.am | 1 +
gnu/packages/gdbm.scm | 1 +
gnu/packages/patches/python-fix-dbm.patch | 20 +++++++++++++++++
gnu/packages/python.scm | 33 ++++++++++++++++++++++++++---
4 files changed, 52 insertions(+), 3 deletions(-)
create mode 100644 gnu/packages/patches/python-fix-dbm.patch
diff --git a/Makefile.am b/Makefile.am
index 136c01b..91de488 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -229,6 +229,7 @@ dist_patch_DATA = \
gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mcron-install.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
+ gnu/packages/patches/python-fix-dbm.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/qemu-multiple-smb-shares.patch \
gnu/packages/patches/readline-link-ncurses.patch \
diff --git a/gnu/packages/gdbm.scm b/gnu/packages/gdbm.scm
index 588b732..76733db 100644
--- a/gnu/packages/gdbm.scm
+++ b/gnu/packages/gdbm.scm
@@ -34,6 +34,7 @@
(sha256
(base32
"0h9lfzdjc2yl849y0byg51h6xfjg0y7vg9jnsw3gpfwlbd617y13"))))
+ (arguments `(#:configure-flags '("--enable-libgdbm-compat")))
(build-system gnu-build-system)
(home-page "http://www.gnu.org/software/gdbm/")
(synopsis "GNU dbm key/value database library")
diff --git a/gnu/packages/patches/python-fix-dbm.patch b/gnu/packages/patches/python-fix-dbm.patch
new file mode 100644
index 0000000..29e4521
--- /dev/null
+++ b/gnu/packages/patches/python-fix-dbm.patch
@@ -0,0 +1,20 @@
+This patch allows the dbm module to be built using the compatibility mode of
+gdbm. It will not be needed any more with Python 2.7.4.
+--- setup.py 2013-04-06 00:53:37.000000000 +0200
++++ setup.py.new 2013-04-06 19:55:05.000000000 +0200
+@@ -1158,10 +1158,14 @@
+ for cand in dbm_order:
+ if cand == "ndbm":
+ if find_file("ndbm.h", inc_dirs, []) is not None:
+- # Some systems have -lndbm, others don't
++ # Some systems have -lndbm, some have -lgdbm_compat,
++ # others have no particular linker flags.
+ if self.compiler.find_library_file(lib_dirs,
+ 'ndbm'):
+ ndbm_libs = ['ndbm']
++ elif self.compiler.find_library_file(lib_dirs,
++ 'gdbm_compat'):
++ ndbm_libs = ['gdbm_compat']
+ else:
+ ndbm_libs = []
+ print "building dbm using ndbm"
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 52b11e4..3f94164 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -19,7 +19,10 @@
(define-module (gnu packages python)
#:use-module ((guix licenses) #:select (psfl))
+ #:use-module (gnu packages)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages gdbm)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages openssl)
#:use-module (guix packages)
#:use-module (guix download)
@@ -38,11 +41,35 @@
(base32
"11f9aw855lrmknr6c82gm1ijr3n0smc6idyp94y7774yivjnplv1"))))
(build-system gnu-build-system)
- (arguments `(#:tests? #f)) ; XXX: some tests fail
+ (arguments
+ `(#:tests? #f ; XXX: some tests fail
+ #:patches (list (assoc-ref %build-inputs "patch-dbm"))
+ #:patch-flags '("-p0")
+ #:configure-flags
+ (let ((bz2 (assoc-ref %build-inputs "bzip2"))
+ (gdbm (assoc-ref %build-inputs "gdbm"))
+ (openssl (assoc-ref %build-inputs "openssl"))
+ (readline (assoc-ref %build-inputs "readline"))
+ (zlib (assoc-ref %build-inputs "zlib")))
+ (list (string-append "CPPFLAGS="
+ "-I" bz2 "/include "
+ "-I" gdbm "/include "
+ "-I" openssl "/include "
+ "-I" readline "/include "
+ "-I" zlib "/include")
+ (string-append "LDFLAGS="
+ "-L" bz2 "/lib "
+ "-L" gdbm "/lib "
+ "-L" openssl "/lib "
+ "-L" readline "/lib "
+ "-L" zlib "/lib")))))
(inputs
- `(("zlib" ,zlib)
+ `(("bzip2" ,bzip2)
+ ("gdbm" ,gdbm)
("openssl" ,openssl)
- ("bzip2" ,bzip2)))
+ ("readline" ,readline)
+ ("zlib" ,zlib)
+ ("patch-dbm" ,(search-patch "python-fix-dbm.patch"))))
(home-page "http://python.org")
(synopsis
"Python, a high-level dynamically-typed programming language")
--
1.7.10.4
next prev parent reply other threads:[~2013-04-07 14:23 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-02 14:32 Python: Zlib support Nikita Karetnikov
2013-04-02 18:25 ` Cyril Roelandt
2013-04-03 4:00 ` Nikita Karetnikov
2013-04-03 8:35 ` Ludovic Courtès
2013-04-03 21:33 ` [PATCH] gnu: Fix zlib support in Python Cyril Roelandt
2013-04-04 8:12 ` Nikita Karetnikov
2013-04-05 22:45 ` [PATCH] gnu: Python: fix the compilation of some modules from the standard library Cyril Roelandt
2013-04-06 14:09 ` Ludovic Courtès
2013-04-06 18:48 ` [PATCH] gnu: Python: enable the dbm module Cyril Roelandt
2013-04-06 22:39 ` Ludovic Courtès
2013-04-07 14:11 ` Cyril Roelandt [this message]
2013-04-07 14:29 ` [PATCH] gnu: Python: fix the compilation of some modules from the standard library Ludovic Courtès
2013-04-15 20:39 ` [PATCH] gnu: Python: bump to version 2.7.4 Cyril Roelandt
2013-04-15 21:47 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1365343909-17627-1-git-send-email-tipecaml@gmail.com \
--to=tipecaml@gmail.com \
--cc=bug-guix@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).