From b24d1cfc85cba1024d7396f3ad625c5fc3cf926b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 2 Sep 2013 21:48:50 +0200 Subject: gnu: python: Revert 77c7f8f4 and make Python 3 the default. * gnu/packages/python.scm (python-3): Rename this to... * gnu/packages/python.scm (python): ...this, rename this to... * gnu/packages/python.scm (python-2): ...this. --- gnu/packages/python.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 493068adde..0a3977aabb 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -31,7 +31,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python)) -(define-public python +(define-public python-2 (package (name "python") (version "2.7.5") @@ -151,8 +151,8 @@ packages; exception-based error handling; and very high level dynamic data types.") (license psfl))) -(define-public python-3 - (package (inherit python) +(define-public python + (package (inherit python-2) (version "3.3.2") (source (origin -- cgit v1.2.3 From 898238b9f5199aaebffa508f62a2a00854370048 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 3 Sep 2013 21:27:40 +0200 Subject: gnu: python: Add package python-wrapper. * gnu/packages/python.scm (python-wrapper): New variable. --- gnu/packages/python.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0a3977aabb..33082a6d94 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -29,7 +29,8 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (guix build-system python)) + #:use-module (guix build-system python) + #:use-module (guix build-system trivial)) (define-public python-2 (package @@ -167,6 +168,31 @@ data types.") (variable "PYTHONPATH") (directories '("lib/python3.3/site-packages"))))))) +(define-public python-wrapper + (package (inherit python) + (name "python-wrapper") + (source #f) + (build-system trivial-build-system) + (inputs `(("python" ,python))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((bin (string-append (assoc-ref %outputs "out") "/bin")) + (python (string-append (assoc-ref %build-inputs "python") "/bin/"))) + (mkdir-p bin) + (for-each + (lambda (old new) + (symlink (string-append python old) + (string-append bin "/" new))) + `("python3", "pydoc3", "idle3") + `("python", "pydoc", "idle")))))) + (description (string-append (package-description python) + "\n\nThis wrapper package provides symbolic links to the python binaries + without version suffix.")))) + + (define-public pytz (package (name "pytz") -- cgit v1.2.3 From ee3e314bb7ba376c7e8c95c3da1f64ba07d57847 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 3 Sep 2013 22:18:39 +0200 Subject: gnu: python: Replace input python by python-wrapper. * gnu/packages/{gdb.scm (gdb), cryptsetup.scm (cryptsetup), ghostscript.scm (ghostscript), glib.scm (glib), gnupg.scm (pius), gtk.scm (cairo, harfbuzz), libevent.scm (libevent), netpbm.scm (netpbm), oggvorbis.scm (libkate), qemu.scm (qemu), samba.scm (samba), texlive.scm (rubber, texlive), version-control.scm (subversion), xml.scm (libxml2, libxslt), xorg.scm (libxcb, mesa, xcb-proto, xorg-server), yasm.scm (yasm), zip.scm (zziplib)}: Replace input python by python-wrapper. --- gnu/packages/cryptsetup.scm | 2 +- gnu/packages/gdb.scm | 2 +- gnu/packages/ghostscript.scm | 2 +- gnu/packages/glib.scm | 2 +- gnu/packages/gnupg.scm | 2 +- gnu/packages/gtk.scm | 4 ++-- gnu/packages/libevent.scm | 2 +- gnu/packages/netpbm.scm | 2 +- gnu/packages/oggvorbis.scm | 2 +- gnu/packages/qemu.scm | 2 +- gnu/packages/samba.scm | 2 +- gnu/packages/texlive.scm | 4 ++-- gnu/packages/version-control.scm | 2 +- gnu/packages/xml.scm | 4 ++-- gnu/packages/xorg.scm | 8 ++++---- gnu/packages/yasm.scm | 2 +- gnu/packages/zip.scm | 2 +- 17 files changed, 23 insertions(+), 23 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm index c746e28721..8645e9e04a 100644 --- a/gnu/packages/cryptsetup.scm +++ b/gnu/packages/cryptsetup.scm @@ -45,7 +45,7 @@ `(("libgcrypt" ,libgcrypt) ("lvm2" ,lvm2) ("popt" ,popt) - ("python" ,python) + ("python" ,python-wrapper) ("util-linux" ,util-linux))) (synopsis "hard disk encryption tool") (description diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 4cf6b90cc3..5190283895 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -53,7 +53,7 @@ ("gmp" ,gmp) ("readline" ,readline) ("ncurses" ,ncurses) - ("python" ,python) + ("python" ,python-wrapper) ("texinfo" ,texinfo) ("dejagnu" ,dejagnu))) (home-page "http://www.gnu.org/software/gdb/") diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index dd6c576cdf..7df1f6c17e 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -136,7 +136,7 @@ printing, and psresize, for adjusting page sizes.") ("libtiff" ,libtiff) ("perl" ,perl) ("pkg-config" ,pkg-config) ; needed to find libtiff - ("python" ,python) + ("python" ,python-wrapper) ("tcl" ,tcl) ("zlib" ,zlib))) (arguments diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 63751bb510..72479f21e7 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -92,7 +92,7 @@ shared NFS home directories.") ("gettext" ,guix:gettext) ("libffi" ,libffi) ("pkg-config" ,pkg-config) - ("python" ,python) + ("python" ,python-wrapper) ("zlib" ,zlib) ("perl" ,perl) ; needed by GIO tests ("dbus" ,dbus) ; for GDBus tests diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 604ebc2941..7c0f50900a 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -191,7 +191,7 @@ S/MIME.") "1g1jly3wl4ks6h8ydkygyl2c4i7v3z91rg42005m6vm70y1d8b3d")))) (build-system gnu-build-system) (inputs `(("perl" ,perl) - ("python" ,python) + ("python" ,python-wrapper) ("gpg" ,gnupg))) (arguments `(#:tests? #f diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 742cbf172e..e72f7c5acc 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -83,7 +83,7 @@ tools have full access to view and control running applications.") ("libspectre" ,libspectre) ("pkg-config" ,pkg-config) ("poppler" ,poppler) - ("python" ,python) + ("python" ,python-wrapper) ("xextproto" ,xextproto) ("zlib" ,zlib))) (arguments @@ -123,7 +123,7 @@ affine transformation (scale, rotation, shear, etc.)") `(("cairo" ,cairo) ("icu4c" ,icu4c) ("pkg-config" ,pkg-config) - ("python" ,python))) + ("python" ,python-wrapper))) (synopsis "opentype text shaping engine") (description "HarfBuzz is an OpenType text shaping engine.") diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index ccca427fc4..8f2d5dad46 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -44,7 +44,7 @@ ;; Dependencies used for the tests and for `event_rpcgen.py'. ("which" ,which) - ("python" ,python))) + ("python" ,python-wrapper))) (arguments '(#:patches (list (assoc-ref %build-inputs "patch/dns-tests")))) (home-page "http://libevent.org/") diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm index d2213b8f0d..c8d3603701 100644 --- a/gnu/packages/netpbm.scm +++ b/gnu/packages/netpbm.scm @@ -57,7 +57,7 @@ ("libxml2" ,libxml2) ("perl" ,perl) ("pkg-config" ,pkg-config) - ("python" ,python) + ("python" ,python-wrapper) ("zlib" ,zlib))) (arguments `(#:phases diff --git a/gnu/packages/oggvorbis.scm b/gnu/packages/oggvorbis.scm index 2aa606ca22..589828be0a 100644 --- a/gnu/packages/oggvorbis.scm +++ b/gnu/packages/oggvorbis.scm @@ -191,7 +191,7 @@ meaning that audio is compressed in FLAC without any loss in quality.") ("libogg" ,libogg) ("libpng" ,libpng) ("pkg-config" ,pkg-config) - ("python" ,python) + ("python" ,python-wrapper) ("zlib" ,zlib))) (synopsis "kate, a karaoke and text codec for embedding in ogg") (description diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index 9c9355c4d6..2ca34ad9c7 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -94,7 +94,7 @@ `(;; ("mesa" ,mesa) ;; ("libaio" ,libaio) ("glib" ,glib) - ("python" ,python) + ("python" ,python-wrapper) ("ncurses" ,ncurses) ("libpng" ,libpng) ("libjpeg" ,libjpeg-8) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index b016442908..e0199bce90 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -150,7 +150,7 @@ anywhere.") ("patchelf" ,patchelf))) ; for (guix build rpath) (native-inputs ; for the test suite `(("perl" ,perl) - ("python" ,python))) + ("python" ,python-wrapper))) (home-page "http://www.samba.org/") (synopsis "The standard Windows interoperability suite of programs for GNU and Unix") diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index a0d57444e3..0240def785 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -81,7 +81,7 @@ ("pkg-config" ,pkg-config) ;; FIXME: Add interpreters fontforge and ruby, ;; once they are available. - ("python" ,python) + ("python" ,python-wrapper) ("tcsh" ,tcsh) ("teckit" ,teckit) ("t1lib" ,t1lib) @@ -202,7 +202,7 @@ world.") (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no `check' target (inputs `(("texinfo" ,texinfo) - ("python" ,python) + ("python" ,python-wrapper) ("which" ,which))) (home-page "https://launchpad.net/rubber") (synopsis "Rubber, a wrapper for LaTeX and friends") diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 14404f0bfe..ed64b460db 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -126,7 +126,7 @@ everything from small to very large projects with speed and efficiency.") `(("apr" ,apr) ("apr-util" ,apr-util) ("perl" ,perl) - ("python" ,python) + ("python" ,python-wrapper) ("sqlite" ,sqlite) ("zlib" ,zlib))) (home-page "http://subversion.apache.org/") diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 2f9d64b81a..5b031ac512 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -66,7 +66,7 @@ things the parser might find in the XML document (like start tags).") (home-page "http://www.xmlsoft.org/") (synopsis "libxml2, a C parser for XML") (inputs `(("perl" ,perl) - ("python" ,python) + ("python" ,python-wrapper) ("zlib" ,zlib))) (arguments `(#:phases @@ -102,7 +102,7 @@ things the parser might find in the XML document (like start tags).") (synopsis "libxslt, a C library for applying XSLT stylesheets to XML documents") (inputs `(("libgcrypt" ,libgcrypt) ("libxml2" ,libxml2) - ("python" ,python) + ("python" ,python-wrapper) ("zlib" ,zlib))) (description "Libxslt is an XSLT C library developed for the GNOME project. It is diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 5f07401e98..bc9e05fdb5 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1857,7 +1857,7 @@ tracking.") "0ds4qg6slidrzyz6q9ckq0a19hn6blzpnvciy4brh741gn49jpdd")))) (build-system gnu-build-system) (inputs - `(("pkg-config" ,pkg-config) ("python" ,python))) + `(("pkg-config" ,pkg-config) ("python" ,python-wrapper))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -4169,7 +4169,7 @@ tracking.") ("libxml2" ,libxml2) ("makedepend" ,makedepend) ("pkg-config" ,pkg-config) - ("python" ,python))) + ("python" ,python-wrapper))) (arguments `(#:configure-flags `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm @@ -4215,7 +4215,7 @@ emulation to complete hardware acceleration for modern GPUs.") `(("xcb-proto" ,xcb-proto) ("libxslt" ,libxslt) ("pkg-config" ,pkg-config) - ("python" ,python))) + ("python" ,python-wrapper))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -4270,7 +4270,7 @@ emulation to complete hardware acceleration for modern GPUs.") ("mesa" ,mesa) ("openssl" ,openssl) ("pkg-config" ,pkg-config) - ("python" ,python) + ("python" ,python-wrapper) ("recordproto" ,recordproto) ("resourceproto" ,resourceproto) ("scrnsaverproto" ,scrnsaverproto) diff --git a/gnu/packages/yasm.scm b/gnu/packages/yasm.scm index 51cd3ed0a5..a990d08174 100644 --- a/gnu/packages/yasm.scm +++ b/gnu/packages/yasm.scm @@ -40,7 +40,7 @@ "0cfg7ji3ia2in628w42wrfvw2ixmmm4rghwmv2k202mraysgm3vn")))) (build-system gnu-build-system) (inputs - `(("python" ,python) + `(("python" ,python-wrapper) ("xmlto" ,xmlto))) (home-page "http://yasm.tortall.net/") (synopsis "Rewrite of the NASM assembler") diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index 934acdc316..c419b08e9f 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -120,7 +120,7 @@ UnZip recreates the stored directory structure by default.") (build-system gnu-build-system) (inputs `(("perl" ,perl) ; for the documentation ("pkg-config" ,pkg-config) - ("python" ,python) ; for the documentation + ("python" ,python-wrapper) ; for the documentation ("zip" ,zip) ; to create test files ("zlib" ,zlib))) (arguments -- cgit v1.2.3 From 1611eccd106fa14e0161b7c562f3a09931ed97e1 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 18:35:49 +0200 Subject: gnu: bazaar: Switch back to Python 2. * gnu/packages/version-control.scm (bazaar): Switch back to Python 2. --- gnu/packages/version-control.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index ed64b460db..1b0e1bd6e0 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -58,7 +58,9 @@ ;; require Zsh. `(("gettext" ,guix:gettext))) (arguments - `(#:tests? #f)) ; no test target + `(#:tests? #f ; no test target + #:python ,python-2)) ; Python 3 apparently not yet supported, see + ; https://answers.launchpad.net/bzr/+question/229048 (home-page "https://gnu.org/software/bazaar") (synopsis "Decentralized revision control system") (description -- cgit v1.2.3 From 91da9ab009d11fac66814c14a202ec7c43de590e Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 18:40:54 +0200 Subject: gnu: zziplib: Switch back to Python 2. * gnu/packages/zip.scm (zziplib): Switch back to Python 2. --- gnu/packages/zip.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index c419b08e9f..f505d053c6 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -120,7 +120,8 @@ UnZip recreates the stored directory structure by default.") (build-system gnu-build-system) (inputs `(("perl" ,perl) ; for the documentation ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) ; for the documentation + ("python" ,python-2) ; for the documentation; Python 3 not supported, + ; http://forums.gentoo.org/viewtopic-t-863161-start-0.html ("zip" ,zip) ; to create test files ("zlib" ,zlib))) (arguments -- cgit v1.2.3 From f82cfaac716f2ffc15f56338b98b99d42fb0ef86 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 18:54:53 +0200 Subject: gnu: libxml2: Switch back to Python 2. * gnu/packages/xml.scm (libxml2): Switch back to Python 2. --- gnu/packages/xml.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 5b031ac512..28c99b1f8c 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -66,7 +66,7 @@ things the parser might find in the XML document (like start tags).") (home-page "http://www.xmlsoft.org/") (synopsis "libxml2, a C parser for XML") (inputs `(("perl" ,perl) - ("python" ,python-wrapper) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) ("zlib" ,zlib))) (arguments `(#:phases -- cgit v1.2.3 From 98e4829c4bda0b0a3bffad6ac6da8307f58ea5f9 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 19:03:14 +0200 Subject: gnu: mesa: Switch back to Python 2. * gnu/packages/xorg.scm (mesa): Switch back to Python 2. --- gnu/packages/xorg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index bc9e05fdb5..b7ce8ad8aa 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4169,7 +4169,7 @@ tracking.") ("libxml2" ,libxml2) ("makedepend" ,makedepend) ("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) + ("python" ,python-2))) ; incompatible with Python 3 (print syntax) (arguments `(#:configure-flags `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm -- cgit v1.2.3 From 9bee5d6c18de87493ed4596de8410bbb66360343 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 19:06:51 +0200 Subject: gnu: rubber: Switch back to Python 2. * gnu/packages/texlive.scm (rubber): Switch back to Python 2. --- gnu/packages/texlive.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index 0240def785..223d8e9e4d 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -202,7 +202,7 @@ world.") (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no `check' target (inputs `(("texinfo" ,texinfo) - ("python" ,python-wrapper) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) ("which" ,which))) (home-page "https://launchpad.net/rubber") (synopsis "Rubber, a wrapper for LaTeX and friends") -- cgit v1.2.3 From 78fed0648fe5e1db0ee302fc548755422c80359b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 19:09:39 +0200 Subject: gnu: texlive: Switch back to Python 2. * gnu/packages/texlive.scm (texlive): Switch back to Python 2. --- gnu/packages/texlive.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index 223d8e9e4d..7c6f82b9c9 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -81,7 +81,7 @@ ("pkg-config" ,pkg-config) ;; FIXME: Add interpreters fontforge and ruby, ;; once they are available. - ("python" ,python-wrapper) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) ("tcsh" ,tcsh) ("teckit" ,teckit) ("t1lib" ,t1lib) -- cgit v1.2.3 From 66ed0c314646c66d5f9ec586a8e5a1d079a927b0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 19:13:41 +0200 Subject: gnu: qemu: Switch back to Python 2. * gnu/packages/qemu.scm (qemu): Switch back to Python 2. --- gnu/packages/qemu.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index 2ca34ad9c7..6330fabcf9 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -94,7 +94,7 @@ `(;; ("mesa" ,mesa) ;; ("libaio" ,libaio) ("glib" ,glib) - ("python" ,python-wrapper) + ("python" ,python-2) ; incompatible with Python 3 according to error message ("ncurses" ,ncurses) ("libpng" ,libpng) ("libjpeg" ,libjpeg-8) -- cgit v1.2.3 From aa9e22efa38a88c2370591a3656b23f52d3bab64 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 19:17:19 +0200 Subject: gnu: subversion: Switch back to Python 2. * gnu/packages/version-control.scm (subversion): Switch back to Python 2. --- gnu/packages/version-control.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 1b0e1bd6e0..0ed6ce297a 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -128,7 +128,7 @@ everything from small to very large projects with speed and efficiency.") `(("apr" ,apr) ("apr-util" ,apr-util) ("perl" ,perl) - ("python" ,python-wrapper) + ("python" ,python-2) ; incompatible with Python 3 (print syntax) ("sqlite" ,sqlite) ("zlib" ,zlib))) (home-page "http://subversion.apache.org/") -- cgit v1.2.3 From 89114f39e4be7ac655fbdd7f00a5f985c8f4ce6b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 4 Sep 2013 22:12:33 +0200 Subject: gnu: python: Implement the python naming scheme for pytz and babel. * gnu/packages/python.scm (pytz): Rename this ... * gnu/packages/python.scm (python-pytz): ... to this * gnu/packages/python.scm (python2-pytz): New variable, input python-2. * gnu/packages/python.scm (babel): Rename this ... * gnu/packages/python.scm (python-babel): ... to this * gnu/packages/python.scm (python2-babel): New variable, input python-2. --- gnu/packages/python.scm | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 33082a6d94..a4007d963b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -193,9 +193,9 @@ data types.") without version suffix.")))) -(define-public pytz +(define-public python-pytz (package - (name "pytz") + (name "python-pytz") (version "2013b") (source (origin @@ -213,9 +213,14 @@ data types.") using Python 2.4 or higher and provides access to the Olson timezone database.") (license x11))) -(define-public babel +(define-public python2-pytz + (package (inherit python-pytz) + (name "python2-pytz") + (arguments `(#:python ,python-2)))) + +(define-public python-babel (package - (name "babel") + (name "python-babel") (version "0.9.6") (source (origin @@ -227,7 +232,7 @@ using Python 2.4 or higher and provides access to the Olson timezone database.") "03vmr54jq5vf3qw6kpdv7cdk7x7i2jhzyf1mawv2gk8zrxg0hfja")))) (build-system python-build-system) (inputs - `(("pytz" ,pytz))) + `(("python-pytz" ,python-pytz))) (home-page "http://babel.edgewall.org/") (synopsis "Tools for internationalizing Python applications") @@ -238,3 +243,10 @@ using Python 2.4 or higher and provides access to the Olson timezone database.") access to various locale display names, localized number and date formatting, etc. ") (license bsd-3))) + +(define-public python2-babel + (package (inherit python-babel) + (name "python2-babel") + (inputs + `(("python2-pytz" ,python2-pytz))) + (arguments `(#:python ,python-2)))) -- cgit v1.2.3 From d1f30e9943bf59fa0eefe40bb9aea64df2e7a594 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 5 Sep 2013 18:13:23 +0200 Subject: gnu: git: Switch back to Python 2. * gnu/packages/version-control.scm (git): Switch back to Python 2. --- gnu/packages/version-control.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 0ed6ce297a..42b5d5fe99 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -88,7 +88,7 @@ from a command line or use a GUI application.") ("gettext" ,guix:gettext) ("openssl" ,openssl) ("perl" ,perl) - ("python" ,python) ; CAVEAT: incompatible with python-3 according to INSTALL + ("python" ,python-2) ; CAVEAT: incompatible with python-3 according to INSTALL ("zlib" ,zlib))) (arguments `(#:make-flags `("V=1") ; more verbose compilation -- cgit v1.2.3 From 8498b8cfac1ef63f706b0094289a3e300c8846c0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 5 Sep 2013 18:55:27 +0200 Subject: gnu: python: Disable tests in pytz and babel. * gnu/packages/python.scm (python-pytz, python-babel): Disable tests. --- gnu/packages/python.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a4007d963b..4baef78e7b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -206,6 +206,7 @@ data types.") (base32 "19giwgfcrg0nr1gdv49qnmf2jb2ilkcfc7qyqvfpz4dp0p64ksv5")))) (build-system python-build-system) + (arguments `(#:tests? #f)) ; no test target (home-page "https://launchpad.net/pytz") (synopsis "The Python timezone library.") (description @@ -233,6 +234,7 @@ using Python 2.4 or higher and provides access to the Olson timezone database.") (build-system python-build-system) (inputs `(("python-pytz" ,python-pytz))) + (arguments `(#:tests? #f)) ; no test target (home-page "http://babel.edgewall.org/") (synopsis "Tools for internationalizing Python applications") -- cgit v1.2.3 From 49b90a7539f69c2ac6a86697f3b9c631a3ceca15 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 5 Sep 2013 19:07:28 +0200 Subject: gnu: python: Disable tests in python2-pytz and python2-babel. * gnu/packages/python.scm (python2-pytz, python2-babel): Disable tests. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 4baef78e7b..ce89281e26 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -217,7 +217,7 @@ using Python 2.4 or higher and provides access to the Olson timezone database.") (define-public python2-pytz (package (inherit python-pytz) (name "python2-pytz") - (arguments `(#:python ,python-2)))) + (arguments (append (package-arguments python-pytz) `(#:python ,python-2))))) (define-public python-babel (package @@ -251,4 +251,4 @@ etc. ") (name "python2-babel") (inputs `(("python2-pytz" ,python2-pytz))) - (arguments `(#:python ,python-2)))) + (arguments (append (package-arguments python-babel) `(#:python ,python-2))))) -- cgit v1.2.3 From 11bb85a10d4a84dab7fdfaaaf7012b743ce7a09f Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 8 Sep 2013 16:57:37 +0200 Subject: guix: python: Add package-with-python2, a procedure rewriting a package to compile with Python 2 instead of the default Python 3. * guix/build-system/python.scm (default-python2, package-with-explicit-python, package-with-python2): New procedures. * guix/build-system/python.scm (python2-pytz, python2-babel): Use package-with-python2. --- gnu/packages/python.scm | 11 +++------ guix/build-system/python.scm | 54 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 56 insertions(+), 9 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ce89281e26..3ff4da2149 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -28,6 +28,7 @@ #:use-module (gnu packages patchelf) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system trivial)) @@ -215,9 +216,7 @@ using Python 2.4 or higher and provides access to the Olson timezone database.") (license x11))) (define-public python2-pytz - (package (inherit python-pytz) - (name "python2-pytz") - (arguments (append (package-arguments python-pytz) `(#:python ,python-2))))) + (package-with-python2 python-pytz)) (define-public python-babel (package @@ -247,8 +246,4 @@ etc. ") (license bsd-3))) (define-public python2-babel - (package (inherit python-babel) - (name "python2-babel") - (inputs - `(("python2-pytz" ,python2-pytz))) - (arguments (append (package-arguments python-babel) `(#:python ,python-2))))) + (package-with-python2 python-babel)) diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index 7ac93b296b..d120cc9cc3 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; ;;; This file is part of GNU Guix. @@ -25,7 +26,9 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (ice-9 match) - #:export (python-build + #:use-module (srfi srfi-26) + #:export (package-with-python2 + python-build python-build-system)) ;; Commentary: @@ -41,6 +44,55 @@ (let ((python (resolve-interface '(gnu packages python)))) (module-ref python 'python-wrapper))) +(define (default-python2) + "Return the default Python 2 package." + (let ((python (resolve-interface '(gnu packages python)))) + (module-ref python 'python-2))) + +(define (package-with-explicit-python p python old-prefix new-prefix) + "Create a package with the same fields as P, which is assumed to use +PYTHON-BUILD-SYSTEM, such that it is compiled with PYTHON instead. The +inputs are changed recursively accordingly. If the name of P starts with +OLD-PREFIX, this is replaced by NEW-PREFIX; otherwise, NEW-PREFIX is +prepended to the name." + (let* ((build-system (package-build-system p)) + (rewrite-if-package + (lambda (content) + ;; CONTENT may be a string (e.g., for patches), in which case it + ;; is returned, or a package, which is rewritten with the new + ;; PYTHON and NEW-PREFIX. + (if (package? content) + (package-with-explicit-python content python + old-prefix new-prefix) + content))) + (rewrite + (match-lambda + ((name content . rest) + (append (list name (rewrite-if-package content)) rest))))) + (package (inherit p) + (name + (let ((name (package-name p))) + (if (eq? build-system python-build-system) + (string-append new-prefix + (if (string-prefix? old-prefix name) + (substring name (string-length old-prefix)) + name)) + name))) + (arguments + (let ((arguments (package-arguments p))) + (if (eq? build-system python-build-system) + (if (member #:python arguments) + (substitute-keyword-arguments arguments ((#:python p) python)) + (append arguments `(#:python ,python))) + arguments))) + (inputs + (map rewrite (package-inputs p))) + (native-inputs + (map rewrite (package-native-inputs p)))))) + +(define package-with-python2 + (cut package-with-explicit-python <> (default-python2) "python-" "python2-")) + (define* (python-build store name source inputs #:key (python (default-python)) -- cgit v1.2.3 From 590a4904d28e8cd6cbee404b66ce7a475713ca28 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 10 Sep 2013 19:05:43 +0200 Subject: gnu: isl: Update urls. * gnu/packages/gcc.scm (isl): Update source and home page url. --- gnu/packages/gcc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 571526ebdf..c1a2ce61c5 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -221,7 +221,7 @@ used in the GNU system including the GNU/Linux variant.") (source (origin (method url-fetch) (uri (list (string-append - "ftp://ftp.linux.student.kuleuven.be/pub/people/skimo/isl/isl-" + "http://isl.gforge.inria.fr/isl-" version ".tar.bz2") (string-append %gcc-infrastructure @@ -231,7 +231,7 @@ used in the GNU system including the GNU/Linux variant.") "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp))) - (home-page "http://www.kotnet.org/~skimo/isl/") + (home-page "http://isl.gforge.inria.fr/") (synopsis "A library for manipulating sets and relations of integer points bounded by linear constraints") -- cgit v1.2.3 From 73adf220370e12b8788d47ea22ee1975cb9bc752 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 10 Sep 2013 21:08:12 +0200 Subject: gnu: Add python-setuptools, python2-setuptools. * gnu/packages/python.scm (python-setuptools, python2-setuptools): New variables. --- gnu/packages/python.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3ff4da2149..8f65852630 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -247,3 +247,53 @@ etc. ") (define-public python2-babel (package-with-python2 python-babel)) + +(define-public python-setuptools + (package + (name "python-setuptools") + (version "1.1.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/s/setuptools/setuptools-" + version ".tar.gz")) + (sha256 + (base32 + "0hl9sa5xr9bi2ifq51wy1bawsjv5nzvpbac7m9z1ciz778874csf")))) + (build-system python-build-system) + (arguments + `(#:tests? #f + ;;FIXME: test_sdist_with_utf8_encoded_filename fails in + ;; /tmp/nix-build-python2-setuptools-1.1.4.drv-0/setuptools-1.1.4/setuptools/tests/test_sdist.py" + ;; line 354 + ;; The tests pass with Python 2.7.5. + #:phases + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (let* ((install (assoc-ref %standard-phases 'install)) + (out (assoc-ref outputs "out")) + (python (assoc-ref %build-inputs "python")) + (python-version (string-take (string-take-right python 5) 3)) + (path (string-append out "/lib/python" python-version + "/site-packages/"))) + (mkdir-p path) + (setenv "PYTHONPATH" path) + (apply install args))) + %standard-phases))) + (home-page "https://pypi.python.org/pypi/setuptools") + (synopsis + "Library designed to facilitate packaging Python projects") + (description + "Setuptools is a fully-featured, stable library designed to facilitate +packaging Python projects, where packaging includes: +Python package and module definitions, +distribution package metadata, +test hooks, +project installation, +platform-specific details, +Python 3 support.") + (license psfl))) + +(define-public python2-setuptools + (package-with-python2 python-setuptools)) -- cgit v1.2.3 From c84d0eca053cd524294ad10c1f49a877902932c4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 Sep 2013 00:22:45 +0200 Subject: gnu: linux-pam: Add declarative PAM service interface. * gnu/packages/linux.scm (, ): New record types. (pam-service->configuration, pam-services->directory, unix-pam-service): New procedures. (%pam-other-services): New variable. --- gnu/packages/linux.scm | 128 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 127 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b5ed92e198..a479d791b6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -32,7 +32,18 @@ #:use-module (gnu packages algebra) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix store) + #:use-module (guix derivations) + #:use-module (guix records) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match) + #:export (pam-service + pam-entry + pam-services->directory + %pam-other-services + unix-pam-service)) (define-public (system->linux-architecture arch) "Return the Linux architecture name for ARCH, a Guix system name such as @@ -214,6 +225,11 @@ (license gpl2) (home-page "http://www.gnu.org/software/linux-libre/")))) + +;;; +;;; Pluggable authentication modules (PAM). +;;; + (define-public linux-pam (package (name "linux-pam") @@ -255,6 +271,116 @@ be used through the PAM API to perform tasks, like authenticating a user at login. Local and dynamic reconfiguration are its key features") (license bsd-3))) +;; PAM services (see +;; .) +(define-record-type* pam-service + make-pam-service + pam-service? + (name pam-service-name) ; string + + ;; The four "management groups". + (account pam-service-account ; list of + (default '())) + (auth pam-service-auth + (default '())) + (password pam-service-password + (default '())) + (session pam-service-session + (default '()))) + +(define-record-type* pam-entry + make-pam-entry + pam-entry? + (control pam-entry-control) ; string + (module pam-entry-module) ; file name + (arguments pam-entry-arguments ; list of strings + (default '()))) + +(define (pam-service->configuration service) + "Return the configuration string for SERVICE, to be dumped in +/etc/pam.d/NAME, where NAME is the name of SERVICE." + (define (entry->string type entry) + (match entry + (($ control module (arguments ...)) + (string-append type " " + control " " module " " + (string-join arguments) + "\n")))) + + (match service + (($ name account auth password session) + (string-concatenate + (append (map (cut entry->string "account" <>) account) + (map (cut entry->string "auth" <>) auth) + (map (cut entry->string "password" <>) password) + (map (cut entry->string "session" <>) session)))))) + +(define (pam-services->directory store services) + "Return the derivation to build the configuration directory to be used as +/etc/pam.d for SERVICES." + (let ((names (map pam-service-name services)) + (files (map (match-lambda + ((and service ($ name)) + (let ((config (pam-service->configuration service))) + (add-text-to-store store + (string-append name ".pam") + config '())))) + services))) + (define builder + '(begin + (use-modules (ice-9 match)) + + (let ((out (assoc-ref %outputs "out"))) + (mkdir out) + (for-each (match-lambda + ((name . file) + (symlink file (string-append out "/" name)))) + %build-inputs) + #t))) + + (build-expression->derivation store "pam.d" (%current-system) + builder + (zip names files)))) + +(define %pam-other-services + ;; The "other" PAM configuration, which denies everything (see + ;; .) + (let ((deny (pam-entry + (control "required") + (module "pam_deny.so")))) + (pam-service + (name "other") + (account (list deny)) + (auth (list deny)) + (password (list deny)) + (session (list deny))))) + +(define unix-pam-service + (let ((unix (pam-entry + (control "required") + (module "pam_unix.so")))) + (lambda* (name #:key allow-empty-passwords?) + "Return a standard Unix-style PAM service for NAME. When +ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords." + ;; See . + (let ((name* name)) + (pam-service + (name name*) + (account (list unix)) + (auth (list (if allow-empty-passwords? + (pam-entry + (control "required") + (module "pam_unix.so") + (arguments '("nullok"))) + unix))) + (password (list unix)) + (session (list unix))))))) + + +;;; +;;; Miscellaneous. +;;; + (define-public psmisc (package (name "psmisc") -- cgit v1.2.3 From e0ba5fe5abb44bbd17cb62dfd5909e7627160ef2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 Sep 2013 00:51:31 +0200 Subject: gnu: linux-initrd: Fix typo. * gnu/packages/linux-initrd.scm (gnu-system-initrd): Add missing argument to 'format' call. --- gnu/packages/linux-initrd.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/linux-initrd.scm b/gnu/packages/linux-initrd.scm index 6dd2a10e53..b62843aadd 100644 --- a/gnu/packages/linux-initrd.scm +++ b/gnu/packages/linux-initrd.scm @@ -386,7 +386,8 @@ the Linux kernel.") (chroot "/root") (primitive-load to-load) (format (current-error-port) - "boot program '~a' terminated, rebooting~%") + "boot program '~a' terminated, rebooting~%" + to-load) (sleep 2) (reboot)) (begin -- cgit v1.2.3 From 824af8cadc1b4f1ac7a859f3d18cbe69b195a844 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 11 Sep 2013 15:47:34 +0200 Subject: guix: python: Create module installation path and add it to PYTHONPATH during the installation phase. * guix/build/python-build-system.scm (get-python-version): New procedure. * guix/build/python-build-system.scm (install): Create and add path. * gnu/packages/python.scm (python-setuptools): Drop path creation code. --- gnu/packages/python.scm | 16 +--------------- guix/build/python-build-system.scm | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 19 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 8f65852630..55d23e45e8 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -262,25 +262,11 @@ etc. ") "0hl9sa5xr9bi2ifq51wy1bawsjv5nzvpbac7m9z1ciz778874csf")))) (build-system python-build-system) (arguments - `(#:tests? #f + `(#:tests? #f)) ;;FIXME: test_sdist_with_utf8_encoded_filename fails in ;; /tmp/nix-build-python2-setuptools-1.1.4.drv-0/setuptools-1.1.4/setuptools/tests/test_sdist.py" ;; line 354 ;; The tests pass with Python 2.7.5. - #:phases - (alist-replace - 'install - (lambda* (#:key outputs #:allow-other-keys #:rest args) - (let* ((install (assoc-ref %standard-phases 'install)) - (out (assoc-ref outputs "out")) - (python (assoc-ref %build-inputs "python")) - (python-version (string-take (string-take-right python 5) 3)) - (path (string-append out "/lib/python" python-version - "/site-packages/"))) - (mkdir-p path) - (setenv "PYTHONPATH" path) - (apply install args))) - %standard-phases))) (home-page "https://pypi.python.org/pypi/setuptools") (synopsis "Library designed to facilitate packaging Python projects") diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm index f213a97f01..0bb8c4d49d 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm @@ -54,12 +54,27 @@ (call-setuppy test-target '()) #t)) -(define* (install #:key outputs (configure-flags '()) +(define (get-python-version python) + (string-take (string-take-right python 5) 3)) + +(define* (install #:key outputs inputs (configure-flags '()) #:allow-other-keys) "Install a given Python package." (let* ((out (assoc-ref outputs "out")) (params (append (list (string-append "--prefix=" out)) - configure-flags))) + configure-flags)) + (python-version (get-python-version (assoc-ref inputs "python"))) + (old-path (getenv "PYTHONPATH")) + (add-path (string-append out "/lib/python" python-version + "/site-packages/"))) + ;; create the module installation directory and add it to PYTHONPATH + ;; to make setuptools happy + (mkdir-p add-path) + (setenv "PYTHONPATH" + (string-append (if old-path + (string-append old-path ":") + "") + add-path)) (call-setuppy "install" params))) (define* (wrap #:key inputs outputs #:allow-other-keys) @@ -79,10 +94,10 @@ (let* ((out (assoc-ref outputs "out")) (python (assoc-ref inputs "python")) - (python-version (string-take (string-take-right python 5) 3)) (var `("PYTHONPATH" prefix ,(cons (string-append out "/lib/python" - python-version "/site-packages") + (get-python-version python) + "/site-packages") (search-path-as-string->list (or (getenv "PYTHONPATH") "")))))) (for-each (lambda (dir) -- cgit v1.2.3 From fc50e9c69425c74b4367feb46b83cc28aeb178c2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 11 Sep 2013 15:51:13 +0200 Subject: gnu: Add python-dateutil, python2-dateutil. * gnu/packages/python.scm (python-dateutil, python2-dateutil): New variables. --- gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 55d23e45e8..b50a893e1d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -218,6 +218,7 @@ using Python 2.4 or higher and provides access to the Olson timezone database.") (define-public python2-pytz (package-with-python2 python-pytz)) + (define-public python-babel (package (name "python-babel") @@ -248,6 +249,7 @@ etc. ") (define-public python2-babel (package-with-python2 python-babel)) + (define-public python-setuptools (package (name "python-setuptools") @@ -283,3 +285,30 @@ Python 3 support.") (define-public python2-setuptools (package-with-python2 python-setuptools)) + + +(define-public python-dateutil + (package + (name "python-dateutil") + (version "1.5") ; last version for python < 3 + (source + (origin + (method url-fetch) + (uri (string-append "http://labix.org/download/python-dateutil/python-dateutil-" + version ".tar.gz")) + (sha256 + (base32 + "0fqfglhy5khbvsipr3x7m6bcaqljh8xl5cw33vbfxy7qhmywm2n0")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "http://labix.org/python-dateutil") + (synopsis + "Extensions to the standard datetime module, available in Python 2.3+") + (description + "The dateutil module provides powerful extensions to the standard +datetime module, available in Python 2.3+.") + (license psfl))) + +(define-public python2-dateutil + (package-with-python2 python-dateutil)) -- cgit v1.2.3 From 0ded70f37d47579ca058f2f4ca27335129a96e25 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 Sep 2013 22:36:50 +0200 Subject: gnu: Move helper code to (gnu system …) modules. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/grub.scm (, grub-configuration-file): Move to... * gnu/system/grub.scm: ... here. New file. * gnu/packages/linux.scm (, , pam-service->configuration, pam-service->directory, %pam-other-services, unix-pam-service): Move to... * gnu/system/linux.scm: ... here. New file. * gnu/system/vm.scm (passwd-file): Move to... * gnu/system/shadow.scm: ... here. New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/system/{grub,linux,shadow}.scm. --- gnu-system.am | 4 ++ gnu/packages/grub.scm | 62 +-------------------- gnu/packages/linux.scm | 118 +--------------------------------------- gnu/system/grub.scm | 84 ++++++++++++++++++++++++++++ gnu/system/linux.scm | 145 +++++++++++++++++++++++++++++++++++++++++++++++++ gnu/system/shadow.scm | 57 +++++++++++++++++++ gnu/system/vm.scm | 33 ++--------- 7 files changed, 298 insertions(+), 205 deletions(-) create mode 100644 gnu/system/grub.scm create mode 100644 gnu/system/linux.scm create mode 100644 gnu/system/shadow.scm (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index a5000bcdfe..d88f6bf4e8 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -179,6 +179,10 @@ GNU_SYSTEM_MODULES = \ gnu/packages/yasm.scm \ gnu/packages/zile.scm \ gnu/packages/zip.scm \ + \ + gnu/system/grub.scm \ + gnu/system/linux.scm \ + gnu/system/shadow.scm \ gnu/system/vm.scm patchdir = $(guilemoduledir)/gnu/packages/patches diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index 71c4fad781..8c981bf88d 100644 --- a/gnu/packages/grub.scm +++ b/gnu/packages/grub.scm @@ -19,9 +19,6 @@ (define-module (gnu packages grub) #:use-module (guix download) #:use-module (guix packages) - #:use-module (guix records) - #:use-module (guix store) - #:use-module (guix derivations) #:use-module ((guix licenses) #:select (gpl3+)) #:use-module (guix build-system gnu) #:use-module (gnu packages) @@ -33,11 +30,7 @@ #:use-module (gnu packages qemu) #:use-module (gnu packages ncurses) #:use-module (gnu packages cdrom) - #:use-module (srfi srfi-1) - #:use-module (ice-9 match) - #:export (menu-entry - menu-entry? - grub-configuration-file)) + #:use-module (srfi srfi-1)) (define qemu-for-tests ;; Newer QEMU versions, such as 1.5.1, no longer support the 'shutdown' @@ -117,56 +110,3 @@ computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g., GNU).") (license gpl3+))) - - -;;; -;;; Configuration. -;;; - -(define-record-type* - menu-entry make-menu-entry - menu-entry? - (label menu-entry-label) - (linux menu-entry-linux) - (linux-arguments menu-entry-linux-arguments - (default '())) - (initrd menu-entry-initrd)) - -(define* (grub-configuration-file store entries - #:key (default-entry 1) (timeout 5) - (system (%current-system))) - "Return the GRUB configuration file in STORE for ENTRIES, a list of - objects, defaulting to DEFAULT-ENTRY and with the given TIMEOUT." - (define prologue - (format #f " -set default=~a -set timeout=~a -search.file ~a~%" - default-entry timeout - (any (match-lambda - (($ _ linux) - (let* ((drv (package-derivation store linux system)) - (out (derivation-path->output-path drv))) - (string-append out "/bzImage")))) - entries))) - - (define entry->text - (match-lambda - (($ label linux arguments initrd) - (let ((linux-drv (package-derivation store linux system)) - (initrd-drv (package-derivation store initrd system))) - ;; XXX: Assume that INITRD is a directory containing an 'initrd' file. - (format #f "menuentry ~s { - linux ~a/bzImage ~a - initrd ~a/initrd -}~%" - label - (derivation-path->output-path linux-drv) - (string-join arguments) - (derivation-path->output-path initrd-drv)))))) - - (add-text-to-store store "grub.cfg" - (string-append prologue - (string-concatenate - (map entry->text entries))) - '())) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a479d791b6..38bff72933 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -32,18 +32,7 @@ #:use-module (gnu packages algebra) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix store) - #:use-module (guix derivations) - #:use-module (guix records) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26) - #:use-module (ice-9 match) - #:export (pam-service - pam-entry - pam-services->directory - %pam-other-services - unix-pam-service)) + #:use-module (guix build-system gnu)) (define-public (system->linux-architecture arch) "Return the Linux architecture name for ARCH, a Guix system name such as @@ -271,111 +260,6 @@ be used through the PAM API to perform tasks, like authenticating a user at login. Local and dynamic reconfiguration are its key features") (license bsd-3))) -;; PAM services (see -;; .) -(define-record-type* pam-service - make-pam-service - pam-service? - (name pam-service-name) ; string - - ;; The four "management groups". - (account pam-service-account ; list of - (default '())) - (auth pam-service-auth - (default '())) - (password pam-service-password - (default '())) - (session pam-service-session - (default '()))) - -(define-record-type* pam-entry - make-pam-entry - pam-entry? - (control pam-entry-control) ; string - (module pam-entry-module) ; file name - (arguments pam-entry-arguments ; list of strings - (default '()))) - -(define (pam-service->configuration service) - "Return the configuration string for SERVICE, to be dumped in -/etc/pam.d/NAME, where NAME is the name of SERVICE." - (define (entry->string type entry) - (match entry - (($ control module (arguments ...)) - (string-append type " " - control " " module " " - (string-join arguments) - "\n")))) - - (match service - (($ name account auth password session) - (string-concatenate - (append (map (cut entry->string "account" <>) account) - (map (cut entry->string "auth" <>) auth) - (map (cut entry->string "password" <>) password) - (map (cut entry->string "session" <>) session)))))) - -(define (pam-services->directory store services) - "Return the derivation to build the configuration directory to be used as -/etc/pam.d for SERVICES." - (let ((names (map pam-service-name services)) - (files (map (match-lambda - ((and service ($ name)) - (let ((config (pam-service->configuration service))) - (add-text-to-store store - (string-append name ".pam") - config '())))) - services))) - (define builder - '(begin - (use-modules (ice-9 match)) - - (let ((out (assoc-ref %outputs "out"))) - (mkdir out) - (for-each (match-lambda - ((name . file) - (symlink file (string-append out "/" name)))) - %build-inputs) - #t))) - - (build-expression->derivation store "pam.d" (%current-system) - builder - (zip names files)))) - -(define %pam-other-services - ;; The "other" PAM configuration, which denies everything (see - ;; .) - (let ((deny (pam-entry - (control "required") - (module "pam_deny.so")))) - (pam-service - (name "other") - (account (list deny)) - (auth (list deny)) - (password (list deny)) - (session (list deny))))) - -(define unix-pam-service - (let ((unix (pam-entry - (control "required") - (module "pam_unix.so")))) - (lambda* (name #:key allow-empty-passwords?) - "Return a standard Unix-style PAM service for NAME. When -ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords." - ;; See . - (let ((name* name)) - (pam-service - (name name*) - (account (list unix)) - (auth (list (if allow-empty-passwords? - (pam-entry - (control "required") - (module "pam_unix.so") - (arguments '("nullok"))) - unix))) - (password (list unix)) - (session (list unix))))))) - ;;; ;;; Miscellaneous. diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm new file mode 100644 index 0000000000..695a044bfa --- /dev/null +++ b/gnu/system/grub.scm @@ -0,0 +1,84 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu system grub) + #:use-module (guix store) + #:use-module (guix packages) + #:use-module (guix derivations) + #:use-module (guix records) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (menu-entry + menu-entry? + grub-configuration-file)) + +;;; Commentary: +;;; +;;; Configuration of GNU GRUB. +;;; +;;; Code: + +(define-record-type* + menu-entry make-menu-entry + menu-entry? + (label menu-entry-label) + (linux menu-entry-linux) + (linux-arguments menu-entry-linux-arguments + (default '())) + (initrd menu-entry-initrd)) + +(define* (grub-configuration-file store entries + #:key (default-entry 1) (timeout 5) + (system (%current-system))) + "Return the GRUB configuration file in STORE for ENTRIES, a list of + objects, defaulting to DEFAULT-ENTRY and with the given TIMEOUT." + (define prologue + (format #f " +set default=~a +set timeout=~a +search.file ~a~%" + default-entry timeout + (any (match-lambda + (($ _ linux) + (let* ((drv (package-derivation store linux system)) + (out (derivation-path->output-path drv))) + (string-append out "/bzImage")))) + entries))) + + (define entry->text + (match-lambda + (($ label linux arguments initrd) + (let ((linux-drv (package-derivation store linux system)) + (initrd-drv (package-derivation store initrd system))) + ;; XXX: Assume that INITRD is a directory containing an 'initrd' file. + (format #f "menuentry ~s { + linux ~a/bzImage ~a + initrd ~a/initrd +}~%" + label + (derivation-path->output-path linux-drv) + (string-join arguments) + (derivation-path->output-path initrd-drv)))))) + + (add-text-to-store store "grub.cfg" + (string-append prologue + (string-concatenate + (map entry->text entries))) + '())) + +;;; grub.scm ends here diff --git a/gnu/system/linux.scm b/gnu/system/linux.scm new file mode 100644 index 0000000000..b2daa13e06 --- /dev/null +++ b/gnu/system/linux.scm @@ -0,0 +1,145 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu system linux) + #:use-module (guix store) + #:use-module (guix records) + #:use-module (guix derivations) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module ((guix utils) #:select (%current-system)) + #:export (pam-service + pam-entry + pam-services->directory + %pam-other-services + unix-pam-service)) + +;;; Commentary: +;;; +;;; Configuration of Linux-related things, including pluggable authentication +;;; modules (PAM). +;;; +;;; Code: + +;; PAM services (see +;; .) +(define-record-type* pam-service + make-pam-service + pam-service? + (name pam-service-name) ; string + + ;; The four "management groups". + (account pam-service-account ; list of + (default '())) + (auth pam-service-auth + (default '())) + (password pam-service-password + (default '())) + (session pam-service-session + (default '()))) + +(define-record-type* pam-entry + make-pam-entry + pam-entry? + (control pam-entry-control) ; string + (module pam-entry-module) ; file name + (arguments pam-entry-arguments ; list of strings + (default '()))) + +(define (pam-service->configuration service) + "Return the configuration string for SERVICE, to be dumped in +/etc/pam.d/NAME, where NAME is the name of SERVICE." + (define (entry->string type entry) + (match entry + (($ control module (arguments ...)) + (string-append type " " + control " " module " " + (string-join arguments) + "\n")))) + + (match service + (($ name account auth password session) + (string-concatenate + (append (map (cut entry->string "account" <>) account) + (map (cut entry->string "auth" <>) auth) + (map (cut entry->string "password" <>) password) + (map (cut entry->string "session" <>) session)))))) + +(define (pam-services->directory store services) + "Return the derivation to build the configuration directory to be used as +/etc/pam.d for SERVICES." + (let ((names (map pam-service-name services)) + (files (map (match-lambda + ((and service ($ name)) + (let ((config (pam-service->configuration service))) + (add-text-to-store store + (string-append name ".pam") + config '())))) + services))) + (define builder + '(begin + (use-modules (ice-9 match)) + + (let ((out (assoc-ref %outputs "out"))) + (mkdir out) + (for-each (match-lambda + ((name . file) + (symlink file (string-append out "/" name)))) + %build-inputs) + #t))) + + (build-expression->derivation store "pam.d" (%current-system) + builder + (zip names files)))) + +(define %pam-other-services + ;; The "other" PAM configuration, which denies everything (see + ;; .) + (let ((deny (pam-entry + (control "required") + (module "pam_deny.so")))) + (pam-service + (name "other") + (account (list deny)) + (auth (list deny)) + (password (list deny)) + (session (list deny))))) + +(define unix-pam-service + (let ((unix (pam-entry + (control "required") + (module "pam_unix.so")))) + (lambda* (name #:key allow-empty-passwords?) + "Return a standard Unix-style PAM service for NAME. When +ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords." + ;; See . + (let ((name* name)) + (pam-service + (name name*) + (account (list unix)) + (auth (list (if allow-empty-passwords? + (pam-entry + (control "required") + (module "pam_unix.so") + (arguments '("nullok"))) + unix))) + (password (list unix)) + (session (list unix))))))) + +;;; linux.scm ends here diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm new file mode 100644 index 0000000000..71f8e0d771 --- /dev/null +++ b/gnu/system/shadow.scm @@ -0,0 +1,57 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu system shadow) + #:use-module (guix store) + #:use-module (ice-9 match) + #:export (passwd-file)) + +;;; Commentary: +;;; +;;; Utilities for configuring the Shadow tool suite ('login', 'passwd', etc.) +;;; +;;; Code: + +(define* (passwd-file store accounts #:key shadow?) + "Return a password file for ACCOUNTS, a list of vectors as returned by +'getpwnam'. If SHADOW? is true, then it is a /etc/shadow file, otherwise it +is a /etc/passwd file." + ;; XXX: The resulting file is world-readable, so beware when SHADOW? is #t! + (define contents + (let loop ((accounts accounts) + (result '())) + (match accounts + ((#(name pass uid gid comment home-dir shell) rest ...) + (loop rest + (cons (if shadow? + (string-append name + ":" ; XXX: use (crypt PASS …)? + ":::::::") + (string-append name + ":" "x" + ":" (number->string uid) + ":" (number->string gid) + ":" comment ":" home-dir ":" shell)) + result))) + (() + (string-join (reverse result) "\n" 'suffix))))) + + (add-text-to-store store (if shadow? "shadow" "passwd") + contents '())) + +;;; shadow.scm ends here diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 6886e67c21..192ed1d5a3 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -34,9 +34,15 @@ #:use-module ((gnu packages make-bootstrap) #:select (%guile-static-stripped)) #:use-module (gnu packages system) + + #:use-module (gnu system shadow) + #:use-module (gnu system linux) + #:use-module (gnu system grub) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 match) + #:export (expression->derivation-in-linux-vm qemu-image system-qemu-image)) @@ -346,33 +352,6 @@ It can be used to provide additional files, such as /etc files." ;;; Stand-alone VM image. ;;; -(define* (passwd-file store accounts #:key shadow?) - "Return a password file for ACCOUNTS, a list of vectors as returned by -'getpwnam'. If SHADOW? is true, then it is a /etc/shadow file, otherwise it -is a /etc/passwd file." - ;; XXX: The resulting file is world-readable, so beware when SHADOW? is #t! - (define contents - (let loop ((accounts accounts) - (result '())) - (match accounts - ((#(name pass uid gid comment home-dir shell) rest ...) - (loop rest - (cons (if shadow? - (string-append name - ":" ; XXX: use (crypt PASS …)? - ":::::::") - (string-append name - ":" "x" - ":" (number->string uid) - ":" (number->string gid) - ":" comment ":" home-dir ":" shell)) - result))) - (() - (string-join (reverse result) "\n" 'suffix))))) - - (add-text-to-store store (if shadow? "shadow" "passwd") - contents '())) - (define (system-qemu-image store) "Return the derivation of a QEMU image of the GNU system." (define %pam-services -- cgit v1.2.3 From e1804763d00a2aa03e696a73dc3675a15acd47de Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 11 Sep 2013 22:56:52 +0200 Subject: gnu: Update python-babel, python2-babel to 1.3. * gnu/packages/python.scm (python-babel, python2-babel): Update to 1.3. --- gnu/packages/python.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b50a893e1d..9b9a445f38 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -222,20 +222,21 @@ using Python 2.4 or higher and provides access to the Olson timezone database.") (define-public python-babel (package (name "python-babel") - (version "0.9.6") + (version "1.3") (source (origin (method url-fetch) - (uri (string-append "http://ftp.edgewall.com/pub/babel/Babel-" + (uri (string-append "https://pypi.python.org/packages/source/B/Babel/Babel-" version ".tar.gz")) (sha256 (base32 - "03vmr54jq5vf3qw6kpdv7cdk7x7i2jhzyf1mawv2gk8zrxg0hfja")))) + "0bnin777lc53nxd1hp3apq410jj5wx92n08h7h4izpl4f4sx00lz")))) (build-system python-build-system) (inputs - `(("python-pytz" ,python-pytz))) + `(("python-pytz" ,python-pytz) + ("python-setuptools" ,python-setuptools))) (arguments `(#:tests? #f)) ; no test target - (home-page "http://babel.edgewall.org/") + (home-page "http://babel.pocoo.org/") (synopsis "Tools for internationalizing Python applications") (description -- cgit v1.2.3 From 8eaa8a3bf048997288633191a278028a65d78ae3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 Sep 2013 23:37:57 +0200 Subject: gnu: avahi, dbus: Use /var as $localstatedir. * gnu/packages/avahi.scm (avahi): Pass '--localstatedir'; add 'patch/localstatedir'. * gnu/packages/glib.scm (dbus): Pass '--localstatedir' and '--with-session-socket-dir'; add 'patch/localstatedir'. * gnu/packages/patches/avahi-localstatedir.patch, gnu/packages/patches/dbus-localstatedir.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. --- gnu-system.am | 2 ++ gnu/packages/avahi.scm | 10 +++++++-- gnu/packages/glib.scm | 14 +++++++++++- gnu/packages/patches/avahi-localstatedir.patch | 12 +++++++++++ gnu/packages/patches/dbus-localstatedir.patch | 30 ++++++++++++++++++++++++++ 5 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/avahi-localstatedir.patch create mode 100644 gnu/packages/patches/dbus-localstatedir.patch (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index d88f6bf4e8..871254624a 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -189,11 +189,13 @@ patchdir = $(guilemoduledir)/gnu/packages/patches dist_patch_DATA = \ gnu/packages/patches/apr-skip-getservbyname-test.patch \ gnu/packages/patches/automake-skip-amhello-tests.patch \ + gnu/packages/patches/avahi-localstatedir.patch \ gnu/packages/patches/bigloo-gc-shebangs.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \ gnu/packages/patches/cdparanoia-fpic.patch \ gnu/packages/patches/cmake-fix-tests.patch \ gnu/packages/patches/cpio-gets-undeclared.patch \ + gnu/packages/patches/dbus-localstatedir.patch \ gnu/packages/patches/diffutils-gets-undeclared.patch \ gnu/packages/patches/emacs-configure-sh.patch \ gnu/packages/patches/findutils-absolute-paths.patch \ diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index fbdc0e2834..14073b32a0 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -21,6 +21,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages gdbm) #:use-module (gnu packages libdaemon) #:use-module (gnu packages pkg-config) @@ -42,13 +43,15 @@ (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-distro=none" + "--localstatedir=/var" ; for the DBus socket "--disable-python" "--disable-mono" "--disable-doxygen-doc" "--disable-xmltoman" "--enable-tests" "--disable-qt3" "--disable-qt4" - "--disable-gtk" "--disable-gtk3"))) + "--disable-gtk" "--disable-gtk3") + #:patches (list (assoc-ref %build-inputs "patch/localstatedir")))) (inputs `(("expat" ,expat) ("glib" ,glib) @@ -56,7 +59,10 @@ ("libdaemon" ,libdaemon) ("intltool" ,intltool) ("pkg-config" ,pkg-config) - ("gdbm" ,gdbm))) + ("gdbm" ,gdbm) + + ("patch/localstatedir" + ,(search-patch "avahi-localstatedir.patch")))) (synopsis "Avahi, an mDNS/DNS-SD implementation") (description "Avahi is a system which facilitates service discovery on a local diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fee834f9f9..dd4c036e4b 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -50,9 +50,21 @@ (base32 "1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags (list ;; Install the system bus socket under /var. + "--localstatedir=/var" + + ;; XXX: Fix the following to allow system-wide + ;; config. + ;; "--sysconfdir=/etc" + + "--with-session-socket-dir=/tmp") + #:patches (list (assoc-ref %build-inputs "patch/localstatedir")))) (inputs `(("expat" ,expat) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("patch/localstatedir" + ,(search-patch "dbus-localstatedir.patch")))) (home-page "http://dbus.freedesktop.org/") (synopsis "Message bus for inter-process communication (IPC)") (description diff --git a/gnu/packages/patches/avahi-localstatedir.patch b/gnu/packages/patches/avahi-localstatedir.patch new file mode 100644 index 0000000000..76377d1057 --- /dev/null +++ b/gnu/packages/patches/avahi-localstatedir.patch @@ -0,0 +1,12 @@ +Don't "mkdir $(localstatedir)" since we can't do it (/var). + +--- avahi-0.6.27/avahi-daemon/Makefile.in 2010-07-13 05:06:35.000000000 +0200 ++++ avahi-0.6.27/avahi-daemon/Makefile.in 2010-07-13 18:03:45.000000000 +0200 +@@ -1554,7 +1554,6 @@ xmllint: + done + + install-data-local: +- test -z "$(localstatedir)/run" || $(mkdir_p) "$(DESTDIR)$(localstatedir)/run" + + update-systemd: + curl http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c > sd-daemon.c diff --git a/gnu/packages/patches/dbus-localstatedir.patch b/gnu/packages/patches/dbus-localstatedir.patch new file mode 100644 index 0000000000..61bed91b5c --- /dev/null +++ b/gnu/packages/patches/dbus-localstatedir.patch @@ -0,0 +1,30 @@ +Do not try to create $localstatedir and $sysconfdir since we cannot do this +when they are /var and /etc. + +--- dbus-1.6.4/bus/Makefile.in 2013-09-11 16:15:13.000000000 +0200 ++++ dbus-1.6.4/bus/Makefile.in 2013-09-11 16:15:15.000000000 +0200 +@@ -1510,9 +1510,6 @@ clean-local: + /bin/rm *.bb *.bbg *.da *.gcov || true + + install-data-hook: +- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus +- $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d +- $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d + $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services + $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/system-services + # Install dbus.socket as default implementation of a D-Bus stack. + +--- dbus-1.6.4/tools/Makefile.in 2013-09-11 16:10:31.000000000 +0200 ++++ dbus-1.6.4/tools/Makefile.in 2013-09-11 16:10:32.000000000 +0200 +@@ -757,11 +757,6 @@ uninstall-am: uninstall-binPROGRAMS + + + # create the /var/lib/dbus directory for dbus-uuidgen +-install-data-local: +- $(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/dbus +- +-installcheck-local: +- test -d $(DESTDIR)$(localstatedir)/lib/dbus + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. -- cgit v1.2.3 From 1d08c01fcf31ae7ac61f4595b151355b7a197e47 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 12 Sep 2013 15:31:45 +0200 Subject: gnu: Add python2-sqlite. * gnu/packages/python.scm (python2-sqlite): New variable. --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9b9a445f38..dcfe784e57 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -20,12 +20,15 @@ (define-module (gnu packages python) #:use-module ((guix licenses) #:select (bsd-3 psfl x11)) + #:use-module ((guix licenses) #:select (zlib) + #:renamer (symbol-prefix-proc 'license)) #: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 (gnu packages patchelf) + #:use-module (gnu packages sqlite) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -313,3 +316,31 @@ datetime module, available in Python 2.3+.") (define-public python2-dateutil (package-with-python2 python-dateutil)) + + +(define-public python2-pysqlite + (package + (name "python2-pysqlite") + (version "2.6.3") + (source + (origin + (method url-fetch) + (uri (string-append "http://pysqlite.googlecode.com/files/pysqlite-" + version ".tar.gz")) + (sha256 + (base32 + "0nsqqfp072rgqbls100rdvbzkjkin7li3kprhfxlfqvzf608hlqd")))) + (build-system python-build-system) + (inputs + `(("sqlite" ,sqlite))) + (arguments + `(#:python ,python-2 ; incompatible with Python 3 + #:tests? #f)) ; no test target + (home-page "http://labix.org/python-dateutil") + (synopsis + "SQLite bindings for Python.") + (description + "Pysqlite provides SQLite bindings for Python that comply to the +Database API 2.0T.") + (license zlib))) + -- cgit v1.2.3 From 2875caf5b52340ea16965b1d8f76342cc07bf8b5 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 13 Sep 2013 14:25:53 +0200 Subject: gnu: Add python2-mechanize. * gnu/packages/python.scm (python2-mechanize): New variable. --- gnu/packages/python.scm | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index dcfe784e57..be33bf6570 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -19,7 +19,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages python) - #:use-module ((guix licenses) #:select (bsd-3 psfl x11)) + #:use-module ((guix licenses) #:select (bsd-3 bsd-style psfl x11)) #:use-module ((guix licenses) #:select (zlib) #:renamer (symbol-prefix-proc 'license)) #:use-module (gnu packages) @@ -344,3 +344,38 @@ datetime module, available in Python 2.3+.") Database API 2.0T.") (license zlib))) + +(define-public python2-mechanize + (package + (name "python2-mechanize") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/m/mechanize/mechanize-" + version ".tar.gz")) + (sha256 + (base32 + "0rj7r166i1dyrq0ihm5rijfmvhs8a04im28lv05c0c3v206v4rrf")))) + (build-system python-build-system) + (inputs + `(("python2-setuptools" ,python2-setuptools))) + (arguments + `(#:python ,python-2 ; apparently incompatible with Python 3 + #:tests? #f)) + ;; test fails with message + ;; AttributeError: 'module' object has no attribute 'test_pullparser' + ;; (python-3.3.2) or + ;; AttributeError: 'module' object has no attribute 'test_urllib2_localnet' + ;; (python-2.7.5). + ;; The source code is from March 2011 and probably not up-to-date + ;; with respect to python unit tests. + (home-page "http://wwwsearch.sourceforge.net/mechanize/") + (synopsis + "Stateful programmatic web browsing in Python") + (description + "Mechanize implements stateful programmatic web browsing in Python, +after Andy Lester’s Perl module WWW::Mechanize.") + (license (bsd-style "file://COPYING" + "See COPYING in the distribution.")))) + -- cgit v1.2.3 From 0cb9b45674b659b4dba7af2e19ab2491af1efecb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Sep 2013 11:12:35 +0200 Subject: gnu: gnutls: Upgrade to 3.2.4. * gnu/packages/gnutls.scm (gnutls): Update to 3.2.4; remove 'arguments' field, remove "patch/fix-tests" from the inputs. * gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch: Remove. * gnu-system.am (dist_patch_DATA): Adjust accordingly. --- gnu-system.am | 1 - gnu/packages/gnutls.scm | 12 ++------ .../gnutls-fix-tests-on-32-bits-system.patch | 36 ---------------------- 3 files changed, 3 insertions(+), 46 deletions(-) delete mode 100644 gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index 871254624a..4069301fe7 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -208,7 +208,6 @@ dist_patch_DATA = \ gnu/packages/patches/glib-tests-prlimit.patch \ gnu/packages/patches/glibc-bootstrap-system.patch \ gnu/packages/patches/glibc-no-ld-so-cache.patch \ - gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch \ gnu/packages/patches/grub-gets-undeclared.patch \ gnu/packages/patches/guile-1.8-cpp-4.5.patch \ gnu/packages/patches/guile-default-utf8.patch \ diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm index d636a9c927..766731e289 100644 --- a/gnu/packages/gnutls.scm +++ b/gnu/packages/gnutls.scm @@ -54,7 +54,7 @@ portable, and only require an ANSI C89 platform.") (define-public gnutls (package (name "gnutls") - (version "3.2.1") + (version "3.2.4") (source (origin (method url-fetch) (uri @@ -64,20 +64,14 @@ portable, and only require an ANSI C89 platform.") version ".tar.xz")) (sha256 (base32 - "1zi2kq3vcbqdy9khl7r6pgk4hgwibniasm9k6siasdvqjijq3ymb")))) + "0zvhzy87v9dfxfvmg1pl951kw55rp647cqdza8942fxq7spp158i")))) (build-system gnu-build-system) - (arguments - `(#:patches (list (assoc-ref %build-inputs - "patch/fix-tests")) - #:patch-flags '("-p0"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.0) ("zlib" ,guix:zlib) - ("perl" ,perl) - ("patch/fix-tests" - ,(search-patch "gnutls-fix-tests-on-32-bits-system.patch")))) + ("perl" ,perl))) (propagated-inputs `(("libtasn1" ,libtasn1) ("nettle" ,nettle) diff --git a/gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch b/gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch deleted file mode 100644 index 07d633149e..0000000000 --- a/gnu/packages/patches/gnutls-fix-tests-on-32-bits-system.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b12040aeab5fbaf02677571db1d8bf1995bd5ee0 Mon Sep 17 00:00:00 2001 -From: Nikos Mavrogiannopoulos -Date: Sun, 2 Jun 2013 12:10:06 +0200 -Subject: [PATCH] Avoid comparing the expiration date to prevent false positive -error in 32-bit systems. - ---- - tests/cert-tests/pem-decoding | 6 ++++-- - 1 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/tests/cert-tests/pem-decoding b/tests/cert-tests/pem-decoding -index fe769ec..f8c6372 100755 ---- tests/cert-tests/pem-decoding -+++ tests/cert-tests/pem-decoding -@@ -61,7 +61,9 @@ if test "$rc" != "0"; then - exit $rc - fi - --diff $srcdir/complex-cert.pem tmp-pem.pem -+cat $srcdir/complex-cert.pem |grep -v "Not After:" >tmp1 -+cat $srcdir/tmp-pem.pem |grep -v "Not After:" >tmp2 -+diff tmp1 tmp2 - rc=$? - - if test "$rc" != "0"; then -@@ -69,6 +71,6 @@ if test "$rc" != "0"; then - exit $rc - fi - --rm -f tmp-pem.pem -+rm -f tmp-pem.pem tmp1 tmp2 - - exit 0 --- -1.7.1 - -- cgit v1.2.3 From 803704418c4738ed63b3dd6aa893e3dc6da7d4db Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Sep 2013 19:00:47 +0200 Subject: gnu: dbus: Add dependency on libX11. * gnu/packages/glib.scm: Use #:export instead of 'define-public'. (dbus): Add LIBX11 as an input. --- gnu/packages/glib.scm | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index da15d404dd..815fafcbfb 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -35,9 +35,18 @@ #:use-module (gnu packages python) #:use-module (gnu packages xml) #:use-module (gnu packages bash) - #:use-module (gnu packages file)) + #:use-module (gnu packages file) + #:use-module (gnu packages xorg) -(define-public dbus + ;; Export variables up-front to allow circular dependency with the 'xorg' + ;; module. + #:export (dbus + glib + dbus-glib + intltool + itstool)) + +(define dbus (package (name "dbus") (version "1.6.4") @@ -64,7 +73,12 @@ `(("expat" ,expat) ("pkg-config" ,pkg-config) ("patch/localstatedir" - ,(search-patch "dbus-localstatedir.patch")))) + ,(search-patch "dbus-localstatedir.patch")) + + ;; Add a dependency on libx11 so that 'dbus-launch' has support for + ;; '--autolaunch'. + ("libx11" ,libx11))) + (home-page "http://dbus.freedesktop.org/") (synopsis "Message bus for inter-process communication (IPC)") (description @@ -85,7 +99,7 @@ or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories.") (license license:gpl2+))) ; or Academic Free License 2.1 -(define-public glib +(define glib (package (name "glib") (version "2.37.1") @@ -157,7 +171,7 @@ dynamic loading, and an object system.") (home-page "http://developer.gnome.org/glib/") (license license:lgpl2.0+))) ; some files are under lgpl2.1+ -(define-public intltool +(define intltool (package (name "intltool") (version "0.50.2") @@ -198,7 +212,7 @@ The intltool collection can be used to do these things: oaf files. This merge step will happen at build resp. installation time.") (license license:gpl2+))) -(define-public itstool +(define itstool (package (name "itstool") (version "1.2.0") @@ -232,7 +246,7 @@ information in their documents, such as whether a particular element should be translated.") (license license:gpl3+))) -(define-public dbus-glib +(define dbus-glib (package (name "dbus-glib") (version "0.100.2") -- cgit v1.2.3 From f15164e79127a7148fadc98adf6776d37f257044 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 21 Sep 2013 00:09:56 +0200 Subject: gnu: Add GNU dmd. * gnu/packages/system.scm (dmd): New variable. --- gnu/packages/system.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/system.scm b/gnu/packages/system.scm index 7c733f9575..9af0365812 100644 --- a/gnu/packages/system.scm +++ b/gnu/packages/system.scm @@ -25,7 +25,39 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages ncurses) - #:use-module (gnu packages linux)) + #:use-module (gnu packages linux) + #:use-module (gnu packages guile) + #:use-module (gnu packages pkg-config)) + +(define-public dmd + (package + (name "dmd") + (version "-0.4") + (source (origin + (method url-fetch) + + ;; XXX: Temporary location until dmd gets back home. + (uri (string-append + "http://www.fdn.fr/~lcourtes/software/guix/dmd-" + version ".tar.gz")) + (sha256 + (base32 + "094ja3xvk9ljghhxmy39if67cfjd1hy6m4svnp399n0wpxvaryvy")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--localstatedir=/var"))) + (inputs `(("pkg-config" ,pkg-config) + ("guile" ,guile-2.0))) + (synopsis "Daemon managing daemons") + (description "'DMD' is a \"Daemon managing Daemons\" (or +\"Daemons-managing Daemon\"?)---i.e. a service manager that provides a +replacement for the service-managing capabilities of SysV-init (or any other +init) with a both powerful and beautiful dependency-based system with a +convenient interface. It is intended for use on GNU/Hurd, but it is supposed +to work on every POSIX-like system where Guile is available. In particular, +it has been tested on GNU/Linux.") + (license gpl3+) + (home-page "http://www.gnu.org/software/dmd/"))) (define-public dfc (package -- cgit v1.2.3 From ed0cdf837d74a5760608a19e128eb036eea56d9d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 21 Sep 2013 01:59:46 +0200 Subject: gnu: python2-pysqlite: Fix 'license'. * gnu/packages/python.scm (python2-pysqlite): Refer to (@ (guix licenses) zlib), not to the same-named package. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index be33bf6570..d6d450e22f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -21,7 +21,7 @@ (define-module (gnu packages python) #:use-module ((guix licenses) #:select (bsd-3 bsd-style psfl x11)) #:use-module ((guix licenses) #:select (zlib) - #:renamer (symbol-prefix-proc 'license)) + #:renamer (symbol-prefix-proc 'license:)) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages gdbm) @@ -342,7 +342,7 @@ datetime module, available in Python 2.3+.") (description "Pysqlite provides SQLite bindings for Python that comply to the Database API 2.0T.") - (license zlib))) + (license license:zlib))) (define-public python2-mechanize -- cgit v1.2.3 From 0352532e6a3340411f10ff9ca7475343f7df25fc Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 21 Sep 2013 21:14:19 +0200 Subject: gnu: Add python-simplejson, python2-simplejson. * gnu/packages/python.scm (python-simplejson, python2-simplejson): New variables. --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d6d450e22f..1b20029865 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -379,3 +379,34 @@ after Andy Lester’s Perl module WWW::Mechanize.") (license (bsd-style "file://COPYING" "See COPYING in the distribution.")))) + +(define-public python-simplejson + (package + (name "python-simplejson") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/s/simplejson/simplejson-" + version ".tar.gz")) + (sha256 + (base32 + "07wsry5j44l5zzm74l4j2bvasiq8n5m32f31n2p7c68i5vc6p2ks")))) + (build-system python-build-system) + (home-page "http://simplejson.readthedocs.org/en/latest/") + (synopsis + "Json library for Python") + (description + "JSON (JavaScript Object Notation) is a subset of JavaScript syntax +(ECMA-262 3rd edition) used as a lightweight data interchange format. + +Simplejson exposes an API familiar to users of the standard library marshal +and pickle modules. It is the externally maintained version of the json +library contained in Python 2.6, but maintains compatibility with Python 2.5 +and (currently) has significant performance advantages, even without using +the optional C extension for speedups. Simplejson is also supported on +Python 3.3+.") + (license x11))) + +(define-public python2-simplejson + (package-with-python2 python-simplejson)) -- cgit v1.2.3 From 421a80a2b22e3d29c7491dd3540cb938ffb1c6b0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 09:44:49 +0200 Subject: gnu: Add python2-pyicu. * gnu/packages/python.scm (python2-pyicu): New variable. --- gnu/packages/python.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 1b20029865..d64ed1a131 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -25,6 +25,7 @@ #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages gdbm) + #:use-module (gnu packages icu4c) #:use-module (gnu packages readline) #:use-module (gnu packages openssl) #:use-module (gnu packages patchelf) @@ -410,3 +411,30 @@ Python 3.3+.") (define-public python2-simplejson (package-with-python2 python-simplejson)) + + +(define-public python2-pyicu + (package + (name "python2-pyicu") + (version "1.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/P/PyICU/PyICU-" + version ".tar.gz")) + (sha256 + (base32 + "011vwflpir8wvh48mvi6d9a7vw0f43bkwv0w6bzxbzmvz20ax5vm")))) + (build-system python-build-system) + (inputs + `(("icu4c" ,icu4c))) + (arguments + `(#:python ,python-2 ; Python 3 works also, but needs special care for + ; linking with libpython3.3m + #:tests? #f)) ; no check target + (home-page "http://pyicu.osafoundation.org/") + (synopsis + "Python extension wrapping the ICU C++ API.") + (description + "PyICU is a python extension wrapping the ICU C++ API.") + (license x11))) -- cgit v1.2.3 From 93be8dc4c93dec03b68fcbb8a8955f9b4b562ba6 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 11:16:08 +0200 Subject: gnu: xcursor-themes: Install data into package output directory. * gnu/packages/xorg.scm (xcursor-themes): Install icons into output directory instead of libxcursor. --- gnu/packages/xorg.scm | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9a0e3e274b..0659c8d10c 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1929,6 +1929,11 @@ tracking.") `(("libxcursor" ,libxcursor) ("pkg-config" ,pkg-config) ("xcursorgen" ,xcursorgen))) + (arguments + `(#:configure-flags + (list (string-append "--with-cursordir=" + (assoc-ref %outputs "out") + "/share/icons")))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") -- cgit v1.2.3 From 22885fb845c67cc48a426a989e2a45de18a8e888 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 16:22:00 +0200 Subject: gnu: Add gstreamer. * gnu/packages/gstreamer.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add module. --- gnu-system.am | 1 + gnu/packages/gstreamer.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 gnu/packages/gstreamer.scm (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index 3809cb7ad3..01df377c90 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -79,6 +79,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/grub.scm \ gnu/packages/grue-hunter.scm \ gnu/packages/gsasl.scm \ + gnu/packages/gstreamer.scm \ gnu/packages/gtk.scm \ gnu/packages/guile.scm \ gnu/packages/gv.scm \ diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm new file mode 100644 index 0000000000..01448563a9 --- /dev/null +++ b/gnu/packages/gstreamer.scm @@ -0,0 +1,65 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages gstreamer) + #:use-module ((guix licenses) #:select (lgpl2.0+)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) + #:use-module (gnu packages glib) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python)) + +(define-public gstreamer + (package + (name "gstreamer") + (version "1.0.10") + (source + (origin + (method url-fetch) + (uri (string-append "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-" + version ".tar.xz")) + (sha256 + (base32 + "0c0irk85jd2cihm5pmf4zxhlpg08qpxjcqv1l9qn2n3h2gsaj2lf")))) + (build-system gnu-build-system) + (inputs + `(("bison" ,bison) + ("flex" ,flex) + ("glib" ,glib) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (home-page "http://gstreamer.freedesktop.org/") + (synopsis + "Multimedia library") + (description + "GStreamer is a library for constructing graphs of media-handling +components. The applications it supports range from simple Ogg/Vorbis +playback, audio/video streaming to complex audio (mixing) and video +(non-linear editing) processing. + +Applications can take advantage of advances in codec and filter technology +transparently. Developers can add new codecs and filters by writing a +simple plugin with a clean, generic interface. + +This package provides the core library and elements.") + (license lgpl2.0+))) -- cgit v1.2.3 From 144f9f251dd596897b9f8e1710c5dc7a21c92404 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 16:41:29 +0200 Subject: gnu: gstreamer: Depend on python-wrapper. * gnu/packages/gstreamer.scm (gstreamer): Replace input python by python-wrapper. --- gnu/packages/gstreamer.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 01448563a9..085061fe90 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -47,7 +47,7 @@ ("glib" ,glib) ("perl" ,perl) ("pkg-config" ,pkg-config) - ("python" ,python))) + ("python-wrapper" ,python-wrapper))) (home-page "http://gstreamer.freedesktop.org/") (synopsis "Multimedia library") -- cgit v1.2.3 From 477c91ce736b28b39a9a46a310f905b78dd45dfb Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 17:25:12 +0200 Subject: gnu: Add gst-plugins-base. * gnu/packages/gstreamer.scm (gst-plugins-base): New variable. --- gnu/packages/gstreamer.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 085061fe90..7478dc3188 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -63,3 +63,47 @@ simple plugin with a clean, generic interface. This package provides the core library and elements.") (license lgpl2.0+))) + +(define-public gst-plugins-base + (package + (name "gst-plugins-base") + (version "1.0.10") + (source + (origin + (method url-fetch) + (uri (string-append "http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-" + version ".tar.xz")) + (sha256 + (base32 + "1s4pphbb5kpdh4rrmb8rala4sp499k4by59925k15xiz58xyhm4p")))) + (build-system gnu-build-system) + ;; FIXME: Add more dependencies for further plugins. + (inputs + `(("glib" ,glib) + ("gstreamer" ,gstreamer) + ("pkg-config" ,pkg-config) + ("python-wrapper" ,python-wrapper))) + (arguments + `(#:tests? #f)) + ;; All tests pass except for one: + ;; Running suite(s): pbutils library + ;; 85%: Checks: 7, Failures: 1, Errors: 0 + ;; libs/pbutils.c:522:F:general:test_pb_utils_install_plugins:0: gst_install_plugins_sync() failed ;; with unexpected ret 201, which is neither HELPER_MISSING nor 1 + ;; FAIL: libs/pbutils + ;; According to the documentation, "gst_install_plugins_sync (...) + ;; should almost never be used". + (home-page "http://gstreamer.freedesktop.org/") + (synopsis + "Plugins for the gstreamer multimedia library") + (description + "GStreamer is a library for constructing graphs of media-handling +components. The applications it supports range from simple Ogg/Vorbis +playback, audio/video streaming to complex audio (mixing) and video +(non-linear editing) processing. + +Applications can take advantage of advances in codec and filter technology +transparently. Developers can add new codecs and filters by writing a +simple plugin with a clean, generic interface. + +This package provides an essential exemplary set of elements.") + (license lgpl2.0+))) -- cgit v1.2.3 From 995b726131259f8480772ee8469ef69a42f608cd Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 17:53:01 +0200 Subject: gnu: Add gnome-doc-utils. * gnu/packages/gnome.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add module. --- gnu-system.am | 1 + gnu/packages/gnome.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 gnu/packages/gnome.scm (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index 01df377c90..a5c17f6f42 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -69,6 +69,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/gkrellm.scm \ gnu/packages/glib.scm \ gnu/packages/global.scm \ + gnu/packages/gnome.scm \ gnu/packages/gnunet.scm \ gnu/packages/gnupg.scm \ gnu/packages/gnutls.scm \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm new file mode 100644 index 0000000000..c66af51c98 --- /dev/null +++ b/gnu/packages/gnome.scm @@ -0,0 +1,57 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages gnome) + #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages glib) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages xml)) + +(define-public gnome-doc-utils + (package + (name "gnome-doc-utils") + (version "0.20.10") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/0.20/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb")))) + (build-system gnu-build-system) + (inputs + `(("intltool" ,intltool) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("pkg-config" ,pkg-config) + ("python-2" ,python-2))) + (arguments + `(#:tests? #f)) ; tries to load http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd + (home-page "https://wiki.gnome.org/GnomeDocUtils") + (synopsis + "Documentation utilities for the Gnome project") + (description + "Gnome-doc-utils is a collection of documentation utilities for the +Gnome project. It includes xml2po tool which makes it easier to translate +and keep up to date translations of documentation.") + (license gpl2+))) ; xslt under lgpl -- cgit v1.2.3 From 1fdd3ee2a680d3a7fd2e76d49e2f0120b888a72a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 21:01:40 +0200 Subject: gnu: Rename module mailutils to mail. * gnu/packages/mail.scm: Rename from gnu/packages/mailutils.scm. * gnu-system.am: Rename the module. --- gnu-system.am | 2 +- gnu/packages/mail.scm | 106 +++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/mailutils.scm | 106 --------------------------------------------- 3 files changed, 107 insertions(+), 107 deletions(-) create mode 100644 gnu/packages/mail.scm delete mode 100644 gnu/packages/mailutils.scm (limited to 'gnu/packages') diff --git a/gnu-system.am b/gnu-system.am index a5c17f6f42..a7fbb27252 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -115,7 +115,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/lua.scm \ gnu/packages/lvm.scm \ gnu/packages/m4.scm \ - gnu/packages/mailutils.scm \ + gnu/packages/mail.scm \ gnu/packages/make-bootstrap.scm \ gnu/packages/maths.scm \ gnu/packages/mit-krb5.scm \ diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm new file mode 100644 index 0000000000..a6507c3b71 --- /dev/null +++ b/gnu/packages/mail.scm @@ -0,0 +1,106 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages mail) + #:use-module (gnu packages) + #:use-module (gnu packages linux) + #:use-module (gnu packages gnutls) + #:use-module (gnu packages gdbm) + #:use-module (gnu packages guile) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages readline) + #:use-module (gnu packages dejagnu) + #:use-module (gnu packages m4) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages mysql) + #:use-module (gnu packages autotools) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public mailutils + (package + (name "mailutils") + (version "2.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mailutils/mailutils-" + version ".tar.bz2")) + (sha256 + (base32 + "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65")))) + (build-system gnu-build-system) + (arguments + '(;; TODO: Add `--with-sql'. + #:patches (list (assoc-ref %build-inputs + "patch/gets-undeclared")) + #:phases (alist-cons-before + 'build 'pre-build + (lambda _ + ;; Use Guile 2.0's public API. + (substitute* "libmu_scm/mu_message.c" + (("scm_i_string_length") + "scm_c_string_length")) + + ;; This file should be generated to use the right + ;; value of $(libdir) et al. + (delete-file "libmu_scm/mailutils.scm") + + ;; Use the right file name for `cat'. + (substitute* "testsuite/lib/mailutils.exp" + (("/bin/cat") + (which "cat")))) + %standard-phases) + #:parallel-tests? #f)) + (inputs + `(("dejagnu" ,dejagnu) + ("m4" ,m4) + ("texinfo" ,texinfo) + ("guile" ,guile-2.0) + ("gnutls" ,gnutls) + ("ncurses" ,ncurses) + ("readline" ,readline) + ("linux-pam" ,linux-pam) + ("libtool" ,libtool) + ("gdbm" ,gdbm) + ("patch/gets-undeclared" + ,(search-patch "m4-gets-undeclared.patch")))) + (home-page "http://www.gnu.org/software/mailutils/") + (synopsis "Utilities and library for reading and serving mail") + (description + "GNU Mailutils is a rich and powerful protocol-independent mail +framework. It contains a series of useful mail libraries, clients, and +servers. These are the primary mail utilities for the GNU system. The +central library is capable of handling electronic mail in various +mailbox formats and protocols, both local and remote. Specifically, +this project contains a POP3 server, an IMAP4 server, and a Sieve mail +filter. It also provides a POSIX `mailx' client, and a collection of +other handy tools. + +The GNU Mailutils libraries supply an ample set of primitives for +handling electronic mail in programs written in C, C++, Python or +Scheme. + +The utilities provided by Mailutils include imap4d and pop3d mail +servers, mail reporting utility comsatd, general-purpose mail delivery +agent maidag, mail filtering program sieve, and an implementation of MH +message handling system.") + (license + ;; Libraries are under LGPLv3+, and programs under GPLv3+. + (list gpl3+ lgpl3+)))) diff --git a/gnu/packages/mailutils.scm b/gnu/packages/mailutils.scm deleted file mode 100644 index 15ca939e66..0000000000 --- a/gnu/packages/mailutils.scm +++ /dev/null @@ -1,106 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see . - -(define-module (gnu packages mailutils) - #:use-module (gnu packages) - #:use-module (gnu packages linux) - #:use-module (gnu packages gnutls) - #:use-module (gnu packages gdbm) - #:use-module (gnu packages guile) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages readline) - #:use-module (gnu packages dejagnu) - #:use-module (gnu packages m4) - #:use-module (gnu packages texinfo) - #:use-module (gnu packages mysql) - #:use-module (gnu packages autotools) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu)) - -(define-public mailutils - (package - (name "mailutils") - (version "2.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mailutils/mailutils-" - version ".tar.bz2")) - (sha256 - (base32 - "0szbqa12zqzldqyw97lxqax3ja2adis83i7brdfsxmrfw68iaf65")))) - (build-system gnu-build-system) - (arguments - '(;; TODO: Add `--with-sql'. - #:patches (list (assoc-ref %build-inputs - "patch/gets-undeclared")) - #:phases (alist-cons-before - 'build 'pre-build - (lambda _ - ;; Use Guile 2.0's public API. - (substitute* "libmu_scm/mu_message.c" - (("scm_i_string_length") - "scm_c_string_length")) - - ;; This file should be generated to use the right - ;; value of $(libdir) et al. - (delete-file "libmu_scm/mailutils.scm") - - ;; Use the right file name for `cat'. - (substitute* "testsuite/lib/mailutils.exp" - (("/bin/cat") - (which "cat")))) - %standard-phases) - #:parallel-tests? #f)) - (inputs - `(("dejagnu" ,dejagnu) - ("m4" ,m4) - ("texinfo" ,texinfo) - ("guile" ,guile-2.0) - ("gnutls" ,gnutls) - ("ncurses" ,ncurses) - ("readline" ,readline) - ("linux-pam" ,linux-pam) - ("libtool" ,libtool) - ("gdbm" ,gdbm) - ("patch/gets-undeclared" - ,(search-patch "m4-gets-undeclared.patch")))) - (home-page "http://www.gnu.org/software/mailutils/") - (synopsis "Utilities and library for reading and serving mail") - (description - "GNU Mailutils is a rich and powerful protocol-independent mail -framework. It contains a series of useful mail libraries, clients, and -servers. These are the primary mail utilities for the GNU system. The -central library is capable of handling electronic mail in various -mailbox formats and protocols, both local and remote. Specifically, -this project contains a POP3 server, an IMAP4 server, and a Sieve mail -filter. It also provides a POSIX `mailx' client, and a collection of -other handy tools. - -The GNU Mailutils libraries supply an ample set of primitives for -handling electronic mail in programs written in C, C++, Python or -Scheme. - -The utilities provided by Mailutils include imap4d and pop3d mail -servers, mail reporting utility comsatd, general-purpose mail delivery -agent maidag, mail filtering program sieve, and an implementation of MH -message handling system.") - (license - ;; Libraries are under LGPLv3+, and programs under GPLv3+. - (list gpl3+ lgpl3+)))) -- cgit v1.2.3 From d983a14f81379eacd51a35239760fe4e36ef1517 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 21:56:36 +0200 Subject: gnu: Add fetchmail. * gnu/packages/mail.scm (fetchmail): New variable. --- gnu/packages/mail.scm | 49 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 7 deletions(-) (limited to 'gnu/packages') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index a6507c3b71..e411aecf85 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -18,18 +18,20 @@ (define-module (gnu packages mail) #:use-module (gnu packages) - #:use-module (gnu packages linux) - #:use-module (gnu packages gnutls) + #:use-module (gnu packages autotools) + #:use-module (gnu packages dejagnu) #:use-module (gnu packages gdbm) + #:use-module (gnu packages gnutls) #:use-module (gnu packages guile) + #:use-module (gnu packages linux) + #:use-module (gnu packages m4) + #:use-module (gnu packages mysql) #:use-module (gnu packages ncurses) + #:use-module (gnu packages openssl) #:use-module (gnu packages readline) - #:use-module (gnu packages dejagnu) - #:use-module (gnu packages m4) #:use-module (gnu packages texinfo) - #:use-module (gnu packages mysql) - #:use-module (gnu packages autotools) - #:use-module (guix licenses) + #:use-module ((guix licenses) + #:select (gpl2+ gpl3+ lgpl3+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -104,3 +106,36 @@ message handling system.") (license ;; Libraries are under LGPLv3+, and programs under GPLv3+. (list gpl3+ lgpl3+)))) + +(define-public fetchmail + (package + (name "fetchmail") + (version "6.3.26") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/fetchmail/branch_6.3/fetchmail-" + version ".tar.xz")) + (sha256 + (base32 + "0l78ayvi9dm8hd190gl139cs2xqsrf7r9ncilslw20mgvd6cbd3r")))) + (build-system gnu-build-system) + (inputs + `(("openssl" ,openssl))) + (arguments + `(#:configure-flags (list (string-append "--with-ssl=" + (assoc-ref %build-inputs "openssl"))))) + (home-page "http://fetchmail.berlios.de/") + (synopsis "Remote-mailr etrieval and forwarding utility") + (description + "Fetchmail is a full-featured, robust, well-documented remote-mail +retrieval and forwarding utility intended to be used over on-demand +TCP/IP links (such as SLIP or PPP connections). It supports every +remote-mail protocol now in use on the Internet: POP2, POP3, RPOP, APOP, +KPOP, all flavors of IMAP, ETRN, and ODMR. It can even support IPv6 +and IPSEC. + +Fetchmail retrieves mail from remote mail servers and forwards it via SMTP, +so it can then be read by normal mail user agents such as mutt, elm +or BSD Mail. It allows all your system MTA's filtering, forwarding, and +aliasing facilities to work just as they would on normal mail.") + (license gpl2+))) ; most files are actually public domain or x11 -- cgit v1.2.3 From 13f04f48d0f5b4338ef5d4aa27b892bb0f28c7c2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 22 Sep 2013 22:30:18 +0200 Subject: gnu: Add mutt. * gnu/packages/mail.scm (mutt): New variable. --- gnu/packages/mail.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu/packages') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index e411aecf85..b8ddcd71e1 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -28,6 +28,7 @@ #:use-module (gnu packages mysql) #:use-module (gnu packages ncurses) #:use-module (gnu packages openssl) + #:use-module (gnu packages perl) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) #:use-module ((guix licenses) @@ -139,3 +140,34 @@ so it can then be read by normal mail user agents such as mutt, elm or BSD Mail. It allows all your system MTA's filtering, forwarding, and aliasing facilities to work just as they would on normal mail.") (license gpl2+))) ; most files are actually public domain or x11 + +(define-public mutt + (package + (name "mutt") + (version "1.5.21") + (source (origin + (method url-fetch) + (uri (string-append "ftp://ftp.mutt.org/mutt/devel/mutt-" + version ".tar.gz")) + (sha256 + (base32 + "1864cwz240gh0zy56fb47qqzwyf6ghg01037rb4p2kqgimpg6h91")))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses) + ("openssl" ,openssl) + ("perl" ,perl))) + (arguments + `(#:configure-flags '("--enable-smtp" + "--enable-imap" + "--enable-pop" + "--with-ssl" + ;; so that mutt does not check whether the path + ;; exists, which it does not in the chroot + "--with-mailpath=/var/mail"))) + (home-page "http://www.mutt.org/") + (synopsis "Mail client") + (description + "Mutt is a small but very powerful text-based mail client for Unix +operating systems.") + (license gpl2+))) -- cgit v1.2.3