diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix index bdb0cf2a7659..a560ec73a9a9 100644 --- a/pkgs/tools/networking/networkmanager/default.nix +++ b/pkgs/tools/networking/networkmanager/default.nix @@ -5,7 +5,7 @@ , gettext , pkg-config , dbus -, gnome +, gitUpdater , libuuid , polkit , gnutls @@ -58,13 +58,13 @@ let pythonForDocs = python3.pythonOnBuildForHost.withPackages (pkgs: with pkgs; [ pygobject3 ]); in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "networkmanager"; - version = "1.48.10"; + version = "1.50.2"; src = fetchurl { - url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz"; - hash = "sha256-XcGI/f/PLSPInTSx5jGaayAgPhLq7CSzADe36orIxhM="; + url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/releases/${finalAttrs.version}/downloads/NetworkManager-${finalAttrs.version}.tar.xz"; + hash = "sha256-EEc76dOrifiiemi3v1vJVXhRpRg7dLYkHl4PpcaSH+8="; }; outputs = [ "out" "dev" "devdoc" "man" "doc" ]; @@ -105,8 +105,6 @@ stdenv.mkDerivation rec { "-Dresolvconf=${openresolv}/bin/resolvconf" # DHCP clients - # ISC DHCP client has reached it's end of life, so stop using it - "-Ddhclient=no" "-Ddhcpcd=${dhcpcd}/bin/dhcpcd" "-Ddhcpcanon=no" @@ -132,9 +130,6 @@ stdenv.mkDerivation rec { # Meson does not support using different directories during build and # for installation like Autotools did with flags passed to make install. ./fix-install-paths.patch - - # https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1966 - ./without-systemd.patch ]; buildInputs = [ @@ -210,10 +205,9 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gnome.updateScript { - packageName = "NetworkManager"; - attrPath = "networkmanager"; - versionPolicy = "odd-unstable"; + updateScript = gitUpdater { + odd-unstable = true; + url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git"; }; tests = { inherit (nixosTests.networking) networkmanager; @@ -232,4 +226,4 @@ stdenv.mkDerivation rec { lib.systems.inspect.platformPatterns.isStatic ]; }; -} +}) diff --git a/pkgs/tools/networking/networkmanager/without-systemd.patch b/pkgs/tools/networking/networkmanager/without-systemd.patch deleted file mode 100644 index b48b21da1c85..000000000000 --- a/pkgs/tools/networking/networkmanager/without-systemd.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 70d1c34b94baadc3305745cf159ea55f312beacc Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Fri, 7 Jun 2024 14:03:15 -0700 -Subject: [PATCH] libnm-systemd-core: Disable sd_dhcp6_client_set_duid_uuid - function - -When building on musl systems ( with out systemd ), and using LLD linker -from LLVM project we fail to link with undefined symbols. - -This symbol is in sd_id128.c but its disabled, so let disable the functions -which need this function. - -| x86_64-yoe-linux-musl-ld.lld: error: undefined symbol: sd_id128_get_machine_app_specific -| >>> referenced by sd-dhcp-duid.c:202 (/usr/src/debug/networkmanager/1.48.0/../NetworkManager-1.48.0/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c:202) -| >>> libnm-systemd-core.a.p/src_libsystemd-network_sd-dhcp-duid.c.o:(sd_dhcp_duid_set_uuid) in archive src/libnm-systemd-core/libnm-systemd-core.a -| x86_64-yoe-linux-musl-clang: error: linker command failed with exit code 1 (use -v to see invocation) - -Signed-off-by: Khem Raj ---- - src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c | 2 ++ - .../src/libsystemd-network/sd-dhcp6-client.c | 3 ++- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c -index e664a4a720..7ba502086f 100644 ---- a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c -+++ b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c -@@ -193,6 +193,7 @@ int sd_dhcp_duid_set_en(sd_dhcp_duid *duid) { - return 0; - } - -+#if 0 - int sd_dhcp_duid_set_uuid(sd_dhcp_duid *duid) { - sd_id128_t machine_id; - int r; -@@ -209,6 +210,7 @@ int sd_dhcp_duid_set_uuid(sd_dhcp_duid *duid) { - duid->size = offsetof(struct duid, uuid.uuid) + sizeof(machine_id); - return 0; - } -+#endif - - int dhcp_duid_to_string_internal(uint16_t type, const void *data, size_t data_size, char **ret) { - _cleanup_free_ char *p = NULL, *x = NULL; -diff --git a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c -index 7c20116409..08c1e96b3c 100644 ---- a/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c -+++ b/src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c -@@ -244,6 +244,7 @@ int sd_dhcp6_client_set_duid_en(sd_dhcp6_client *client) { - return 0; - } - -+#if 0 - int sd_dhcp6_client_set_duid_uuid(sd_dhcp6_client *client) { - int r; - -@@ -256,7 +257,7 @@ int sd_dhcp6_client_set_duid_uuid(sd_dhcp6_client *client) { - - return 0; - } -- -+#endif - int sd_dhcp6_client_set_duid_raw(sd_dhcp6_client *client, uint16_t duid_type, const uint8_t *duid, size_t duid_len) { - int r; - --- -GitLab -