diff options
Diffstat (limited to 'pkgs/applications/networking')
22 files changed, 230 insertions, 117 deletions
diff --git a/pkgs/applications/networking/browsers/vieb/default.nix b/pkgs/applications/networking/browsers/vieb/default.nix deleted file mode 100644 index fa5fad4934c1..000000000000 --- a/pkgs/applications/networking/browsers/vieb/default.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ stdenv, buildNpmPackage, fetchFromGitHub, electron, makeWrapper, python3, makeDesktopItem, nix-update-script, lib }: - -buildNpmPackage rec { - pname = "vieb"; - version = "10.4.0"; - - src = fetchFromGitHub { - owner = "Jelmerro"; - repo = pname; - rev = version; - hash = "sha256-SQQDlOSP1MZeN6BHdahpxpZ0e60lgA4ph0r2jkmTdP8="; - }; - - postPatch = '' - sed -i '/"electron"/d' package.json - ''; - - npmDepsHash = "sha256-yCWSEuhiP6DfcFns6uyUrLBJeQbOK7yJ9QfGhHkTlHI="; - makeCacheWritable = true; - dontNpmBuild = true; - - nativeBuildInputs = [ makeWrapper ] ++ lib.optional stdenv.isAarch64 python3; - - desktopItem = makeDesktopItem { - name = "vieb"; - exec = "vieb %U"; - icon = "vieb"; - desktopName = "Web Browser"; - genericName = "Web Browser"; - categories = [ "Network" "WebBrowser" ]; - mimeTypes = [ - "text/html" - "application/xhtml+xml" - "x-scheme-handler/http" - "x-scheme-handler/https" - ]; - }; - - postInstall = '' - install -Dm0644 {${desktopItem},$out}/share/applications/vieb.desktop - - pushd $out/lib/node_modules/vieb/app/img/icons - for file in *.png; do - install -Dm0644 $file $out/share/icons/hicolor/''${file//.png}/apps/vieb.png - done - popd - - makeWrapper ${electron}/bin/electron $out/bin/vieb \ - --add-flags $out/lib/node_modules/vieb/app \ - --set npm_package_version ${version} - ''; - - distPhase = ":"; # disable useless $out/tarballs directory - - passthru.updateScript = nix-update-script {}; - - meta = with lib; { - homepage = "https://vieb.dev/"; - changelog = "https://github.com/Jelmerro/Vieb/releases/tag/${version}"; - description = "Vim Inspired Electron Browser"; - maintainers = with maintainers; [ gebner tejing ]; - platforms = platforms.unix; - license = licenses.gpl3Plus; - }; -} diff --git a/pkgs/applications/networking/cluster/acorn/default.nix b/pkgs/applications/networking/cluster/acorn/default.nix index 4b6e44ab020f..decafe8602e6 100644 --- a/pkgs/applications/networking/cluster/acorn/default.nix +++ b/pkgs/applications/networking/cluster/acorn/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "acorn"; - version = "0.8.0"; + version = "0.9.2"; src = fetchFromGitHub { owner = "acorn-io"; repo = pname; rev = "v${version}"; - hash = "sha256-ZS3YxXgMSu8+eRnpqrtaBTQIlSY3cscudcTbztiRsbM="; + hash = "sha256-l9V6URc5wY30z6W76n3xrGMHC43kDWfx0+1eznmcVi4="; }; - vendorHash = "sha256-jkkzlMc2y8HvPZjpmRIQz64JK5yjhdoJevE0dclBHvA="; + vendorHash = "sha256-EJ66rX0Pv6KG9wiEZq1POf6CODbENP/LbS6qZkn3XWs="; ldflags = [ "-s" diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix index 4104c40bf045..b116f566c5ce 100644 --- a/pkgs/applications/networking/cluster/driftctl/default.nix +++ b/pkgs/applications/networking/cluster/driftctl/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "driftctl"; - version = "0.39.0"; + version = "0.40.0"; src = fetchFromGitHub { owner = "snyk"; repo = "driftctl"; rev = "v${version}"; - sha256 = "sha256-1i5x05q0Mo3E3ExM9qONRtQCH3nO7pXyNqOaAtz7qYE="; + sha256 = "sha256-IDKfW0NCEsgKXpHA7SwkHjMeoGAIYITlDVR/vI/b9hk="; }; - vendorHash = "sha256-H/+LORl7Bjy1NshjtWDzj13YCrlQQgtBr4+Rz/rxQkY="; + vendorHash = "sha256-JFvC9PReziktHSXbltGkGHjVR8hTM1hPJ0OqrZQXRQM="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix index a44214238309..8386bd2d59db 100644 --- a/pkgs/applications/networking/cluster/istioctl/default.nix +++ b/pkgs/applications/networking/cluster/istioctl/default.nix @@ -2,25 +2,25 @@ buildGoModule rec { pname = "istioctl"; - version = "1.18.2"; + version = "1.20.0"; src = fetchFromGitHub { owner = "istio"; repo = "istio"; rev = version; - sha256 = "sha256-eSftWXwV8W/mpxZNvUUDS27z3vU36vJj/z0/Wo5qEts="; + hash = "sha256-V07e0IbHlQLSVxzWClHX8PrwKY4DaMZmwy3IwGTD7jI="; }; - vendorHash = "sha256-tuiQ11pcfoTOu+OVey+YmU4tTOj5C7p5bKP2ylEkUug="; + vendorHash = "sha256-PQYlqi4KDietVV2J5KiaoFqHg12l0bomj57lsTYkSPo="; nativeBuildInputs = [ installShellFiles ]; # Bundle release metadata ldflags = let attrs = [ - "istio.io/pkg/version.buildVersion=${version}" - "istio.io/pkg/version.buildStatus=Nix" - "istio.io/pkg/version.buildTag=${version}" - "istio.io/pkg/version.buildHub=docker.io/istio" + "istio.io/istio/pkg/version.buildVersion=${version}" + "istio.io/istio/pkg/version.buildStatus=Nix" + "istio.io/istio/pkg/version.buildTag=${version}" + "istio.io/istio/pkg/version.buildHub=docker.io/istio" ]; in ["-s" "-w" "${lib.concatMapStringsSep " " (attr: "-X ${attr}") attrs}"]; diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix index 924052c2d9b0..dbd04f026dfa 100644 --- a/pkgs/applications/networking/cluster/minikube/default.nix +++ b/pkgs/applications/networking/cluster/minikube/default.nix @@ -12,9 +12,9 @@ buildGoModule rec { pname = "minikube"; - version = "1.31.2"; + version = "1.32.0"; - vendorHash = "sha256-5ChPdSIRI+Q3OLW+joukMpIFbUjU4TKpXT4wAARVVP8="; + vendorHash = "sha256-MzB+my1NwvZx9qfojuOlTHmuY6CyLFlrgr4UEuC5FBk="; doCheck = false; @@ -22,7 +22,7 @@ buildGoModule rec { owner = "kubernetes"; repo = "minikube"; rev = "v${version}"; - sha256 = "sha256-Ha0liXc2oXJ3dLty1veN5xN5BUKIiNXe8NTGqWDbTD0="; + sha256 = "sha256-2EWaMpcr4F1wRzIP1rPg1a/Sjd1x+oo2ee90k4Ie8cU="; }; nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ]; diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix index 0d2a26478e7c..96e6d9eec7d2 100644 --- a/pkgs/applications/networking/cluster/nerdctl/default.nix +++ b/pkgs/applications/networking/cluster/nerdctl/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "nerdctl"; - version = "1.7.0"; + version = "1.7.1"; src = fetchFromGitHub { owner = "containerd"; repo = pname; rev = "v${version}"; - hash = "sha256-PR3vhNfY84vKQaAMKmPPmY7kK3BRxELAC34NfMYXQPk="; + hash = "sha256-jjYSvY7NT9G/tcsM+9qHnsL81QKItyVMZZWuD2mpln0="; }; - vendorHash = "sha256-qLxUAICm/SGy2iHAbg+12xmId+P335dFyjltYlB45iw="; + vendorHash = "sha256-O48QzyQLkt7T9j+CKQG8TcHlmtS+ykoMoCamsEswPjk="; nativeBuildInputs = [ makeWrapper installShellFiles ]; diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix index a946ab60e4db..ab6b0ff5abc4 100644 --- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix @@ -23,12 +23,12 @@ let esbuild' = esbuild.override { buildGoModule = args: buildGoModule (args // rec { - version = "0.14.54"; + version = "0.19.8"; src = fetchFromGitHub { owner = "evanw"; repo = "esbuild"; rev = "v${version}"; - hash = "sha256-qCtpy69ROCspRgPKmCV0YY/EOSWiNU/xwDblU0bQp4w="; + hash = "sha256-f13YbgHFQk71g7twwQ2nSOGA0RG0YYM01opv6txRMuw="; }; vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; }); @@ -36,16 +36,16 @@ let in buildNpmPackage rec { pname = "deltachat-desktop"; - version = "1.42.1"; + version = "1.42.2"; src = fetchFromGitHub { owner = "deltachat"; repo = "deltachat-desktop"; rev = "v${version}"; - hash = "sha256-Ua4HN02203l2FgeMotqLjcRSEHFP/4OTrl8sPS/0C+k="; + hash = "sha256-c8eK6YpxCP+Ga/VcqbbOUYuL1h4xspjglCZ1wiEAags="; }; - npmDepsHash = "sha256-c9ZwShmHIoFJ2mAabKyYkYsCMXqxUf+tAS1a1/7s0qo="; + npmDepsHash = "sha256-7xMSsKESK9BqQrMvxceEhsETwDFue0/viCNULtzzwGo="; postPatch = '' test \ diff --git a/pkgs/applications/networking/instant-messengers/element/update.sh b/pkgs/applications/networking/instant-messengers/element/update.sh index c68a347e68ae..0a1cc0595f87 100755 --- a/pkgs/applications/networking/instant-messengers/element/update.sh +++ b/pkgs/applications/networking/instant-messengers/element/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github +#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then echo "Regenerates packaging data for the element packages." diff --git a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix index 6ca9bdc0e764..89405033bcac 100644 --- a/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix +++ b/pkgs/applications/networking/instant-messengers/twitch-tui/default.nix @@ -6,20 +6,21 @@ , openssl , CoreServices , Security +, SystemConfiguration }: rustPlatform.buildRustPackage rec { pname = "twitch-tui"; - version = "2.5.1"; + version = "2.6.0"; src = fetchFromGitHub { owner = "Xithrius"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-oqsLqmyLrvb8u9cj68OemUfunbP98/BZjmoGl1Mctrk="; + hash = "sha256-UPcJHuqDnyg2U3aNtd44dqt2iC2iLkR4wzsOjAByISw="; }; - cargoHash = "sha256-DEHMF6sTH3BF8lqOV5G4F3+Tsafrhzr0YLqSgV3gq9I="; + cargoHash = "sha256-HFBCLYjrDAPU2EZ1NQ+A0mAFo5jvj79Ghge6+D1PBAg="; nativeBuildInputs = [ pkg-config @@ -30,6 +31,7 @@ rustPlatform.buildRustPackage rec { ] ++ lib.optionals stdenv.isDarwin [ CoreServices Security + SystemConfiguration ]; meta = with lib; { diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix index 952ca75bb6af..96854c3cdb62 100644 --- a/pkgs/applications/networking/irc/weechat/default.nix +++ b/pkgs/applications/networking/irc/weechat/default.nix @@ -36,14 +36,14 @@ let in assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins; stdenv.mkDerivation rec { - version = "4.1.1"; + version = "4.1.2"; pname = "weechat"; hardeningEnable = [ "pie" ]; src = fetchurl { url = "https://weechat.org/files/src/weechat-${version}.tar.xz"; - hash = "sha256-d0I4YU2OY+TT1ac6bLZA7Hb+BsyYK4eoySNlFXkndnU="; + hash = "sha256-mpuRD752i7nefHrJRPXbjyM4M/NFsuUF4W7G7zXv+7U="; }; # Why is this needed? https://github.com/weechat/weechat/issues/2031 diff --git a/pkgs/applications/networking/juju/default.nix b/pkgs/applications/networking/juju/default.nix index 17d80e496e31..1a914a065b09 100644 --- a/pkgs/applications/networking/juju/default.nix +++ b/pkgs/applications/networking/juju/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "juju"; - version = "3.2.3"; + version = "3.3.0"; src = fetchFromGitHub { owner = "juju"; repo = "juju"; rev = "juju-${version}"; - sha256 = "sha256-sUlM4bLy/kluZmGOzMACz92GG46XYKicNPP5k2FPSGA="; + sha256 = "sha256-8VSSTeN4a1zvMi4L4dR3q+kWKgYq8Jg1jDvFjEBD7jI="; }; - vendorHash = "sha256-mPEixXVuxAqgkBoNqIYnZaFJynHJsnmamaHqyh/svwQ="; + vendorHash = "sha256-3hZywUpJe6g8IujbK0hcp12S6OKswLj/YYJGuPG06Es="; # Disable tests because it attempts to use a mongodb instance doCheck = false; diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix index 896c2a6c269c..b7167d261b21 100644 --- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix +++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix @@ -44,11 +44,11 @@ stdenv.mkDerivation rec { pname = "evolution"; - version = "3.50.1"; + version = "3.50.2"; src = fetchurl { url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "5CA240m4Mrkbprxg+Zxkte0AjrDrM7wipU8p9I7r1Zg="; + sha256 = "D4M1214mmFRHi01tlHLu2s0Kiev3+0+DdWJDMMqqcSA="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix index 7046c701914d..322bd2db903f 100644 --- a/pkgs/applications/networking/mailreaders/notmuch/default.nix +++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "notmuch"; - version = "0.38.1"; + version = "0.38.2"; src = fetchurl { url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz"; - hash = "sha256-wUGHYNDlPvrR81Jn65mlD4t/ooVcFHPgpMmCuG+OzdQ="; + hash = "sha256-UoLr5HQrA+4A/Dq4NZaflNIpJ523IyESvcUAnYYelH4="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index 4ed0bad26c6f..1943a395bd7b 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -15,13 +15,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "pjsip"; - version = "2.13.1"; + version = "2.14"; src = fetchFromGitHub { owner = finalAttrs.pname; repo = "pjproject"; rev = "refs/tags/${finalAttrs.version}"; - hash = "sha256-R1iKIkWyNCRV2PjQgTqKmJYUgHAZrREanD60Jz6MY1Y="; + hash = "sha256-PWCeIvnBAOqbcNYPhIY7hykdvLzoD9lssSViCCPNT68="; }; patches = [ @@ -35,12 +35,19 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional stdenv.isLinux alsa-lib ++ lib.optionals stdenv.isDarwin [ AppKit CoreFoundation Security ]; + env = lib.optionalAttrs (stdenv.cc.libcxx != null) { + # work around https://github.com/NixOS/nixpkgs/issues/166205 + NIX_LDFLAGS = "-l${stdenv.cc.libcxx.cxxabi.libName}"; + } // lib.optionalAttrs stdenv.cc.isClang { + CXXFLAGS = "-std=c++11"; + } // lib.optionalAttrs stdenv.isDarwin { + NIX_CFLAGS_LINK = "-headerpad_max_install_names"; + }; + preConfigure = '' export LD=$CC ''; - NIX_CFLAGS_LINK = lib.optionalString stdenv.isDarwin "-headerpad_max_install_names"; - postBuild = lib.optionalString pythonSupport '' make -C pjsip-apps/src/swig/python ''; diff --git a/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch b/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch new file mode 100644 index 000000000000..8645e0dbfa7d --- /dev/null +++ b/pkgs/applications/networking/powerdns-admin/0001-Fix-flask-2.3-issue.patch @@ -0,0 +1,25 @@ +From 29b58e29c813d9bf0b31139a19b556614c28638e Mon Sep 17 00:00:00 2001 +From: Flakebi <flakebi@t-online.de> +Date: Sat, 2 Dec 2023 16:26:22 +0100 +Subject: [PATCH 1/6] Fix flask 2.3 issue + +'Blueprint' object has no attribute 'before_app_first_request' +--- + powerdnsadmin/routes/index.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/powerdnsadmin/routes/index.py b/powerdnsadmin/routes/index.py +index d56ce61..2176bd6 100644 +--- a/powerdnsadmin/routes/index.py ++++ b/powerdnsadmin/routes/index.py +@@ -46,7 +46,6 @@ index_bp = Blueprint('index', + url_prefix='/') + + +-@index_bp.before_app_first_request + def register_modules(): + global google + global github +-- +2.42.0 + diff --git a/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch b/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch new file mode 100644 index 000000000000..9b442d5f3d7d --- /dev/null +++ b/pkgs/applications/networking/powerdns-admin/0002-Remove-cssrewrite-filter.patch @@ -0,0 +1,34 @@ +From c60a9658fe2ca429327680fbffb86f609d98c52c Mon Sep 17 00:00:00 2001 +From: Flakebi <flakebi@t-online.de> +Date: Sat, 2 Dec 2023 16:27:49 +0100 +Subject: [PATCH 2/6] Remove cssrewrite filter + +--- + powerdnsadmin/assets.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/powerdnsadmin/assets.py b/powerdnsadmin/assets.py +index d46d431..3c582be 100644 +--- a/powerdnsadmin/assets.py ++++ b/powerdnsadmin/assets.py +@@ -13,7 +13,7 @@ css_login = Bundle( + 'node_modules/@fortawesome/fontawesome-free/css/all.css', + 'node_modules/icheck/skins/square/blue.css', + 'node_modules/admin-lte/dist/css/adminlte.css', +- filters=('rcssmin', 'cssrewrite'), ++ filters=('rcssmin'), + output='generated/login.css') + + js_login = Bundle( +@@ -37,7 +37,7 @@ css_main = Bundle( + 'node_modules/admin-lte/dist/css/adminlte.css', + 'custom/css/custom.css', + 'node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker.css', +- filters=('rcssmin', 'cssrewrite'), ++ filters=('rcssmin'), + output='generated/main.css') + + js_main = Bundle( +-- +2.42.0 + diff --git a/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch b/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch new file mode 100644 index 000000000000..c9956ae22f75 --- /dev/null +++ b/pkgs/applications/networking/powerdns-admin/0003-Fix-flask-migrate-4.0-compatibility.patch @@ -0,0 +1,25 @@ +From 8c320a34bcca6dc2c1b423a1445235bf178b653e Mon Sep 17 00:00:00 2001 +From: Flakebi <flakebi@t-online.de> +Date: Sat, 2 Dec 2023 16:31:02 +0100 +Subject: [PATCH 3/6] Fix flask-migrate 4.0 compatibility + +See https://github.com/PowerDNS-Admin/PowerDNS-Admin/issues/1376 +--- + migrations/env.py | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/migrations/env.py b/migrations/env.py +index 4742e14..739d753 100755 +--- a/migrations/env.py ++++ b/migrations/env.py +@@ -73,7 +73,6 @@ def run_migrations_online(): + context.configure(connection=connection, + target_metadata=target_metadata, + process_revision_directives=process_revision_directives, +- render_as_batch=config.get_main_option('sqlalchemy.url').startswith('sqlite:'), + **current_app.extensions['migrate'].configure_args) + + try: +-- +2.42.0 + diff --git a/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch b/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch new file mode 100644 index 000000000000..b1aaa8c531d1 --- /dev/null +++ b/pkgs/applications/networking/powerdns-admin/0004-Fix-flask-session-and-powerdns-admin-compatibility.patch @@ -0,0 +1,26 @@ +From 4b4ac26ef1cbb0b5b2354c251b216498325d0411 Mon Sep 17 00:00:00 2001 +From: Flakebi <flakebi@t-online.de> +Date: Sat, 2 Dec 2023 16:31:50 +0100 +Subject: [PATCH 4/6] Fix flask-session and powerdns-admin compatibility + +flask-session and powerdns-admin both try to add sqlalchemy to flask. +Reuse the database for flask-session. +--- + powerdnsadmin/__init__.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/powerdnsadmin/__init__.py b/powerdnsadmin/__init__.py +index d447a00..653af33 100755 +--- a/powerdnsadmin/__init__.py ++++ b/powerdnsadmin/__init__.py +@@ -60,6 +60,7 @@ def create_app(config=None): + if 'SESSION_TYPE' in os.environ: + app.config['SESSION_TYPE'] = os.environ.get('SESSION_TYPE') + ++ app.config['SESSION_SQLALCHEMY'] = models.base.db + sess = Session(app) + + # create sessions table if using sqlalchemy backend +-- +2.42.0 + diff --git a/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch b/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch new file mode 100644 index 000000000000..b6931c25d546 --- /dev/null +++ b/pkgs/applications/networking/powerdns-admin/0005-Use-app-context-to-create-routes.patch @@ -0,0 +1,27 @@ +From 3eb1a408758b68543c73d5214b467c2905fbea2a Mon Sep 17 00:00:00 2001 +From: Flakebi <flakebi@t-online.de> +Date: Sat, 2 Dec 2023 16:32:36 +0100 +Subject: [PATCH 5/6] Use app context to create routes + +Routes creates session database tables, so it needs a context. +--- + powerdnsadmin/__init__.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/powerdnsadmin/__init__.py b/powerdnsadmin/__init__.py +index 653af33..bc6f7df 100755 +--- a/powerdnsadmin/__init__.py ++++ b/powerdnsadmin/__init__.py +@@ -73,7 +73,8 @@ def create_app(config=None): + # Load app's components + assets.init_app(app) + models.init_app(app) +- routes.init_app(app) ++ with app.app_context(): ++ routes.init_app(app) + services.init_app(app) + + # Register filters +-- +2.42.0 + diff --git a/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch b/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch new file mode 100644 index 000000000000..dd552cc28403 --- /dev/null +++ b/pkgs/applications/networking/powerdns-admin/0006-Register-modules-before-starting.patch @@ -0,0 +1,27 @@ +From 86dcc9f308d2ca65704953f1ff9fe043d743e536 Mon Sep 17 00:00:00 2001 +From: Flakebi <flakebi@t-online.de> +Date: Sat, 2 Dec 2023 16:33:45 +0100 +Subject: [PATCH 6/6] Register modules before starting + +Fixes flask 2.3: 'Blueprint' object has no attribute 'before_app_first_request' +--- + run.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/run.py b/run.py +index 5ffcde3..52e719d 100755 +--- a/run.py ++++ b/run.py +@@ -1,6 +1,9 @@ + #!/usr/bin/env python3 + from powerdnsadmin import create_app ++from .powerdnsadmin.routes.index import register_modules + + if __name__ == '__main__': + app = create_app() ++ with app.app_context(): ++ register_modules() + app.run(debug=True, host=app.config.get('BIND_ADDRESS', '127.0.0.1'), port=app.config.get('PORT', '9191')) +-- +2.42.0 + diff --git a/pkgs/applications/networking/powerdns-admin/default.nix b/pkgs/applications/networking/powerdns-admin/default.nix index 1e89c1b2cb46..61a728d983b3 100644 --- a/pkgs/applications/networking/powerdns-admin/default.nix +++ b/pkgs/applications/networking/powerdns-admin/default.nix @@ -19,6 +19,10 @@ let lima lxml passlib pyasn1 pytimeparse pyyaml jinja2 itsdangerous webcolors werkzeug zipp zxcvbn ]; + all_patches = [ + ./0001-Fix-flask-2.3-issue.patch + ]; + assets = mkYarnPackage { inherit src version; packageJSON = ./package.json; @@ -35,9 +39,9 @@ let }; nativeBuildInputs = pythonDeps; - patchPhase = '' - sed -i -r -e "s|'rcssmin',\s?'cssrewrite'|'rcssmin'|g" powerdnsadmin/assets.py - ''; + patches = all_patches ++ [ + ./0002-Remove-cssrewrite-filter.patch + ]; buildPhase = '' # The build process expects the directory to be writable # with node_modules at a specific path @@ -86,15 +90,15 @@ in stdenv.mkDerivation { exec python -m gunicorn.app.wsgiapp "powerdnsadmin:create_app()" "$@" ''; + patches = all_patches ++ [ + ./0003-Fix-flask-migrate-4.0-compatibility.patch + ./0004-Fix-flask-session-and-powerdns-admin-compatibility.patch + ./0005-Use-app-context-to-create-routes.patch + ./0006-Register-modules-before-starting.patch + ]; + postPatch = '' rm -r powerdnsadmin/static powerdnsadmin/assets.py - # flask-migrate 4.0 compatibility: https://github.com/PowerDNS-Admin/PowerDNS-Admin/issues/1376 - substituteInPlace migrations/env.py --replace "render_as_batch=config.get_main_option('sqlalchemy.url').startswith('sqlite:')," "" - # flask-session and powerdns-admin both try to add sqlalchemy to flask. - # Reuse the database for flask-session - substituteInPlace powerdnsadmin/__init__.py --replace "sess = Session(app)" "app.config['SESSION_SQLALCHEMY'] = models.base.db; sess = Session(app)" - # Routes creates session database tables, so it needs a context - substituteInPlace powerdnsadmin/__init__.py --replace "routes.init_app(app)" "with app.app_context(): routes.init_app(app)" ''; installPhase = '' diff --git a/pkgs/applications/networking/remote/aws-workspaces/default.nix b/pkgs/applications/networking/remote/aws-workspaces/default.nix index 4cc21a2269d6..b1e11510530a 100644 --- a/pkgs/applications/networking/remote/aws-workspaces/default.nix +++ b/pkgs/applications/networking/remote/aws-workspaces/default.nix @@ -1,6 +1,6 @@ { stdenv, lib , makeWrapper, dpkg, fetchurl, autoPatchelfHook -, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16, libva, libusb1, hiredis +, curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16, libva, libusb1, hiredis, xcbutil }: stdenv.mkDerivation rec { @@ -43,6 +43,7 @@ stdenv.mkDerivation rec { hiredis libusb1 libva + xcbutil ]; unpackPhase = '' |