diff options
author | Mark H Weaver <mhw@netris.org> | 2015-01-25 21:15:13 -0500 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2015-01-25 21:15:13 -0500 |
commit | 5ade90ba6976a5ce8715de07344985c70c0eda8b (patch) | |
tree | 7d42618d87ebd8888223e2aa1d0cd5375b3a7712 | |
parent | 06aac933e1cc97781db0d28eb86b5d984099a30e (diff) | |
parent | 94987ebe136569dfe0180277384d7c04e18ab78c (diff) | |
download | guix-5ade90ba6976a5ce8715de07344985c70c0eda8b.tar guix-5ade90ba6976a5ce8715de07344985c70c0eda8b.tar.gz |
Merge branch 'wip-gobject-introspection'
-rw-r--r-- | gnu/packages/glib.scm | 22 | ||||
-rw-r--r-- | gnu/packages/gnome.scm | 34 | ||||
-rw-r--r-- | gnu/packages/gtk.scm | 26 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 18 | ||||
-rw-r--r-- | gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch | 30 | ||||
-rw-r--r-- | gnu/packages/patches/gobject-introspection-girepository.patch | 25 | ||||
-rw-r--r-- | gnu/packages/python.scm | 33 | ||||
-rw-r--r-- | gnu/packages/xorg.scm | 3 |
8 files changed, 131 insertions, 60 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index edf7945d63..bbb57335a5 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -204,17 +204,20 @@ dynamic loading, and an object system.") (define gobject-introspection (package (name "gobject-introspection") - (version "1.38.0") + (version "1.42.0") (source (origin (method url-fetch) (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/" - "gobject-introspection/" - (substring version 0 (string-rindex version #\.)) - "/gobject-introspection-" - version ".tar.xz")) + "gobject-introspection/" (version-major+minor version) + "/gobject-introspection-" version ".tar.xz")) (sha256 - (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m")) - (patches (list (search-patch "gobject-introspection-cc.patch"))))) + (base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv")) + (patches (list + (search-patch "gobject-introspection-cc.patch") + (search-patch + "gobject-introspection-girepository.patch") + (search-patch + "gobject-introspection-absolute-shlib-path.patch"))))) (build-system gnu-build-system) (inputs `(("bison" ,bison) @@ -235,7 +238,10 @@ dynamic loading, and an object system.") (files '("lib/girepository-1.0"))))) (search-paths native-search-paths) (arguments - `(#:phases + `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes + ;; some tests to fail. + #:tests? #f + #:phases (alist-cons-before 'configure 'patch-paths (lambda _ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0a6c1d4d73..535913bcf1 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> ;;; ;;; This file is part of GNU Guix. ;;; @@ -427,7 +428,7 @@ some form of information without getting in the user's way.") (define-public libpeas (package (name "libpeas") - (version "1.9.0") + (version "1.12.1") (source (origin (method url-fetch) @@ -436,7 +437,7 @@ some form of information without getting in the user's way.") name "-" version ".tar.xz")) (sha256 (base32 - "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0")))) + "1mjjjjwphc83bjznmbsm7x0jg7ql261nys6qnl7mi0nkr4qvw476")))) (build-system gnu-build-system) (inputs `(("atk" ,atk) @@ -449,6 +450,13 @@ some form of information without getting in the user's way.") ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool))) + (arguments + `(#:phases + (alist-cons-before + 'build 'pre-build + (lambda* _ + (setenv "CC" "gcc")) + %standard-phases))) (home-page "https://wiki.gnome.org/Libpeas") (synopsis "GObject plugin system") (description @@ -457,7 +465,6 @@ every application the chance to assume its own extensibility. It also has a set of features including, but not limited to: multiple extension points; on demand (lazy) programming language support for C, Python and JS; simplicity of the API") - (license license:lgpl2.0+))) (define-public gtkglext @@ -580,7 +587,7 @@ dealing with different structured file formats.") (define-public librsvg (package (name "librsvg") - (version "2.40.2") + (version "2.40.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -588,7 +595,7 @@ dealing with different structured file formats.") name "-" version ".tar.xz")) (sha256 (base32 - "071959yjb2i1bja7ciy4bmpnd6fn2is9jjqsvvvnsqwl69j9n128")))) + "01jgb11779080b80k2ncrhdphgillqrrnszal6vh8yv787r4kwwa")))) (build-system gnu-build-system) (arguments `(#:phases @@ -600,7 +607,7 @@ dealing with different structured file formats.") ;; gdk-pixbuf's prefix. Work around that. (("gdk_pixbuf_moduledir = .*$") (string-append "gdk_pixbuf_moduledir = " - "$(prefix)/lib/gdk-pixbuf-2.0/2.0.10/" + "$(prefix)/lib/gdk-pixbuf-2.0/2.10.0/" "loaders\n")) ;; Likewise, create a separate 'loaders.cache' file. (("gdk_pixbuf_cache_file = .*$") @@ -610,7 +617,7 @@ dealing with different structured file formats.") (lambda* (#:key inputs outputs #:allow-other-keys) (let ((loaders-directory (string-append (assoc-ref outputs "out") - "/lib/gdk-pixbuf-2.0/2.0.10/loaders"))) + "/lib/gdk-pixbuf-2.0/2.10.0/loaders"))) (zero? (system (string-append @@ -619,7 +626,11 @@ dealing with different structured file formats.") (string-join (find-files (assoc-ref inputs "gdk-pixbuf") "libpixbufloader-.*\\.so") " ") "> " loaders-directory ".cache"))))) - %standard-phases)))) + (alist-cons-before + 'build 'pre-build + (lambda* _ + (setenv "CC" "gcc")) + %standard-phases))))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; glib-mkenums, etc. @@ -1344,6 +1355,13 @@ libraries written in C.") ("xmllint" ,libxml2))) (propagated-inputs `(("gtk+" ,gtk+))) ; required by libvte-2.91.pc + (arguments + `(#:phases + (alist-cons-before + 'build 'pre-build + (lambda* _ + (setenv "CC" "gcc")) + %standard-phases))) (home-page "http://www.gnome.org/") (synopsis "Virtual Terminal Emulator") (description diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b03cf76182..6bd4e3665a 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,7 +47,7 @@ (define-public atk (package (name "atk") - (version "2.10.0") + (version "2.15.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -54,7 +55,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3")))) + "177a9x6lz2im0mfgxv2crv0l740wy7rg5vlnb8wyyf4fmnh0q19f")))) ; 2.15.3 (build-system gnu-build-system) (inputs `(("glib" ,glib))) (native-inputs @@ -151,14 +152,15 @@ affine transformation (scale, rotation, shear, etc.)") (define-public pango (package (name "pango") - (version "1.34.1") + (version "1.36.8") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/pango/1.34/pango-" - version ".tar.xz")) + (uri (string-append "mirror://gnome/sources/pango/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) (sha256 (base32 - "0k7662qix7zzh7mf6ikdj594n8jpbfm25z8swz64zbm86kgk1shs")))) + "01rdzjh68w8l5zn0648yibyarj8p6g7yfn59nw5awaz1i8dvbnqq")))) (build-system gnu-build-system) (propagated-inputs `(("cairo" ,cairo) @@ -265,7 +267,7 @@ printing and other features typical of a source code editor.") (define-public gdk-pixbuf (package (name "gdk-pixbuf") - (version "2.28.2") + (version "2.31.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -273,7 +275,7 @@ printing and other features typical of a source code editor.") name "-" version ".tar.xz")) (sha256 (base32 - "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q")))) + "1kajvfckn88bzcdnl73b933gmjhwjm3dhsj1yrpixhfsc4y5x9r5")))) (build-system gnu-build-system) (propagated-inputs ; required by gdk-pixbuf-2.0.pc `(("glib" ,glib) @@ -394,7 +396,7 @@ application suites.") (define-public gtk+ (package (inherit gtk+-2) (name "gtk+") - (version "3.10.1") + (version "3.14.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -402,7 +404,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "1f3a7r3z7i9xh5imlfpfcgyydzkj2fnd0v6ylvqxij0yzfbnhbn1")))) + "0vm40n6nf0w3vv54wqy67jcxddka7hplksi093xim3119yq196gv")))) (propagated-inputs `(("at-spi2-atk" ,at-spi2-atk) ("atk" ,atk) @@ -584,7 +586,7 @@ toolkit.") (define-public gtkmm (package (name "gtkmm") - (version "3.9.16") + (version "3.14.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -592,7 +594,7 @@ toolkit.") name "-" version ".tar.xz")) (sha256 (base32 - "0yf8wwv4w02p70nrxsbs0nhm0w4gkn2wggdjygd8vif062anf1rs")))) + "12z4g2in82nk92nfjs2hmrdcwbav8v3laz1813x2dhkf5jk2ixfr")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3d677f2208..50e90f0da3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1437,7 +1438,7 @@ from the module-init-tools project.") ;; The post-systemd fork, maintained by Gentoo. (package (name "eudev") - (version "1.10") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append @@ -1445,7 +1446,7 @@ from the module-init-tools project.") version ".tar.gz")) (sha256 (base32 - "1l907bvz6dcykvaq8d4iklvfpb9fyrnh1a29g3c28gkx2hlyn7j0")) + "0shf5vqiz9fdxl95aa1a8vh0xjxwim3psc39wr2xr8lnahf11vva")) (patches (list (search-patch "eudev-rules-directory.patch"))) (modules '((guix build utils))) (snippet @@ -1482,7 +1483,18 @@ from the module-init-tools project.") ;; Work around undefined reference to ;; 'mq_getattr' in sc-daemon.c. - "LDFLAGS=-lrt"))) + "LDFLAGS=-lrt") + #:phases + (alist-cons-before + 'build 'pre-build + ;; The program 'g-ir-scanner' (part of the package + ;; 'gobject-introspection'), to generate .gir files, makes some + ;; library pre-processing. During that phase it looks for the C + ;; compiler as either 'cc' or as defined by the environment variable + ;; 'CC' (with code in 'giscanner/dumper.py'). + (lambda* _ + (setenv "CC" "gcc")) + %standard-phases))) (home-page "http://www.gentoo.org/proj/en/eudev/") (synopsis "Userspace device management") (description "Udev is a daemon which dynamically creates and removes diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch new file mode 100644 index 0000000000..d00cc5a420 --- /dev/null +++ b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch @@ -0,0 +1,30 @@ +# Names of libraries included in typelib files are opened by dlopen. Here we +# add the full path. +# +# This patch was provided by Luca Bruno <lucabru@src.gnome.org> for +# 'gobject-introspection' 1.40.0 in Nix. +--- ./giscanner/utils.py.orig 2014-08-14 22:05:05.055334080 +0200 ++++ ./giscanner/utils.py 2014-08-14 22:05:24.687497334 +0200 +@@ -110,17 +110,11 @@ + if dlname is None: + return None + +- # Darwin uses absolute paths where possible; since the libtool files never +- # contain absolute paths, use the libdir field +- if platform.system() == 'Darwin': +- dlbasename = os.path.basename(dlname) +- libdir = _extract_libdir_field(la_file) +- if libdir is None: +- return dlbasename +- return libdir + '/' + dlbasename +- # From the comments in extract_libtool(), older libtools had +- # a path rather than the raw dlname +- return os.path.basename(dlname) ++ dlbasename = os.path.basename(dlname) ++ libdir = _extract_libdir_field(la_file) ++ if libdir is None: ++ return dlbasename ++ return libdir + '/' + dlbasename + + + def extract_libtool(la_file): diff --git a/gnu/packages/patches/gobject-introspection-girepository.patch b/gnu/packages/patches/gobject-introspection-girepository.patch new file mode 100644 index 0000000000..380617f27f --- /dev/null +++ b/gnu/packages/patches/gobject-introspection-girepository.patch @@ -0,0 +1,25 @@ +--- a/girepository/gitypelib.c.orig ++++ b/girepository/gitypelib.c +@@ -2296,7 +2296,22 @@ _g_typelib_do_dlopen (GITypelib *typelib) + { + GModule *module; + ++ /* 'gobject-introspection' doesn't store the path of shared ++ libraries into '.typelib' and '.gir' files. Shared ++ libraries are searched for in the dynamic linker search ++ path. In Guix we patch 'gobject-introspection' such that ++ it stores the absolute path of shared libraries in ++ '.typelib' and '.gir' files. Here, in order to minimize ++ side effects, we make sure that if the library is not ++ found at the indicated path location, we try with just ++ the basename and the system dynamic library ++ infrastructure, as per default behaviour of the ++ library. */ + module = load_one_shared_library (shlibs[i]); ++ if (module == NULL && g_path_is_absolute (shlibs[i])) ++ { ++ module = load_one_shared_library (g_basename(shlibs[i])); ++ } + + if (module == NULL) + { diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 5555acfbfa..4b306952c1 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> +;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2170,13 +2170,6 @@ that client code uses to construct the grammar directly in Python code.") ;; at run-time the user must set this variable as follows: ;; ;; export GI_TYPELIB_PATH=~/.guix-profile/lib/girepository-1.0 - ;; - ;; 'typelib' files include references to dynamic libraries. Currently - ;; the references do not include the full path to the libraries. For - ;; this reason the user must set the LD_LIBRARY_PATH to the location of - ;; 'libgtk-3.so.0', 'libgdk-3.so.0' and 'libatk-1.0.so.0': - ;; - ;; export LD_LIBRARY_PATH=~/.guix-profile/lib ("gtk+" ,gtk+) ;; From version 1.4.0 'matplotlib' makes use of 'cairocffi' instead of ;; 'pycairo'. However, 'pygobject' makes use of a 'pycairo' 'context' @@ -2199,7 +2192,7 @@ that client code uses to construct the grammar directly in Python code.") ("freetype" ,freetype) ("cairo" ,cairo) ("glib" ,glib) - ("python-pillow" ,python-pillow) + ;("python-pillow" ,python-pillow) ;; FIXME: Add backends when available. ;("python-wxpython" ,python-wxpython) ;("python-pyqt" ,python-pyqt) @@ -2217,10 +2210,6 @@ that client code uses to construct the grammar directly in Python code.") (gtk+ (assoc-ref inputs "gtk+"))) ;; Setting these directories in the 'basedirlist' of 'setup.cfg' ;; has not effect. - ;; - ;; FIXME: setting LD_LIBRARY_PATH should be removed once we patch - ;; gobject-introspection to include the full path of shared - ;; libraries in 'typelib' files. (setenv "LD_LIBRARY_PATH" (string-append cairo "/lib:" gtk+ "/lib")) (setenv "HOME" (getcwd)) @@ -2282,30 +2271,18 @@ toolkits.") ,@(alist-delete "python-numpydoc" (package-inputs matplotlib))))))) -;; Scipy 0.14.0 with Numpy 0.19.X fails several tests. This is known and -;; planned to be fixed in 0.14.1. It is claimed that the failures can safely -;; be ignored: -;; http://mail.scipy.org/pipermail/scipy-dev/2014-September/020043.html -;; https://github.com/scipy/scipy/issues/3853 -;; -;; The main test suite procedure prints the summary message: -;; -;; Ran 16412 tests in 245.033s -;; FAILED (KNOWNFAIL=277, SKIP=921, errors=327, failures=42) -;; -;; However, it still does return normally. (define-public python-scipy (package (name "python-scipy") - (version "0.14.0") + (version "0.15.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/scipy" - "/scipy-" version ".tar.gz")) + "/scipy-" version ".tar.xz")) (sha256 (base32 - "053bmz4qmnk4dmxvspfak8r10rpmy6mzwfzgy33z338ppzka6hab")))) + "0fsqi05s035d7p6s8h3h2pvk1axias16chy17rw9l1bxvrfhmncf")))) (build-system python-build-system) (inputs `(("python-numpy" ,python-numpy) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ff4488b8ef..b636918139 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4463,7 +4463,8 @@ kernel mode setting (KMS).") `(("python" ,python-wrapper) ("pkg-config" ,pkg-config))) (arguments - `(#:configure-flags + `(#:parallel-tests? #f + #:configure-flags (list (string-append "--with-xkb-path=" (assoc-ref %build-inputs "xkeyboard-config") "/share/X11/xkb") |