Merge branch 'wip-gobject-introspection'
This commit is contained in:
commit
5ade90ba69
|
@ -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 _
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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):
|
|
@ -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)
|
||||
{
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Reference in New Issue