gnu: network-manager: Switch to meson-build-system.
This commit is contained in:
parent
c2f236fa92
commit
255ff74f3a
1 changed files with 71 additions and 63 deletions
|
@ -6367,42 +6367,42 @@ (define-public network-manager
|
||||||
(substitute* "src/devices/wwan/nm-modem-manager.c"
|
(substitute* "src/devices/wwan/nm-modem-manager.c"
|
||||||
(("systemd") "elogind"))
|
(("systemd") "elogind"))
|
||||||
#t))))
|
#t))))
|
||||||
(build-system gnu-build-system)
|
(build-system meson-build-system)
|
||||||
(outputs '("out"
|
(outputs '("out"
|
||||||
"doc")) ; 8 MiB of gtk-doc HTML
|
"doc")) ; 8 MiB of gtk-doc HTML
|
||||||
(arguments
|
(arguments
|
||||||
'(#:configure-flags
|
`(#:configure-flags
|
||||||
(let ((out (assoc-ref %outputs "out"))
|
(let ((out (assoc-ref %outputs "out"))
|
||||||
(doc (assoc-ref %outputs "doc"))
|
|
||||||
(dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
|
(dhclient (string-append (assoc-ref %build-inputs "isc-dhcp")
|
||||||
"/sbin/dhclient")))
|
"/sbin/dhclient")))
|
||||||
(list "--with-libnm-glib" ; needed by network-manager-applet
|
(list
|
||||||
"--with-systemd-journal=no"
|
;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path
|
||||||
"--with-session-tracking=elogind"
|
;; component.
|
||||||
"--with-suspend-resume=elogind"
|
(string-append "-Dc_link_args=-Wl,-rpath="
|
||||||
"--with-consolekit=no"
|
out "/lib:"
|
||||||
"--with-crypto=gnutls"
|
out "/lib/NetworkManager/" ,version)
|
||||||
"--with-iwd=yes"
|
"-Dsystemd_journal=false"
|
||||||
"--with-libaudit=yes"
|
"-Dsession_tracking=elogind"
|
||||||
"--with-resolvconf=yes"
|
"-Dsuspend_resume=elogind"
|
||||||
"--sysconfdir=/etc"
|
"-Dsystemdsystemunitdir=no"
|
||||||
"--localstatedir=/var"
|
"-Dsession_tracking_consolekit=false"
|
||||||
(string-append "--with-udev-dir="
|
"-Ddhcpcd=no"
|
||||||
out "/lib/udev")
|
"-Ddhcpcanon=no"
|
||||||
(string-append "--with-dbus-sys-dir="
|
"-Dcrypto=gnutls"
|
||||||
out "/etc/dbus-1/system.d")
|
"-Diwd=true"
|
||||||
(string-append "--with-html-dir="
|
"-Dlibaudit=yes"
|
||||||
doc "/share/gtk-doc/html")
|
"-Dqt=false"
|
||||||
(string-append "--with-dhclient=" dhclient)))
|
"-Ddocs=true"
|
||||||
|
"--sysconfdir=/etc"
|
||||||
|
"--localstatedir=/var"
|
||||||
|
(string-append "-Dudev_dir="
|
||||||
|
out "/lib/udev")
|
||||||
|
(string-append "-Ddbus_conf_dir="
|
||||||
|
out "/etc/dbus-1/system.d")
|
||||||
|
|
||||||
|
(string-append "-Ddhclient=" dhclient)))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
;; This bare "ls" invocation breaks some tests.
|
|
||||||
(add-after 'unpack 'patch-ls-invocation
|
|
||||||
(lambda _
|
|
||||||
(substitute* "build-aux/ltmain.sh"
|
|
||||||
(("`ls -")
|
|
||||||
(string-append "`" (which "ls") " -")))
|
|
||||||
#t))
|
|
||||||
(add-before 'configure 'pre-configure
|
(add-before 'configure 'pre-configure
|
||||||
(lambda _
|
(lambda _
|
||||||
;; These tests try to test aspects of network-manager's
|
;; These tests try to test aspects of network-manager's
|
||||||
|
@ -6410,61 +6410,64 @@ (define-public network-manager
|
||||||
;; cope with being already in the Guix build jail as that jail
|
;; cope with being already in the Guix build jail as that jail
|
||||||
;; lacks some features that they would like to proxy over (like
|
;; lacks some features that they would like to proxy over (like
|
||||||
;; a /sys mount).
|
;; a /sys mount).
|
||||||
(substitute* '("Makefile.in")
|
(substitute* "src/platform/tests/meson.build"
|
||||||
(("src/platform/tests/test-address-linux") " ")
|
((".*test-address-linux.*") "")
|
||||||
(("src/platform/tests/test-cleanup-linux") " ")
|
((".*test-cleanup-linux.*") "")
|
||||||
(("src/platform/tests/test-link-linux") " ")
|
((".*test-link-linux.*") "")
|
||||||
(("src/platform/tests/test-route-linux") " ")
|
((".*test-route-linux.*") ""))
|
||||||
(("src/devices/tests/test-acd") "")
|
(substitute* "src/devices/tests/meson.build"
|
||||||
(("src/devices/tests/test-arping") " ")
|
((".*test-acd.*") "")
|
||||||
(("src/devices/tests/test-lldp") " ")
|
((".*test-lldp.*") ""))
|
||||||
(("src/tests/test-route-manager-linux") " "))
|
|
||||||
#t))
|
|
||||||
(add-after 'unpack 'delete-failing-tests
|
|
||||||
(lambda _
|
|
||||||
;; FIXME: These three tests fail for unknown reasons.
|
|
||||||
;; ERROR:libnm-core/tests/test-general.c:5842:
|
|
||||||
;; _json_config_check_valid: assertion failed (res == expected): (1 == 0)
|
|
||||||
;; ERROR:libnm-core/tests/test-keyfile.c:647:
|
|
||||||
;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL)
|
|
||||||
;; ERROR:libnm-core/tests/test-setting.c:907:
|
|
||||||
;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner))
|
|
||||||
(substitute* "Makefile.in"
|
|
||||||
(("libnm-core/tests/test-general") " ")
|
|
||||||
(("libnm-core/tests/test-keyfile") " ")
|
|
||||||
(("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " "))
|
|
||||||
#t))
|
#t))
|
||||||
|
(add-after 'unpack 'patch-docbook-xml
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(let ((xmldoc (string-append (assoc-ref inputs "docbook-xml")
|
||||||
|
"/xml/dtd/docbook")))
|
||||||
|
(substitute* (find-files "." ".*\\.(xsl|xml)")
|
||||||
|
(("http://.*/docbookx\\.dtd")
|
||||||
|
(string-append xmldoc "/docbookx.dtd")))
|
||||||
|
#t)))
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
(lambda _
|
(lambda _
|
||||||
;; For the missing /etc/machine-id.
|
;; For the missing /etc/machine-id.
|
||||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||||
#t))
|
#t))
|
||||||
(replace 'install
|
(add-before 'install 'no-polkit-magic
|
||||||
|
;; Meson ‘magically’ invokes pkexec, which fails (not setuid).
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "make"
|
(setenv "PKEXEC_UID" "something")
|
||||||
"sysconfdir=/tmp"
|
#t))
|
||||||
"rundir=/tmp"
|
(add-after 'install 'move-doc
|
||||||
"statedir=/tmp"
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
"nmstatedir=/tmp/nm"
|
(let ((out (assoc-ref outputs "out"))
|
||||||
"install")
|
(doc (assoc-ref outputs "doc")))
|
||||||
#t)))))
|
(mkdir-p (string-append doc "/share"))
|
||||||
|
(for-each (lambda (directory)
|
||||||
|
(copy-recursively (string-append out directory)
|
||||||
|
(string-append doc directory))
|
||||||
|
(delete-file-recursively
|
||||||
|
(string-append out directory)))
|
||||||
|
'("/share/doc" "/share/gtk-doc"))
|
||||||
|
#t))))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("glib" ,glib)))
|
`(("glib" ,glib)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("glib:bin" ,glib "bin") ; for gdbus-codegen
|
`(("glib:bin" ,glib "bin") ; for gdbus-codegen
|
||||||
|
("gtk-doc" ,gtk-doc)
|
||||||
("gobject-introspection" ,gobject-introspection)
|
("gobject-introspection" ,gobject-introspection)
|
||||||
|
("docbook-xml" ,docbook-xml)
|
||||||
("docbook-xsl" ,docbook-xsl)
|
("docbook-xsl" ,docbook-xsl)
|
||||||
("intltool" ,intltool)
|
("intltool" ,intltool)
|
||||||
("libxslt" ,libxslt)
|
("libxslt" ,libxslt)
|
||||||
("libxml2" ,libxml2)
|
("libxml2" ,libxml2)
|
||||||
("pkg-config" ,pkg-config)
|
("pkg-config" ,pkg-config)
|
||||||
|
("vala" ,vala)
|
||||||
;; For testing.
|
;; For testing.
|
||||||
("python" ,python-wrapper)
|
("python" ,python-wrapper)
|
||||||
("python-dbus" ,python-dbus)
|
("python-dbus" ,python-dbus)
|
||||||
("python-pygobject" ,python-pygobject)))
|
("python-pygobject" ,python-pygobject)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("coreutils" ,coreutils) ; for ls
|
`(("curl" ,curl)
|
||||||
("curl" ,curl)
|
|
||||||
("cyrus-sasl" ,cyrus-sasl)
|
("cyrus-sasl" ,cyrus-sasl)
|
||||||
("dbus-glib" ,dbus-glib)
|
("dbus-glib" ,dbus-glib)
|
||||||
("dnsmasq" ,dnsmasq)
|
("dnsmasq" ,dnsmasq)
|
||||||
|
@ -6480,6 +6483,7 @@ (define-public network-manager
|
||||||
("libndp" ,libndp)
|
("libndp" ,libndp)
|
||||||
("libnl" ,libnl)
|
("libnl" ,libnl)
|
||||||
("libsoup" ,libsoup)
|
("libsoup" ,libsoup)
|
||||||
|
("mobile-broadband-provider-info" ,mobile-broadband-provider-info)
|
||||||
("modem-manager" ,modem-manager)
|
("modem-manager" ,modem-manager)
|
||||||
("newt" ,newt) ;for the 'nmtui' console interface
|
("newt" ,newt) ;for the 'nmtui' console interface
|
||||||
("openresolv" ,openresolv) ; alternative resolv.conf manager
|
("openresolv" ,openresolv) ; alternative resolv.conf manager
|
||||||
|
@ -6496,7 +6500,11 @@ (define-public network-manager
|
||||||
available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
|
available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
|
||||||
devices, and provides VPN integration with a variety of different VPN
|
devices, and provides VPN integration with a variety of different VPN
|
||||||
services.")
|
services.")
|
||||||
(license license:gpl2+)
|
;; “This NetworkManager project consists of the daemon, client tools, and
|
||||||
|
;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under
|
||||||
|
;; GPL-2.0+.”
|
||||||
|
(license (list license:gpl2+
|
||||||
|
license:lgpl2.1+))
|
||||||
(properties '((upstream-name . "NetworkManager")))))
|
(properties '((upstream-name . "NetworkManager")))))
|
||||||
|
|
||||||
(define-public network-manager-openvpn
|
(define-public network-manager-openvpn
|
||||||
|
|
Loading…
Reference in a new issue