From bc0b89bb3eca3adf35230d1fe7f89664762be4e8 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 15:41:30 +0100 Subject: gnu: xf86-video-openchrome: Patch to correct build failure. * gnu/packages/xorg.scm (xf86-video-openchrome): Add patch for build failure with glibc-2.20. Fixes bug #18740. * gnu/packages/patches/xf86-video-openchrome-includes.patch: New file. * gnu-system.am (dist_patch_DATA): Register patch. --- .../patches/xf86-video-openchrome-includes.patch | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 gnu/packages/patches/xf86-video-openchrome-includes.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/xf86-video-openchrome-includes.patch b/gnu/packages/patches/xf86-video-openchrome-includes.patch new file mode 100644 index 0000000000..3c79596387 --- /dev/null +++ b/gnu/packages/patches/xf86-video-openchrome-includes.patch @@ -0,0 +1,35 @@ +This follows the same rationale as xf86-input-synaptics-glibc-2.20.patch +to allow building with glibc-2.20. +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_3d.h xf86-video-openchrome-0.2.906/src/via_3d.h +--- xf86-video-openchrome-0.2.906.old/src/via_3d.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_3d.h 2014-11-23 14:18:37.000000000 +0100 +@@ -24,6 +24,7 @@ + #ifndef VIA_3D_H + #define VIA_3D_H + ++#include "xorg-server.h" + #include "xf86.h" + #include "via_dmabuffer.h" + +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_driver.h xf86-video-openchrome-0.2.906/src/via_driver.h +--- xf86-video-openchrome-0.2.906.old/src/via_driver.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_driver.h 2014-11-23 14:21:43.000000000 +0100 +@@ -35,6 +35,7 @@ + #endif + + #include "vgaHW.h" ++#include "xorg-server.h" + #include "xf86.h" + + #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_timing.h xf86-video-openchrome-0.2.906/src/via_timing.h +--- xf86-video-openchrome-0.2.906.old/src/via_timing.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_timing.h 2014-11-23 14:20:50.000000000 +0100 +@@ -25,6 +25,7 @@ + #ifndef _TIMING_H_ + #define _TIMING_H_ + ++#include "xorg-server.h" + #include "xf86.h" + + /* Aspect ratio not CVT standard */ -- cgit v1.2.3 From 7c4885f0d79593cb0f3a7981444f611d7ced54b9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 28 Nov 2014 15:08:56 +0100 Subject: linux-modules: Correctly propagate error code from 'init_module'. * gnu/packages/patches/guile-linux-syscalls.patch (scm_load_linux_module): Leave 'errno' unchanged when ERR != 0. * gnu/build/linux-modules.scm (load-linux-module*): Check for the errno value of ARGS to determine whether the module was already loaded. --- gnu/build/linux-modules.scm | 6 +----- gnu/packages/patches/guile-linux-syscalls.patch | 9 ++------- 2 files changed, 3 insertions(+), 12 deletions(-) (limited to 'gnu/packages/patches') diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 0fa09b2912..a3bc7d6e33 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -160,11 +160,7 @@ module name." (lambda args ;; If this module was already loaded and we're in modprobe style, ignore ;; the error. - - ;; FIXME: Use errno once 'guile-linux-syscalls.patch' provides a useful - ;; errno here. - (unless (and recursive? - (module-loaded? (string-drop-right (basename file) 3))) + (unless (and recursive? (= EEXIST (system-error-errno args))) (apply throw args))))) ;;; linux-modules.scm ends here diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch index 1fb24bde27..57c7f2589d 100644 --- a/gnu/packages/patches/guile-linux-syscalls.patch +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -7,7 +7,7 @@ diff --git a/libguile/posix.c b/libguile/posix.c index 324f21b..cbee94d 100644 --- a/libguile/posix.c +++ b/libguile/posix.c -@@ -2286,6 +2286,266 @@ scm_init_popen (void) +@@ -2286,6 +2286,261 @@ scm_init_popen (void) } #endif @@ -84,12 +84,7 @@ index 324f21b..cbee94d 100644 + free (c_options); + + if (err != 0) -+ { -+ /* XXX: `insmod' actually provides better translation of some of -+ the error codes. */ -+ errno = err; -+ SCM_SYSERROR; -+ } ++ SCM_SYSERROR; + + return SCM_UNSPECIFIED; +} -- cgit v1.2.3 From b88e1b0a626aa434e3934732392140dc9e919dd6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 17 Nov 2014 19:36:01 -0600 Subject: gnu: python: Add sqlite input. * gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch, gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch: New patches. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/python.scm (python-2)[source]: Add patch. [inputs]: Add sqlite. (python)[source]: Add patch. --- gnu-system.am | 2 ++ gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch | 15 +++++++++++++++ gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch | 15 +++++++++++++++ gnu/packages/python.scm | 8 +++++++- 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch create mode 100644 gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index f7532f0164..161580f43f 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -417,6 +417,8 @@ dist_patch_DATA = \ gnu/packages/patches/pybugz-stty.patch \ gnu/packages/patches/python-fix-tests.patch \ gnu/packages/patches/python-libffi-mips-n32-fix.patch \ + gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \ + gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \ gnu/packages/patches/qt4-tests.patch \ gnu/packages/patches/ratpoison-shell.patch \ gnu/packages/patches/readline-link-ncurses.patch \ diff --git a/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch new file mode 100644 index 0000000000..2f8b159870 --- /dev/null +++ b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch @@ -0,0 +1,15 @@ +From resolution of upstream python issue #20901: http://bugs.python.org/issue20901 + +diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py +--- Lib/sqlite3/test/hooks.py ++++ Lib/sqlite3/test/hooks.py +@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase): + create table bar (a, b) + """) + second_count = len(progress_calls) +- self.assertGreater(first_count, second_count) ++ self.assertGreaterEqual(first_count, second_count) + + def CheckCancelOperation(self): + """ + diff --git a/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch new file mode 100644 index 0000000000..f121e8852a --- /dev/null +++ b/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch @@ -0,0 +1,15 @@ +From resolution of upstream python issue #20901: http://bugs.python.org/issue20901 + +diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py +--- Lib/sqlite3/test/hooks.py ++++ Lib/sqlite3/test/hooks.py +@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase): + create table bar (a, b) + """) + second_count = len(progress_calls) +- self.assertTrue(first_count > second_count) ++ self.assertGreaterEqual(first_count, second_count) + + def CheckCancelOperation(self): + """ + diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 88f892799f..de60dca0a0 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -65,7 +65,8 @@ (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) - (patches (list (search-patch "python-libffi-mips-n32-fix.patch"))) + (patches (list (search-patch "python-libffi-mips-n32-fix.patch") + (search-patch "python2-sqlite-3.8.4-test-fix.patch"))) (patch-flags '("-p0")) (sha256 (base32 @@ -119,6 +120,7 @@ (let ((bz2 (assoc-ref %build-inputs "bzip2")) (gdbm (assoc-ref %build-inputs "gdbm")) (libffi (assoc-ref %build-inputs "libffi")) + (sqlite (assoc-ref %build-inputs "sqlite")) (openssl (assoc-ref %build-inputs "openssl")) (readline (assoc-ref %build-inputs "readline")) (zlib (assoc-ref %build-inputs "zlib"))) @@ -127,6 +129,7 @@ (string-append "CPPFLAGS=" "-I" bz2 "/include " "-I" gdbm "/include " + "-I" sqlite "/include " "-I" openssl "/include " "-I" readline "/include " "-I" zlib "/include") @@ -134,6 +137,7 @@ "-L" bz2 "/lib " "-L" gdbm "/lib " "-L" libffi "/lib " + "-L" sqlite "/lib " "-L" openssl "/lib " "-L" readline "/lib " "-L" zlib "/lib"))) @@ -177,6 +181,7 @@ `(("bzip2" ,bzip2) ("gdbm" ,gdbm) ("libffi" ,libffi) ; for ctypes + ("sqlite" ,sqlite) ; for sqlite extension ("openssl" ,openssl) ("readline" ,readline) ("zlib" ,zlib) @@ -208,6 +213,7 @@ data types.") (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) (patches (list (search-patch "python-fix-tests.patch") + (search-patch "python-sqlite-3.8.4-test-fix.patch") (search-patch "python-libffi-mips-n32-fix.patch"))) (patch-flags '("-p0")) (sha256 -- cgit v1.2.3 From a1de06b6ab382bf8fa0f715ec938467f5dcc25a5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 18 Nov 2014 18:57:41 -0600 Subject: gnu: Add python-pygobject. * gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/glib.scm (python-pygobject, python2-pygobject-2): New variables. --- gnu-system.am | 1 + gnu/packages/glib.scm | 84 ++++++++++++++++++++++ ...on2-pygobject-2-gi-info-type-error-domain.patch | 39 ++++++++++ 3 files changed, 124 insertions(+) create mode 100644 gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index 161580f43f..adf27874a9 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -419,6 +419,7 @@ dist_patch_DATA = \ gnu/packages/patches/python-libffi-mips-n32-fix.patch \ gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \ gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \ + gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ gnu/packages/patches/qt4-tests.patch \ gnu/packages/patches/ratpoison-shell.patch \ gnu/packages/patches/readline-link-ncurses.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index be2924c606..b472349d49 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -22,6 +22,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages base) @@ -37,6 +38,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages bash) #:use-module (gnu packages file) + #:use-module (gnu packages which) #:use-module (gnu packages xorg) #:use-module (gnu packages m4) @@ -430,3 +432,85 @@ has an ease of use unmatched by other C++ callback libraries.") "Glibmm provides a C++ programming interface to the part of GLib that are useful for C++.") (license license:lgpl2.1+))) + +(define-public python2-pygobject-2 + (package + (name "python2-pygobject") + ;; This was the last version to declare the 2.0 platform number, i.e. its + ;; pkg-config files were named pygobject-2.0.pc + (version "2.28.6") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pygobject/" + (version-major+minor version) + "/pygobject-" version ".tar.xz")) + (sha256 + (base32 + "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv")) + (patches + (list (search-patch + "python2-pygobject-2-gi-info-type-error-domain.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("which" ,which) + ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas + ("pkg-config" ,pkg-config) + ("dbus" ,dbus))) ;for tests + (inputs + `(("python" ,python-2) + ("glib" ,glib) + ("python2-py2cairo" ,python2-py2cairo) + ("gobject-introspection" ,gobject-introspection))) + (propagated-inputs + `(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc + (arguments + `(#:tests? #f ;segfaults during tests + #:configure-flags '("LIBS=-lcairo-gobject"))) + (home-page "https://pypi.python.org/pypi/PyGObject") + (synopsis "Python bindings for GObject") + (description + "Python bindings for GLib, GObject, and GIO.") + (license license:lgpl2.1+))) + +(define-public python-pygobject + (package + (name "python-pygobject") + (version "3.12.2") ;last version that works with + ;gobject-introspection 1.38 + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pygobject/" + (version-major+minor version) + "/pygobject-" version ".tar.xz")) + (sha256 + (base32 + "08m5yad1hjdax4g39w6lgjk4124mcwpa8fc5iyvb8nygk8s3syky")))) + ;; 3.14.0: 0m1d75iwxa6k1xbkn6c6yq5r10pxnf7i5c2a5yvwsnab7ylzz7kp + (build-system gnu-build-system) + (native-inputs + `(("which" ,which) + ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas + ("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python) + ("glib" ,glib) + ("python-pycairo" ,python-pycairo) + ("gobject-introspection" ,gobject-introspection) + ("libffi" ,libffi))) + (arguments + ;; TODO: failing tests: test_native_calls_async + ;; test_native_calls_async_errors test_native_calls_sync + ;; test_native_calls_sync_errors test_python_calls_async + ;; test_python_calls_async_error test_python_calls_async_error_result + ;; test_python_calls_sync test_python_calls_sync_errors + ;; test_python_calls_sync_noargs test_callback_user_data_middle_none + ;; test_callback_user_data_middle_single + ;; test_callback_user_data_middle_tuple + '(#:tests? #f)) + (home-page "https://pypi.python.org/pypi/PyGObject") + (synopsis "Python bindings for GObject") + (description + "Python bindings for GLib, GObject, and GIO.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch b/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch new file mode 100644 index 0000000000..6a08e56351 --- /dev/null +++ b/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch @@ -0,0 +1,39 @@ +From e5df32ffbf37481dbb6a70c4d4e7b7b9778c5549 Mon Sep 17 00:00:00 2001 +From: "John (J5) Palmieri" +Date: Sat, 13 Aug 2011 04:13:28 -0400 +Subject: remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN + + +diff --git a/gi/pygi-info.c b/gi/pygi-info.c +index 8729e25..007b609 100644 +--- a/gi/pygi-info.c ++++ b/gi/pygi-info.c +@@ -165,9 +165,6 @@ _pygi_info_new (GIBaseInfo *info) + case GI_INFO_TYPE_CONSTANT: + type = &PyGIConstantInfo_Type; + break; +- case GI_INFO_TYPE_ERROR_DOMAIN: +- type = &PyGIErrorDomainInfo_Type; +- break; + case GI_INFO_TYPE_UNION: + type = &PyGIUnionInfo_Type; + break; +@@ -484,7 +481,6 @@ _pygi_g_type_info_size (GITypeInfo *type_info) + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CONSTANT: +- case GI_INFO_TYPE_ERROR_DOMAIN: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_PROPERTY: +@@ -863,7 +859,6 @@ pygi_g_struct_info_is_simple (GIStructInfo *struct_info) + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CONSTANT: +- case GI_INFO_TYPE_ERROR_DOMAIN: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_PROPERTY: +-- +cgit v0.10.1 + -- cgit v1.2.3 From 36d2a3afeb9fba6f00de77cc62ef51e74380aff9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 3 Dec 2014 22:51:18 +0100 Subject: gnu: glib: Work around unreliable GIO test. Fixes . * gnu/packages/patches/glib-tests-gapplication.patch: New file * gnu/packages/glib.scm (glib)[source]: Add it. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/glib.scm | 3 ++- gnu/packages/patches/glib-tests-gapplication.patch | 28 ++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/glib-tests-gapplication.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index b3ba176b5b..ddcf2e4943 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -358,6 +358,7 @@ dist_patch_DATA = \ gnu/packages/patches/glib-tests-homedir.patch \ gnu/packages/patches/glib-tests-prlimit.patch \ gnu/packages/patches/glib-tests-timer.patch \ + gnu/packages/patches/glib-tests-gapplication.patch \ gnu/packages/patches/glibc-bootstrap-system.patch \ gnu/packages/patches/glibc-ldd-x86_64.patch \ gnu/packages/patches/gnunet-fix-scheduler.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fd4aa8860d..a6149cdc0e 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -129,7 +129,8 @@ shared NFS home directories.") (patches (list (search-patch "glib-tests-homedir.patch") (search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-prlimit.patch") - (search-patch "glib-tests-timer.patch"))))) + (search-patch "glib-tests-timer.patch") + (search-patch "glib-tests-gapplication.patch"))))) (build-system gnu-build-system) (outputs '("out" ; everything "bin" ; glib-mkenums, gtester, etc.; depends on Python diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/packages/patches/glib-tests-gapplication.patch new file mode 100644 index 0000000000..1845fcb9b8 --- /dev/null +++ b/gnu/packages/patches/glib-tests-gapplication.patch @@ -0,0 +1,28 @@ +This test has proven to be unreliable, often leading to things like this +in gapplication.log: + + PASS: gapplication 3 /gapplication/properties + Failed to register: The connection is closed + ** + GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated) + ok 4 /gapplication/app-id + PASS: gapplication 4 /gapplication/app-id + ../../tap-test: line 5: 24133 Aborted $1 -k --tap + # GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated) + cleaning up pid 24154 + ERROR: gapplication - missing test plan + ERROR: gapplication - exited with status 134 (terminated by signal 6?) + +See and . + + +--- glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:44.566667649 +0100 ++++ glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:45.346674179 +0100 +@@ -685,7 +685,6 @@ main (int argc, char **argv) + /* g_test_add_func ("/gapplication/non-unique", test_nonunique); */ + g_test_add_func ("/gapplication/properties", properties); + g_test_add_func ("/gapplication/app-id", appid); +- g_test_add_func ("/gapplication/quit", test_quit); + g_test_add_func ("/gapplication/local-actions", test_local_actions); + /* g_test_add_func ("/gapplication/remote-actions", test_remote_actions); */ + g_test_add_func ("/gapplication/local-command-line", test_local_command_line); -- cgit v1.2.3 From 66717243d0683fa05b5630c2e011f3a486a8d316 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Tue, 9 Dec 2014 13:31:17 +0100 Subject: gnu: gobject-introspection: Update to 1.42.0 and add new patch. * gnu/packages/glib.scm (gobject-introspection): Update to version 1.42.0. Add patch 'gobject-introspection-absolute-shlib-path.patch' provided by Luca Bruno for Nix. --- gnu/packages/glib.scm | 20 +++++++++------ ...gobject-introspection-absolute-shlib-path.patch | 30 ++++++++++++++++++++++ 2 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index a6a7b03573..159762c77c 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -197,17 +197,18 @@ 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-absolute-shlib-path.patch"))))) (build-system gnu-build-system) (inputs `(("bison" ,bison) @@ -223,7 +224,10 @@ dynamic loading, and an object system.") ;; gobject-introspection. ("libffi" ,libffi))) (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/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 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): -- cgit v1.2.3 From 2e88e089da7cb0d1937e020ce1f7efdf72739a74 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 5 Dec 2014 00:22:04 +0300 Subject: gnu: Add wmctrl. * gnu/packages/xdisorg.scm (wmctrl): New variable. * gnu/packages/patches/wmctrl-64-fix.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/patches/wmctrl-64-fix.patch | 32 ++++++++++++++++++++++++++++ gnu/packages/xdisorg.scm | 36 ++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 gnu/packages/patches/wmctrl-64-fix.patch (limited to 'gnu/packages/patches') diff --git a/gnu-system.am b/gnu-system.am index 4da3f5b4cd..99225b2a18 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -448,6 +448,7 @@ dist_patch_DATA = \ gnu/packages/patches/util-linux-perl.patch \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/w3m-fix-compile.patch \ + gnu/packages/patches/wmctrl-64-fix.patch \ gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch \ gnu/packages/patches/xf86-video-openchrome-includes.patch \ gnu/packages/patches/xmodmap-asprintf.patch diff --git a/gnu/packages/patches/wmctrl-64-fix.patch b/gnu/packages/patches/wmctrl-64-fix.patch new file mode 100644 index 0000000000..3ec1c913ff --- /dev/null +++ b/gnu/packages/patches/wmctrl-64-fix.patch @@ -0,0 +1,32 @@ +Description: Correct 64 Architecture implementation of 32 bit data +Author: Chris Donoghue +Bug-Debian: http://bugs.debian.org/362068 + +--- wmctrl-1.07.orig/main.c ++++ wmctrl-1.07/main.c +@@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis + * + * long_length = Specifies the length in 32-bit multiples of the + * data to be retrieved. ++ * ++ * NOTE: see ++ * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html ++ * In particular: ++ * ++ * When the X window system was ported to 64-bit architectures, a ++ * rather peculiar design decision was made. 32-bit quantities such ++ * as Window IDs, atoms, etc, were kept as longs in the client side ++ * APIs, even when long was changed to 64 bits. ++ * + */ + if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False, + xa_prop_type, &xa_ret_type, &ret_format, +@@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis + + /* null terminate the result to make string handling easier */ + tmp_size = (ret_format / 8) * ret_nitems; ++ /* Correct 64 Architecture implementation of 32 bit data */ ++ if(ret_format==32) tmp_size *= sizeof(long)/4; + ret = g_malloc(tmp_size + 1); + memcpy(ret, ret_prop, tmp_size); + ret[tmp_size] = '\0'; diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index a118fd745e..a46b8f8fac 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages glib) #:use-module (gnu packages xorg)) ;; packages outside the x.org system proper @@ -215,3 +217,37 @@ notification protocol. The reference implementation is mostly under an X Window System style license, and has no special dependencies.") ;; Most of the code is provided under x11 license. (license license:lgpl2.0+))) + +(define-public wmctrl + (package + (name "wmctrl") + (version "1.07") + (source (origin + (method url-fetch) + (uri (string-append + "http://tomas.styblo.name/wmctrl/dist/wmctrl-" + version ".tar.gz")) + (sha256 + (base32 + "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np")) + (patches (list (search-patch "wmctrl-64-fix.patch"))))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "out") + "/share/man")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("libxmu" ,libxmu) + ("glib" ,glib))) + (home-page "http://tomas.styblo.name/wmctrl/") + (synopsis "Command-line tool to control X window managers") + (description + "Wmctrl allows to interact with an X window manager that is compatible +with the EWMH/NetWM specification. It can query the window manager for +information, and request for certain window management actions (resize and +move windows, switch between desktops, etc.)") + (license license:gpl2+))) -- cgit v1.2.3 From 6c2cf86edb04adb3a74bf4099fd9a8ad4f8c5ae1 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Wed, 10 Dec 2014 09:43:29 +0100 Subject: Revert "gnu: gobject-introspection: Update to 1.42.0 and add new patch." This reverts commit 66717243d0683fa05b5630c2e011f3a486a8d316. Several packages fail to build with the new version. --- gnu/packages/glib.scm | 20 ++++++--------- ...gobject-introspection-absolute-shlib-path.patch | 30 ---------------------- 2 files changed, 8 insertions(+), 42 deletions(-) delete mode 100644 gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 4f18ef7a88..486cdb6add 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -197,18 +197,17 @@ dynamic loading, and an object system.") (define gobject-introspection (package (name "gobject-introspection") - (version "1.42.0") + (version "1.38.0") (source (origin (method url-fetch) (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/" - "gobject-introspection/" (version-major+minor version) - "/gobject-introspection-" version ".tar.xz")) + "gobject-introspection/" + (substring version 0 (string-rindex version #\.)) + "/gobject-introspection-" + version ".tar.xz")) (sha256 - (base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv")) - (patches (list - (search-patch "gobject-introspection-cc.patch") - (search-patch - "gobject-introspection-absolute-shlib-path.patch"))))) + (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m")) + (patches (list (search-patch "gobject-introspection-cc.patch"))))) (build-system gnu-build-system) (inputs `(("bison" ,bison) @@ -229,10 +228,7 @@ dynamic loading, and an object system.") (directories '("lib/girepository-1.0"))))) (search-paths native-search-paths) (arguments - `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes - ;; some tests to fail. - #:tests? #f - #:phases + `(#:phases (alist-cons-before 'configure 'patch-paths (lambda _ diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch deleted file mode 100644 index d00cc5a420..0000000000 --- a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch +++ /dev/null @@ -1,30 +0,0 @@ -# Names of libraries included in typelib files are opened by dlopen. Here we -# add the full path. -# -# This patch was provided by Luca Bruno 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): -- cgit v1.2.3