From d9da7087c03e906ed5cc720a57f18de5329f4007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 30 Apr 2022 02:04:02 +0200 Subject: [PATCH 1/3] python310Packages.nftables: init from pkgs.nftables, reduce with lib; usage over enitre file --- pkgs/os-specific/linux/nftables/default.nix | 16 +++++++--------- pkgs/top-level/python-packages.nix | 5 +++++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix index 8485a868d8a..051ca196305 100644 --- a/pkgs/os-specific/linux/nftables/default.nix +++ b/pkgs/os-specific/linux/nftables/default.nix @@ -8,8 +8,6 @@ , withXtables ? true , iptables }: -with lib; - stdenv.mkDerivation rec { version = "1.0.2"; pname = "nftables"; @@ -28,8 +26,8 @@ stdenv.mkDerivation rec { buildInputs = [ libmnl libnftnl libpcap gmp jansson libedit - ] ++ optional withXtables iptables - ++ optional withPython python3; + ] ++ lib.optional withXtables iptables + ++ lib.optional withPython python3; preConfigure = '' substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file @@ -46,12 +44,12 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-json" "--with-cli=editline" - ] ++ optional (!withDebugSymbols) "--disable-debug" - ++ optional (!withPython) "--disable-python" - ++ optional withPython "--enable-python" - ++ optional withXtables "--with-xtables"; + ] ++ lib.optional (!withDebugSymbols) "--disable-debug" + ++ lib.optional (!withPython) "--disable-python" + ++ lib.optional withPython "--enable-python" + ++ lib.optional withXtables "--with-xtables"; - meta = { + meta = with lib; { description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework"; homepage = "https://netfilter.org/projects/nftables/"; license = licenses.gpl2Only; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3616171dfdf..e4236c1d2d2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5595,6 +5595,11 @@ in { nextcord = callPackage ../development/python-modules/nextcord { }; + nftables = toPythonModule (pkgs.nftables.override { + python3 = python; + withPython = true; + }); + nghttp2 = (toPythonModule (pkgs.nghttp2.override { inherit (self) python cython setuptools; inherit (pkgs) ncurses; From cecb014d5daeb8b0c75361ed8ba89d9e84279c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 30 Apr 2022 02:03:17 +0200 Subject: [PATCH 2/3] networkmanager-applet: rename from networkmanagerapplet --- nixos/modules/programs/nm-applet.nix | 2 +- nixos/modules/services/x11/desktop-managers/cinnamon.nix | 2 +- pkgs/desktops/gnome/core/gnome-control-center/default.nix | 5 +++-- pkgs/desktops/gnome/default.nix | 2 +- .../pantheon/apps/switchboard-plugs/network/default.nix | 4 ++-- pkgs/tools/networking/networkmanager/applet/default.nix | 2 +- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 4 ++-- 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/nixos/modules/programs/nm-applet.nix b/nixos/modules/programs/nm-applet.nix index 5bcee30125b..db03ea67975 100644 --- a/nixos/modules/programs/nm-applet.nix +++ b/nixos/modules/programs/nm-applet.nix @@ -23,7 +23,7 @@ description = "Network manager applet"; wantedBy = [ "graphical-session.target" ]; partOf = [ "graphical-session.target" ]; - serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet ${lib.optionalString config.programs.nm-applet.indicator "--indicator"}"; + serviceConfig.ExecStart = "${pkgs.networkmanager-applet}/bin/nm-applet ${lib.optionalString config.programs.nm-applet.indicator "--indicator"}"; }; services.dbus.packages = [ pkgs.gcr ]; diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix index 705dbec5e74..d75fdc0fa0c 100644 --- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix +++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix @@ -136,7 +136,7 @@ in # session requirements cinnamon-screensaver # cinnamon-killer-daemon: provided by cinnamon-common - networkmanagerapplet # session requirement - also nm-applet not needed + networkmanager-applet # session requirement - also nm-applet not needed # For a polkit authentication agent polkit_gnome diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix index c7da1e43a15..1d2597c02db 100644 --- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix @@ -42,7 +42,7 @@ , modemmanager , mutter , networkmanager -, networkmanagerapplet +, networkmanager-applet , libnma-gtk4 , ninja , pkg-config @@ -76,8 +76,9 @@ stdenv.mkDerivation rec { src = ./paths.patch; gcm = gnome-color-manager; gnome_desktop = gnome-desktop; + networkmanagerapplet = networkmanager-applet; inherit glibc libgnomekbd tzdata; - inherit cups networkmanagerapplet; + inherit cups; }) # Fix Online Accounts configuration on X11 diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index a0561ca0030..1b5c452288f 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -379,7 +379,7 @@ lib.makeScope pkgs.newScope (self: with self; { dconf = throw "The ‘gnome.dconf’ alias was removed on 2022-01-13. Please use ‘pkgs.dconf’ directly."; # added 2019-11-30 - networkmanagerapplet = throw "The ‘gnome.networkmanagerapplet’ alias was removed on 2022-01-13. Please use ‘pkgs.networkmanagerapplet’ directly."; # added 2019-12-12 + networkmanagerapplet = throw "The ‘gnome.networkmanagerapplet’ alias was removed on 2022-01-13. Please use ‘pkgs.networkmanager-applet’ directly."; # added 2019-12-12 glade = throw "The ‘gnome.glade’ alias was removed on 2022-01-13. Please use ‘pkgs.glade’ directly."; # added 2020-05-15 diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index fbad5aa7a01..0f93d30b19b 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -11,7 +11,7 @@ , granite , gtk3 , networkmanager -, networkmanagerapplet +, networkmanager-applet , libnma , switchboard }: @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./fix-paths.patch; - inherit networkmanagerapplet; + networkmanagerapplet = networkmanager-applet; }) ]; diff --git a/pkgs/tools/networking/networkmanager/applet/default.nix b/pkgs/tools/networking/networkmanager/applet/default.nix index cca96577ad4..51205881091 100644 --- a/pkgs/tools/networking/networkmanager/applet/default.nix +++ b/pkgs/tools/networking/networkmanager/applet/default.nix @@ -74,7 +74,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome.updateScript { packageName = pname; - attrPath = "networkmanagerapplet"; + attrPath = "networkmanager-applet"; versionPolicy = "odd-unstable"; }; }; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index db1ad06296a..105c64e5686 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -847,6 +847,7 @@ mapAliases ({ neap = throw "neap was removed from nixpkgs, as it relies on python2"; # Added 2022-01-12 netcat-openbsd = throw "'netcat-openbsd' has been renamed to/replaced by 'libressl.nc'"; # Converted to throw 2022-02-22 netease-cloud-music = throw "netease-cloud-music has been removed together with deepin"; # Added 2020-08-31 + networkmanagerapplet = networkmanager-applet; # Added 2022-04-30 networkmanager_fortisslvpn = throw "'networkmanager_fortisslvpn' has been renamed to/replaced by 'networkmanager-fortisslvpn'"; # Converted to throw 2022-02-22 networkmanager_iodine = throw "'networkmanager_iodine' has been renamed to/replaced by 'networkmanager-iodine'"; # Converted to throw 2022-02-22 networkmanager_l2tp = throw "'networkmanager_l2tp' has been renamed to/replaced by 'networkmanager-l2tp'"; # Converted to throw 2022-02-22 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 511f3d20bce..46d92ba0612 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8514,6 +8514,8 @@ with pkgs; networkmanager = callPackage ../tools/networking/networkmanager { }; + networkmanager-applet = callPackage ../tools/networking/networkmanager/applet { }; + networkmanager-iodine = callPackage ../tools/networking/networkmanager/iodine { }; networkmanager-openvpn = callPackage ../tools/networking/networkmanager/openvpn { }; @@ -8530,8 +8532,6 @@ with pkgs; networkmanager-sstp = callPackage ../tools/networking/networkmanager/sstp { }; - networkmanagerapplet = callPackage ../tools/networking/networkmanager/applet { }; - libnma = callPackage ../tools/networking/networkmanager/libnma { }; libnma-gtk4 = libnma.override { withGtk4 = true; }; From aeeb5ebd00adb6e247a4a5774a8a84f24fb1cfb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 28 Apr 2022 23:35:46 +0200 Subject: [PATCH 3/3] firewalld: init at 1.1.1 --- .../networking/firewalld/default.nix | 104 ++++++++++++++++++ .../respect-xml-catalog-files-var.patch | 13 +++ pkgs/top-level/all-packages.nix | 4 + 3 files changed, 121 insertions(+) create mode 100644 pkgs/applications/networking/firewalld/default.nix create mode 100644 pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch diff --git a/pkgs/applications/networking/firewalld/default.nix b/pkgs/applications/networking/firewalld/default.nix new file mode 100644 index 00000000000..825222783e3 --- /dev/null +++ b/pkgs/applications/networking/firewalld/default.nix @@ -0,0 +1,104 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, bash +, docbook_xml_dtd_42 +, docbook-xsl-nons +, glib +, gobject-introspection +, gtk3 +, intltool +, libnotify +, libxml2 +, libxslt +, networkmanager-applet +, pkg-config +, python3 +, wrapGAppsNoGuiHook +, withGui ? false +}: + +let + pythonPath = python3.withPackages (ps: with ps; [ + dbus-python + nftables + pygobject3 + ] ++ lib.optionals withGui [ + pyqt5 + pyqt5_sip + ]); +in +stdenv.mkDerivation rec { + pname = "firewalld"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "firewalld"; + repo = "firewalld"; + rev = "v${version}"; + sha256 = "sha256-w8TbovIhOhJAUZWbKdBd/+db8Hro/ttlxWZDcrCXX4Q="; + }; + + patches = [ + ./respect-xml-catalog-files-var.patch + ]; + + postPatch = '' + substituteInPlace src/firewall/config/__init__.py.in \ + --replace "/usr/share" "$out/share" + + for file in config/firewall-{applet,config}.desktop.in; do + substituteInPlace $file \ + --replace "/usr/bin/" "$out/bin/" + done + '' + lib.optionalString withGui '' + substituteInPlace src/firewall-applet.in \ + --replace "/usr/bin/nm-connection-editor" "${networkmanager-applet}/bin/nm-conenction-editor" + ''; + + nativeBuildInputs = [ + autoreconfHook + docbook_xml_dtd_42 + docbook-xsl-nons + glib + intltool + libxml2 + libxslt + pkg-config + python3 + python3.pkgs.wrapPython + ] ++ lib.optionals withGui [ + gobject-introspection + wrapGAppsNoGuiHook + ]; + + buildInputs = [ + bash + glib + ] ++ lib.optionals withGui [ + gtk3 + libnotify + pythonPath + ]; + + dontWrapGApps = true; + + preFixup = lib.optionalString withGui '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + postFixup = '' + chmod +x $out/share/firewalld/*.py $out/share/firewalld/testsuite/python/*.py $out/share/firewalld/testsuite/{,integration/}testsuite + patchShebangs --host $out/share/firewalld/testsuite/{,integration/}testsuite $out/share/firewalld/*.py + wrapPythonProgramsIn "$out/bin" "$out ${pythonPath}" + wrapPythonProgramsIn "$out/share/firewalld/testsuite/python" "$out ${pythonPath}" + ''; + + meta = with lib; { + description = "Firewall daemon with D-Bus interface"; + homepage = "https://github.com/firewalld/firewalld"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch b/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch new file mode 100644 index 00000000000..03a10121c6b --- /dev/null +++ b/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch @@ -0,0 +1,13 @@ +--- a/m4/jh_path_xml_catalog.m4 ++++ b/m4/jh_path_xml_catalog.m4 +@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG], + [ + AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl + AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog]) +- if $jh_found_xmlcatalog && \ +- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then ++ # empty argument forces libxml to use XML_CATALOG_FILES variable ++ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then + AC_MSG_RESULT([found]) + ifelse([$3],,,[$3 + ])dnl diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 46d92ba0612..268548d254d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26031,6 +26031,10 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Security; }; + firewalld = callPackage ../applications/networking/firewalld { }; + + firewalld-gui = firewalld.override { withGui = true; }; + flacon = libsForQt5.callPackage ../applications/audio/flacon { }; flexget = callPackage ../applications/networking/flexget { };