Skip to content
Snippets Groups Projects
Commit a1d5bb0e authored by Andy Wingo's avatar Andy Wingo Committed by Ludovic Courtès
Browse files

gnu: Add upower.


* gnu/packages/gnome.scm (upower): New variable.
* gnu/packages/patches/upower-builddir.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.

Signed-off-by: default avatarLudovic Courtès <ludo@gnu.org>
parent 002c57c6
No related branches found
No related tags found
No related merge requests found
......@@ -540,6 +540,7 @@ dist_patch_DATA = \
gnu/packages/patches/unzip-CVE-2014-8140.patch \
gnu/packages/patches/unzip-CVE-2014-8141.patch \
gnu/packages/patches/util-linux-tests.patch \
gnu/packages/patches/upower-builddir.patch \
gnu/packages/patches/valgrind-glibc-2.21.patch \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \
......
......@@ -2028,3 +2028,53 @@ (define-public geocode-glib
coordinates) using the Nominatim service. geocode-glib caches requests for
faster results and to avoid unnecessary server load.")
(license license:lgpl2.0+)))
(define-public upower
(package
(name "upower")
(version "0.99.2")
(source (origin
(method url-fetch)
(uri (string-append "http://upower.freedesktop.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
"0vwlh20jmaf01m38kfn8yx2869a3clmkzlycrj99rf4nvwx4bp79"))
(patches (list (search-patch "upower-builddir.patch")))))
(build-system glib-or-gtk-build-system)
(arguments
'( ;; The tests want to contact the system bus, which can't be done in the
;; build environment. The integration test can run, but the last of
;; the up-self-tests doesn't. Disable tests for now.
#:tests? #f
#:configure-flags (list "--localstatedir=/var"
(string-append "--with-udevrulesdir="
(assoc-ref %outputs "out")
"/lib/udev/rules.d"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-/bin/true
(lambda _
(substitute* "configure"
(("/bin/true") (which "true")))))
(add-before 'configure 'patch-integration-test
(lambda _
(substitute* "src/linux/integration-test"
(("/usr/bin/python3") (which "python3"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("python" ,python)))
(inputs
`(("eudev" ,eudev)
("dbus" ,dbus)
("dbus-glib" ,dbus-glib)
("libusb" ,libusb)))
(home-page "http://upower.freedesktop.org/")
(synopsis "System daemon for managing power devices")
(description
"UPower is an abstraction for enumerating power devices,
listening to device events and querying history and statistics. Any
application or service on the system can access the org.freedesktop.UPower
service via the system message bus.")
(license license:gpl2+)))
Remove explicit set of UPOWER_CONF_FILE_NAME in up-self-test.c;
instead the harness should set it. In Guix we set it explicitly; the
right thing is to use AM_TEST_ENVIRONMENT and regenerate the
makefiles, but we can't regenerate because current autotools carp on
some things, so we patch the Makefile.in instead.
Also fix to not try to create /var/lib/upower if /var isn't writable.
Patch by Andy Wingo <wingo@igalia.com>
--- upower-0.99.2.orig/src/Makefile.in 2014-12-18 10:32:01.000000000 +0100
+++ upower-0.99.2/src/Makefile.in 2015-04-04 19:49:28.020843678 +0200
@@ -780,6 +780,7 @@
@UP_BUILD_TESTS_TRUE@up_self_test_CFLAGS = $(AM_CFLAGS) $(WARNINGFLAGS_C)
@UP_BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = $(DBUS_LAUNCH)
+@UP_BUILD_TESTS_TRUE@AM_TESTS_ENVIRONMENT = UPOWER_CONF_FILE_NAME=$(top_srcdir)/etc/UPower.conf
dbusservicedir = $(datadir)/dbus-1/system-services
dbusservice_in_files = org.freedesktop.UPower.service.in
dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
@@ -1789,7 +1790,7 @@
@HAVE_SYSTEMDSYSTEMUNITDIR_TRUE@ @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
install-data-hook:
- if test -w $(DESTDIR)$(prefix)/; then \
+ if test -w $(DESTDIR)$(localstatedir)/; then \
mkdir -p $(DESTDIR)$(historydir); \
fi
--- upower-0.99.2.orig/src/up-self-test.c 2014-07-17 09:46:15.000000000 +0200
+++ upower-0.99.2/src/up-self-test.c 2015-04-04 18:43:04.952741927 +0200
@@ -295,12 +295,6 @@
#endif
g_test_init (&argc, &argv, NULL);
- /* make check, vs. make distcheck */
- if (g_file_test ("../etc/UPower.conf", G_FILE_TEST_EXISTS))
- g_setenv ("UPOWER_CONF_FILE_NAME", "../etc/UPower.conf", TRUE);
- else
- g_setenv ("UPOWER_CONF_FILE_NAME", "../../etc/UPower.conf", TRUE);
-
/* tests go here */
g_test_add_func ("/power/backend", up_test_backend_func);
g_test_add_func ("/power/device", up_test_device_func);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment