index
:
guix
koszko
koszko-scripts
Wojtek's customized Guix
<
about
summary
refs
log
tree
commit
diff
log msg
author
committer
range
;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi> ;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages glib) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages curl) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) #:use-module (gnu packages enlightenment) #:use-module (gnu packages file) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) #:use-module (gnu packages graphviz) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages libffi) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages nettle) #:use-module (gnu packages pcre) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages popt) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sqlite) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix gexp) #:use-module (srfi srfi-26) #:use-module ((srfi srfi-1) #:hide (zip)) ;; Export variables up-front to allow circular dependency with the 'xorg' ;; module. #:export (dbus glib gobject-introspection dbus-glib intltool itstool libsigc++ glibmm telepathy-glib perl-net-dbus perl-net-dbus-glib)) (define dbus (package (name "dbus") (version "1.15.8") (source (origin (method url-fetch) (uri (string-append "https://dbus.freedesktop.org/releases/dbus/dbus-" version ".tar.xz")) (sha256 (base32 "016j3rqc8m62bg0h7z4rpvbvm5bg0hbjrld733f0aby8drz5kz44")) (patches (search-patches "dbus-helper-search-path.patch")))) (build-system gnu-build-system) (arguments (list #:configure-flags #~(list ;; Install the system bus socket under /var. "--localstatedir=/var" ;; Install the session bus socket under /tmp. "--with-session-socket-dir=/tmp" ;; Build shared libraries only. "--disable-static" ;; Use /etc/dbus-1 for system-wide config. ;; Look for configuration file under ;; /etc/dbus-1. This is notably required by ;; 'dbus-daemon-launch-helper', which looks for ;; the 'system.conf' file in that place, ;; regardless of what '--config-file' was ;; passed to 'dbus-daemon' on the command line; ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>. "--sysconfdir=/etc") #:phases #~(modify-phases %standard-phases (replace 'install (lambda _ ;; Don't try to create /var and /etc. (invoke "make" "localstatedir=/tmp/dummy" "sysconfdir=/tmp/dummy" "install")))))) (native-inputs ;; Some dependencies are required to generate the documentation. Also, ;; quoting NEWS for 1.15.8: “Autotools-generated files are no longer ;; included in the tarball release.” (list autoconf autoconf-archive automake docbook-xml-4.4 docbook-xsl doxygen libtool libxslt which xmlto yelp-tools pkg-config)) (inputs (list expat ;; Add a dependency on libx11 so that 'dbus-launch' has support for ;; '--autolaunch'. libx11)) (outputs '("out" "doc")) ;22 MiB of HTML doc (home-page "https://www.freedesktop.org/wiki/Software/dbus/") (synopsis "Message bus for inter-process communication (IPC)") (description "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed. D-Bus supplies both a system daemon (for events such as \"new hardware device added\" or \"printer queue changed\") and a per-user-login-session daemon (for general IPC needs among user applications). Also, the message bus is built on top of a general one-to-one message passing framework, which can be used by any two apps to communicate directly (without going through the message bus daemon). Currently the communicating applications are on one computer, or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories.") (license license:gpl2+))) ; or Academic Free License 2.1 ;;; This variant is used for the Jami service: it provides an entry point to ;;; further customize the configuration of the D-Bus instance run by the ;;; jami-dbus-session service. (define-public dbus-for-jami (hidden-package (package/inherit dbus (name "dbus-for-jami") (arguments (substitute-keyword-arguments (package-arguments dbus) ((#:phases phases) #~(modify-phases #$phases (add-after 'unpack 'customize-config (lambda _ (substitute* "bus/session.conf.in" (("@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf") "/var/run/jami/session-local.conf"))))))))))) (define-public dbus-1.15.0 ;; Dbus 1.15.2 has a breaking change. (hidden-package (package/inherit dbus (version "1.15.0") (source (origin (method url-fetch) (uri (string-append "https://dbus.freedesktop.org/releases/dbus/dbus-" version ".tar.xz")) (sha256 (base32 "02k4zm5h24clwp4csp2r3xp2lxib31jlk3xkgdj2c0njkb5whwsh")) (patches (search-patches "dbus-helper-search-path.patch"))))))) ;;; The reason this is not enabled in the regular dbus package is because it ;;; impacts the performance of D-Bus (including its library) as a whole, even ;;; when the DBUS_VERBOSE environment variable is not set. (define-public dbus-verbose (package/inherit dbus (name "dbus-verbose") (arguments (substitute-keyword-arguments (package-arguments dbus) ((#:configure-flags flags '()) #~(cons "--enable-verbose-mode" #$flags)))) (synopsis "D-Bus with verbose mode enabled for debugging") (description "This variant D-Bus package is built with verbose mode, which eases debugging of D-Bus services by printing various debug information when the @code{DBUS_VERBOSE} environment variable is set to @samp{1}. For more information, refer to the @samp{dbus-daemon(1)} man page."))) (define glib (package (name "glib") (version "2.78.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-" version ".tar.xz")) (sha256 (base32 "0c3vagxl77wma85qinbj974jvw96n5bvch2m7hqcwxq8fa5spsj4")) (patches (search-patches "glib-appinfo-watch.patch" "glib-skip-failing-test.patch")) (modules '((guix build utils))) (snippet '(begin (substitute* "glib/tests/spawn-test.c" (("/bin/sh") "sh")))))) (build-system meson-build-system) (outputs '("out" ;libraries, locales, etc "static" ;static libraries "bin" ;executables; depends on Python "debug")) (arguments (list #:disallowed-references (cons tzdata-for-tests ;; Verify glib-mkenums, gtester, ... use the cross-compiled ;; python. (if (%current-target-system) (map (cut gexp-input <> #:native? #t) `(,(this-package-native-input "python") ,(this-package-native-input "python-wrapper"))) '())) #:configure-flags #~(list "--default-library=both" "-Dman=false" "-Dselinux=disabled" (string-append "--bindir=" #$output:bin "/bin")) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'set-G_TEST_SRCDIR (lambda _ (setenv "G_TEST_SRCDIR" (string-append (getcwd) "/gio/tests")))) ;; Needed to pass the test phase on slower ARM and i686 machines. (add-after 'unpack 'increase-test-timeout (lambda _ (substitute* "meson.build" (("(test_timeout.*) = ([[:digit:]]+)" all first second) (string-append first " = " second "0"))))) (add-after 'unpack 'disable-failing-tests (lambda _ (substitute* "gio/tests/meson.build" ((".*'testfilemonitor'.*") ;marked as flaky "")) (with-directory-excursion "glib/tests" (substitute* '("unix.c" "utils.c") (("[ \t]*g_test_add_func.*;") ""))) (with-directory-excursion "gio/tests" (substitute* '("contenttype.c" "gdbus-address-get-session.c" "gdbus-server-auth.c" "gdbus-peer.c" "appinfo.c" "desktop-app-info.c") (("[ \t]*g_test_add_func.*;") "")) (unless (which "update-desktop-database") (substitute* "file.c" (("[ \t]*g_test_add_func.*query-default-handler.*;") ""))) (substitute* '("portal-support-snap.c") (("g_test_init .*") "return EXIT_SUCCESS;"))) #$@(if (target-x86-32?) ;; Comment out parts of timer.c that fail on i686 due to ;; excess precision when building with GCC 10: ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>. '((substitute* "glib/tests/timer.c" (("^ g_assert_cmpuint \\(micros.*" all) (string-append "//" all
-rw-r--r--
monitoring.scm
22363
log
plain
about
-rw-r--r--
networking.scm
60461
log
plain
about
-rw-r--r--
nfs.scm
5808
log
plain
about
-rw-r--r--
nix.scm
3858
log
plain
about
-rw-r--r--
pm.scm
14199
log
plain
about
-rw-r--r--
rsync.scm
7475
log
plain
about
-rw-r--r--
sddm.scm
13163
log
plain
about
-rw-r--r--
security-token.scm
3590
log
plain
about
-rw-r--r--
shepherd.scm
16519
log
plain
about
-rw-r--r--
sound.scm
3042
log
plain
about
-rw-r--r--
spice.scm
3007
log
plain
about
-rw-r--r--
ssh.scm
25746
log
plain
about
-rw-r--r--
sysctl.scm
2822
log
plain
about
-rw-r--r--
telephony.scm
14262
log
plain
about
-rw-r--r--
version-control.scm
14598
log
plain
about
-rw-r--r--
virtualization.scm
29295
log
plain
about
-rw-r--r--
vpn.scm
17502
log
plain
about
-rw-r--r--
web.scm
65896
log
plain
about
-rw-r--r--
xorg.scm
41024
log
plain
about