diff --git a/srcpkgs/accountsservice/patches/ad0365b77b583da06bcd1e8da4c1bed74129895a.patch b/srcpkgs/accountsservice/patches/ad0365b77b583da06bcd1e8da4c1bed74129895a.patch new file mode 100644 index 00000000000..beb551b5bb5 --- /dev/null +++ b/srcpkgs/accountsservice/patches/ad0365b77b583da06bcd1e8da4c1bed74129895a.patch @@ -0,0 +1,39 @@ +From ad0365b77b583da06bcd1e8da4c1bed74129895a Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 28 Sep 2023 09:29:07 -0400 +Subject: [PATCH] tests: s/assertEquals/assertEqual/ + +CI is currently failing with: + +Traceback (most recent call last): + File "/home/user/accountsservice/_build/../tests/test-libaccountsservice.py", line 118, in test_multiple_inflight_get_user_by_id_calls + self.assertEquals(user.get_user_name(), 'pizza') + ^^^^^^^^^^^^^^^^^ +AttributeError: 'TestAccountsServicePreExistingUser' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'? + +I have no idea if assertEquals was dropped, or if CI has been failing +all this time or what. + +This commit makes the suggested change. +--- + tests/test-libaccountsservice.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/test-libaccountsservice.py b/tests/test-libaccountsservice.py +index f0261b1..f2fcbc2 100644 +--- a/tests/test-libaccountsservice.py ++++ b/tests/test-libaccountsservice.py +@@ -115,8 +115,8 @@ class TestAccountsServicePreExistingUser(AccountsServiceTestBase): + self.assertTrue(user_objects[instance].is_loaded()) + + for user in user_objects: +- self.assertEquals(user.get_user_name(), 'pizza') +- self.assertEquals(user.get_uid(), 2001) ++ self.assertEqual(user.get_user_name(), 'pizza') ++ self.assertEqual(user.get_uid(), 2001) + + @unittest.skipUnless(have_accounts_service, + 'AccountsService gi introspection not available') +-- +GitLab + diff --git a/srcpkgs/accountsservice/patches/fix-build.patch b/srcpkgs/accountsservice/patches/fix-build.patch new file mode 100644 index 00000000000..662ce0eb005 --- /dev/null +++ b/srcpkgs/accountsservice/patches/fix-build.patch @@ -0,0 +1,142 @@ +Submitted upstream: https://gitlab.freedesktop.org/accountsservice/accountsservice/-/merge_requests/163 + +From 00b6e12ad4044d33cc54c71c75773c5a653dad09 Mon Sep 17 00:00:00 2001 +From: oreo639 +Date: Sun, 9 Feb 2025 23:24:08 -0800 +Subject: [PATCH 1/2] build: Disable tests when cross compiling and allow + specifying path_wtmp + +--- + meson.build | 64 ++++++++++++++++++++++++++--------------------- + meson_options.txt | 2 ++ + 2 files changed, 38 insertions(+), 28 deletions(-) + +diff --git a/meson.build b/meson.build +index 34a9d3d..7bfaf8c 100644 +--- a/meson.build ++++ b/meson.build +@@ -82,34 +82,40 @@ if cc.has_member('struct passwd', 'pw_expire', prefix : '#include ') + config_h.set('HAVE_STRUCT_PASSWD_PW_EXPIRE', 1) + endif + +-if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', prefix: '#define _GNU_SOURCE') +- code = '''#define _GNU_SOURCE +- #include +- #include +- int main (int argc, char **argv) { +- printf ("%s\n", WTMPX_FILENAME); +- return 0; +- } +- ''' +- result = cc.run(code, name : 'value of WTMPX_FILENAME') +- path_wtmp = result.stdout().strip() +- +- config_h.set('PATH_WTMP', 'WTMPX_FILENAME') +-elif cc.has_header_symbol('paths.h', '_PATH_WTMPX') +- code = '''#include +- #include +- int main (int argc, char **argv) { +- printf ("%s\n", _PATH_WTMPX); +- return 0; +- } +- ''' +- result = cc.run(code, name : 'value of _PATH_WTMPX') +- path_wtmp = result.stdout().strip() +- +- config_h.set('PATH_WTMP', '_PATH_WTMPX') ++path_wtmp = get_option('wtmpfile') ++if path_wtmp == '' ++ if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', prefix: '#define _GNU_SOURCE') and meson.can_run_host_binaries() ++ code = '''#define _GNU_SOURCE ++ #include ++ #include ++ int main (int argc, char **argv) { ++ printf ("%s\n", WTMPX_FILENAME); ++ return 0; ++ } ++ ''' ++ result = cc.run(code, name : 'value of WTMPX_FILENAME') ++ path_wtmp = result.stdout().strip() ++ ++ config_h.set('PATH_WTMP', 'WTMPX_FILENAME') ++ elif cc.has_header_symbol('paths.h', '_PATH_WTMPX') and meson.can_run_host_binaries() ++ code = '''#include ++ #include ++ int main (int argc, char **argv) { ++ printf ("%s\n", _PATH_WTMPX); ++ return 0; ++ } ++ ''' ++ result = cc.run(code, name : 'value of _PATH_WTMPX') ++ path_wtmp = result.stdout().strip() ++ ++ config_h.set('PATH_WTMP', '_PATH_WTMPX') ++ else ++ assert(not meson.is_cross_build(), 'Cannot determine wtmp for this cross compile, please specify -Dwtmpfile=') ++ path_wtmp = '/var/log/utx.log' ++ assert(run_command('test', '-e', path_wtmp, check: false).returncode() == 0, 'Do not know which filename to watch for wtmp changes') ++ config_h.set_quoted('PATH_WTMP', path_wtmp) ++ endif + else +- path_wtmp = '/var/log/utx.log' +- assert(run_command('test', '-e', path_wtmp, check: false).returncode() == 0, 'Do not know which filename to watch for wtmp changes') + config_h.set_quoted('PATH_WTMP', path_wtmp) + endif + +@@ -250,7 +256,9 @@ if get_option('gtk_doc') + subdir('doc/libaccountsservice') + endif + +-subdir('tests') ++if get_option('tests') and meson.can_run_host_binaries() ++ subdir('tests') ++endif + + configure_file( + output: 'config.h', +diff --git a/meson_options.txt b/meson_options.txt +index 592e961..5524ea0 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,7 @@ + option('systemdsystemunitdir', type: 'string', value: '', description: 'custom directory for systemd system units') + option('gdmconffile', type: 'string', value: '/etc/gdm/custom.conf', description: 'GDM configuration file') + option('lightdmconffile', type: 'string', value: '/etc/lightdm/lightdm.conf', description: 'LightDM configuration file') ++option('wtmpfile', type: 'string', value: '', description: 'override filepath of wtmp file') + + option('admin_group', type: 'string', value: '', description: 'Set group for administrative accounts') + option('extra_admin_groups', type: 'array', value: [], description: 'Comma-separated list of extra groups that administrator users are part of') +@@ -13,3 +13,4 @@ option('vapi', type: 'boolean', value: t + + option('docbook', type: 'boolean', value: false, description: 'build documentation (requires xmlto)') + option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation') ++option('tests', type: 'boolean', value: true, description: 'run accountservice tests if possible') +-- +GitLab + + +From 0095351cbf8cd2b26db19bf95e615070df8b4eeb Mon Sep 17 00:00:00 2001 +From: oreo639 +Date: Mon, 10 Feb 2025 00:11:34 -0800 +Subject: [PATCH 2/2] build: Fix skipping tests when they are unable to be run + +--- + tests/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/meson.build b/tests/meson.build +index 854fea6..8928fff 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -46,7 +46,7 @@ if python3_test_modules_found + base_args = test_file + suite = ['accounts-service'] + +- r = run_command(unittest_inspector, test_file, check: true) ++ r = run_command(unittest_inspector, test_file, check: false) + unit_tests = r.stdout().strip().split('\n') + + if r.returncode() == 0 and unit_tests.length() > 0 +-- +GitLab + diff --git a/srcpkgs/accountsservice/patches/meson-0.61.patch b/srcpkgs/accountsservice/patches/meson-0.61.patch deleted file mode 100644 index 9245afdd47d..00000000000 --- a/srcpkgs/accountsservice/patches/meson-0.61.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ac9b14f1c1bbca413987d0bbfeaad05804107e9a Mon Sep 17 00:00:00 2001 -From: Luca Boccassi -Date: Sun, 31 Oct 2021 12:29:14 +0000 -Subject: Fix build with meson 0.60 - -Positional parameters to merge_file() were never allowed and always -ignored, so just drop it. -See: https://github.com/mesonbuild/meson/issues/9441 - -Fixes #97 ---- - data/meson.build | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/data/meson.build b/data/meson.build -index 70edf89..9e80299 100644 ---- a/data/meson.build -+++ b/data/meson.build -@@ -33,7 +33,6 @@ configure_file( - policy = act_namespace.to_lower() + '.policy' - - i18n.merge_file( -- policy, - input: policy + '.in', - output: policy, - po_dir: po_dir, --- -cgit v1.2.1 - diff --git a/srcpkgs/accountsservice/patches/musl-wtmp.patch b/srcpkgs/accountsservice/patches/musl-wtmp.patch deleted file mode 100644 index 1d01e317331..00000000000 --- a/srcpkgs/accountsservice/patches/musl-wtmp.patch +++ /dev/null @@ -1,15 +0,0 @@ -Reason: fix build on musl -Tidy up and send upstream soon... ---- a/meson.build -+++ b/meson.build -@@ -82,8 +82,7 @@ if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', prefix: '#define _GNU_SOURC - elif cc.has_header_symbol('paths.h', '_PATH_WTMPX') - config_h.set('PATH_WTMP', '_PATH_WTMPX') - else -- assert(run_command('test', '-e', '/var/log/utx.log').returncode() == 0, 'Do not know which filename to watch for wtmp changes') -- config_h.set_quoted('PATH_WTMP', '/var/log/utx.log') -+ config_h.set_quoted('PATH_WTMP', '/var/log/wtmp') - endif - - # compiler flags - diff --git a/srcpkgs/accountsservice/template b/srcpkgs/accountsservice/template index bd349b359d2..bd4045d671c 100644 --- a/srcpkgs/accountsservice/template +++ b/srcpkgs/accountsservice/template @@ -1,19 +1,20 @@ # Template file for 'accountsservice' pkgname=accountsservice -version=0.6.55 -revision=3 +version=23.13.9 +revision=1 build_style=meson build_helper="gir" -configure_args="-Dsystemdsystemunitdir=no -Duser_heuristics=false - $(vopt_bool gir introspection) $(vopt_bool elogind elogind)" -hostmakedepends="glib-devel pkg-config polkit gettext" -makedepends="polkit-devel $(vopt_if elogind elogind-devel)" +configure_args="-Dsystemdsystemunitdir=/usr/lib/systemd/system + -Dwtmpfile=/var/log/wtmp $(vopt_bool gir introspection)" +hostmakedepends="glib-devel pkg-config polkit gettext $(vopt_if gir vala) + python3-dbus python3-gobject python3-dbusmock" +makedepends="polkit-devel elogind-devel" short_desc="D-Bus interfaces for querying and manipulating user account information" maintainer="Enno Boland " license="GPL-3.0-or-later" homepage="https://www.freedesktop.org/wiki/Software/AccountsService/" distfiles="${FREEDESKTOP_SITE}/${pkgname}/${pkgname}-${version}.tar.xz" -checksum=ff2b2419a7e06bd9cb335ffe391c7409b49a0f0130b890bd54692a3986699c9b +checksum=adda4cdeae24fa0992e7df3ffff9effa7090be3ac233a3edfdf69d5a9c9b924f make_dirs=" /var/lib/AccountsService/users 755 root root /var/lib/AccountsService/icons 755 root root" @@ -23,8 +24,13 @@ if [ "$XBPS_TARGET_LIBC" = "glibc" ]; then fi # Package build options -build_options="elogind gir" -build_options_default="elogind gir" +build_options="gir" +build_options_default="gir" + +pre_configure() { + # Assumes system locale is en_IE + vsed -e 's/test_languages/disabled_test_languages/g' -i tests/test-daemon.py +} accountsservice-devel_package() { depends="${sourcepkg}>=${version}_${revision}"