diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix index efd853b82b42..a1246ce73c1c 100644 --- a/pkgs/applications/terminal-emulators/kitty/default.nix +++ b/pkgs/applications/terminal-emulators/kitty/default.nix @@ -28,14 +28,14 @@ with python3Packages; buildPythonApplication rec { pname = "kitty"; - version = "0.24.4"; + version = "0.25.0"; format = "other"; src = fetchFromGitHub { owner = "kovidgoyal"; repo = "kitty"; rev = "v${version}"; - sha256 = "sha256-c6XM/xeGZ68srf8xQJA1iYCUR3kXNceTMxsZAnbFmug="; + sha256 = "sha256-RYQVcbyKIv/FlrtROoQywWR+iF+4KYiYrrzErUrOCWM="; }; buildInputs = [ @@ -78,21 +78,26 @@ buildPythonApplication rec { outputs = [ "out" "terminfo" "shell_integration" ]; patches = [ + # Required to get `test_ssh_env_vars` to pass. (fetchpatch { - name = "fix-zsh-completion-test-1.patch"; - url = "https://github.com/kovidgoyal/kitty/commit/297592242c290a81ca4ba08802841f4c33a4de25.patch"; - sha256 = "sha256-/V6y/4AaJsZvx1KS5UFZ+0zyAoZuLgbgFORZ1dX/1qE="; - }) - (fetchpatch { - name = "fix-zsh-completion-test-2.patch"; - url = "https://github.com/kovidgoyal/kitty/commit/d8ed42ae8e014d9abf9550a65ae203468f8bfa43.patch"; - sha256 = "sha256-Azgzqf5atW999FVn9rSGKMyZLsI692dYXhJPx07GBO0="; - }) - (fetchpatch { - name = "fix-build-with-non-framework-python-on-darwin.patch"; - url = "https://github.com/kovidgoyal/kitty/commit/57cffc71b78244e6a9d49f4c9af24d1a88dbf537.patch"; - sha256 = "sha256-1IGONSVCVo5SmLKw90eqxaI5Mwc764O1ur+aMsc7h94="; + name = "increase-pty-lines.patch"; + url = "https://github.com/kovidgoyal/kitty/commit/eb84990f5a8edc458e04d24cc1cda05316d74ceb.patch"; + sha256 = "sha256-eOANfhGPMoN4FqxtIGDBu5X0O3RPLABDnL+LKqSLROI="; }) + # Fix to ensure that files in tar files used by SSH kitten have write permissions. + ./tarball-restore-write-permissions.patch + + # Needed on darwin + + # Gets `test_ssh_shell_integration` to pass for `zsh` when `compinit` complains about + # permissions. + ./zsh-compinit.patch + # Skip `test_ssh_login_shell_detection` in some cases, build users have their shell set to + # `/sbin/nologin` which causes issues. + ./disable-test_ssh_login_shell_detection.patch + # Skip `test_ssh_bootstrap_with_different_launchers` when launcher is `zsh` since it causes: + # OSError: master_fd is in error condition + ./disable-test_ssh_bootstrap_with_different_launchers.patch ]; # Causes build failure due to warning @@ -141,6 +146,9 @@ buildPythonApplication rec { # Fontconfig error: Cannot load default config file: No such file: (null) export FONTCONFIG_FILE=${fontconfig.out}/etc/fonts/fonts.conf + # Required for `test_ssh_shell_integration` to pass. + export TERM=kitty + env PATH="${buildBinPath}:$PATH" ${python.interpreter} test.py ''; @@ -180,6 +188,18 @@ buildPythonApplication rec { runHook postInstall ''; + # Patch shebangs that Nix can't automatically patch + preFixup = + let + pathComponent = if stdenv.isDarwin then "Applications/kitty.app/Contents/Resources" else "lib"; + in + '' + substituteInPlace $out/${pathComponent}/kitty/shell-integration/ssh/askpass.py \ + --replace '/usr/bin/env -S ' $out/bin/ + substituteInPlace $shell_integration/ssh/askpass.py \ + --replace '/usr/bin/env -S ' $out/bin/ + ''; + passthru.tests.test = nixosTests.terminal-emulators.kitty; meta = with lib; { diff --git a/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_bootstrap_with_different_launchers.patch b/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_bootstrap_with_different_launchers.patch new file mode 100644 index 000000000000..584815b9e07a --- /dev/null +++ b/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_bootstrap_with_different_launchers.patch @@ -0,0 +1,13 @@ +diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py +index 1f424146..d3cc191b 100644 +--- a/kitty_tests/ssh.py ++++ b/kitty_tests/ssh.py +@@ -166,7 +166,7 @@ def test_ssh_bootstrap_with_different_launchers(self): + for sh in self.all_possible_sh: + if sh == 'sh' or 'python' in sh: + q = shutil.which(launcher) +- if q: ++ if q and not 'zsh' in q: + with self.subTest(sh=sh, launcher=q), tempfile.TemporaryDirectory() as tdir: + self.check_bootstrap(sh, tdir, test_script='env; exit 0', SHELL_INTEGRATION_VALUE='', launcher=q) + diff --git a/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_login_shell_detection.patch b/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_login_shell_detection.patch new file mode 100644 index 000000000000..c6301f0de72f --- /dev/null +++ b/pkgs/applications/terminal-emulators/kitty/disable-test_ssh_login_shell_detection.patch @@ -0,0 +1,13 @@ +diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py +index 1f424146..57620334 100644 +--- a/kitty_tests/ssh.py ++++ b/kitty_tests/ssh.py +@@ -197,7 +197,7 @@ def test_ssh_login_shell_detection(self): + expected_login_shell = pwd.getpwuid(os.geteuid()).pw_shell + for m in methods: + for sh in self.all_possible_sh: +- if 'python' in sh: ++ if 'python' in sh or '/sbin/nologin' in expected_login_shell: + continue + with self.subTest(sh=sh, method=m), tempfile.TemporaryDirectory() as tdir: + pty = self.check_bootstrap(sh, tdir, test_script=f'{m}; echo "$login_shell"; exit 0', SHELL_INTEGRATION_VALUE='') diff --git a/pkgs/applications/terminal-emulators/kitty/tarball-restore-write-permissions.patch b/pkgs/applications/terminal-emulators/kitty/tarball-restore-write-permissions.patch new file mode 100644 index 000000000000..59253bbc4d33 --- /dev/null +++ b/pkgs/applications/terminal-emulators/kitty/tarball-restore-write-permissions.patch @@ -0,0 +1,27 @@ +From 59f6876187da2c01b35e696e169ca98239c08a41 Mon Sep 17 00:00:00 2001 +From: Jason Felice +Date: Tue, 24 May 2022 07:54:25 -0400 +Subject: [PATCH] Restore write permissions in tarball + +In Nix, the source files are stored in an immutable store and +therefore have been stripped of write permissions. When the SSH +kitten makes the tarfile, the files contained in it are also missing +the write permissions, causing commands on the remote side to fail. +--- + kittens/ssh/main.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kittens/ssh/main.py b/kittens/ssh/main.py +index 0b50d5ff..f80ac13d 100644 +--- a/kittens/ssh/main.py ++++ b/kittens/ssh/main.py +@@ -123,6 +123,7 @@ def make_tarfile(ssh_opts: SSHOptions, base_env: Dict[str, str], compression: st + def normalize_tarinfo(tarinfo: tarfile.TarInfo) -> tarfile.TarInfo: + tarinfo.uname = tarinfo.gname = '' + tarinfo.uid = tarinfo.gid = 0 ++ tarinfo.mode |= 0o200 + return tarinfo + + def add_data_as_file(tf: tarfile.TarFile, arcname: str, data: Union[str, bytes]) -> tarfile.TarInfo: +-- +2.36.0 diff --git a/pkgs/applications/terminal-emulators/kitty/zsh-compinit.patch b/pkgs/applications/terminal-emulators/kitty/zsh-compinit.patch new file mode 100644 index 000000000000..168f80cb6733 --- /dev/null +++ b/pkgs/applications/terminal-emulators/kitty/zsh-compinit.patch @@ -0,0 +1,13 @@ +diff --git a/kitty_tests/ssh.py b/kitty_tests/ssh.py +index 1f424146..d9a65d25 100644 +--- a/kitty_tests/ssh.py ++++ b/kitty_tests/ssh.py +@@ -268,6 +268,8 @@ def check_untar_or_fail(): + return 'UNTAR_DONE' in q + pty.wait_till(check_untar_or_fail) + self.assertTrue(os.path.exists(os.path.join(home_dir, '.terminfo/kitty.terminfo'))) ++ if login_shell == 'zsh': ++ pty.send_cmd_to_child('y') + if SHELL_INTEGRATION_VALUE != 'enabled': + pty.wait_till(lambda: len(pty.screen_contents().splitlines()) > 1) + self.assertEqual(pty.screen.cursor.shape, 0) diff --git a/pkgs/desktops/gnome/core/gnome-calculator/default.nix b/pkgs/desktops/gnome/core/gnome-calculator/default.nix index 889155f19a6d..351673d532e3 100644 --- a/pkgs/desktops/gnome/core/gnome-calculator/default.nix +++ b/pkgs/desktops/gnome/core/gnome-calculator/default.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { pname = "gnome-calculator"; - version = "42.0"; + version = "42.1"; src = fetchurl { url = "mirror://gnome/sources/gnome-calculator/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "pTWhTr6ljmkaS1oIUlau0GCiw/BzhKw6PQGDIzKifko="; + sha256 = "700k5Cpl3IYOYgbztHC30jPCripNSWXYhZqp6oo5Ws0="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix index bfbfb6d53d3d..e097249564df 100644 --- a/pkgs/desktops/pantheon/apps/appcenter/default.nix +++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix @@ -2,13 +2,9 @@ , stdenv , nix-update-script , appstream -, appstream-glib , dbus -, desktop-file-utils , fetchFromGitHub -, fetchpatch , flatpak -, gettext , glib , granite , gtk3 @@ -29,31 +25,17 @@ stdenv.mkDerivation rec { pname = "appcenter"; - version = "3.9.1"; + version = "3.10.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-xktIHQHmz5gh72NEz9UQ9fMvBlj1BihWxHgxsHmTIB0="; + sha256 = "sha256-Y3ueicw6Hn6lw24hdPeJohGol6l7UlQFIefYsBVY6Hg="; }; - patches = [ - # Fix AppStream.PoolFlags being renamed - # Though the API break has been fixed in latest appstream, - # let's use the non-deprecated version anyway. - # https://github.com/elementary/appcenter/pull/1794 - (fetchpatch { - url = "https://github.com/elementary/appcenter/commit/84bc6400713484aa9365f0ba73f59c495da3f08b.patch"; - sha256 = "sha256-HNRCJ/5mRbEVjCq9nrXtdQOOk1Jj5jalApkghD8ecpk="; - }) - ]; - nativeBuildInputs = [ - appstream-glib dbus # for pkg-config - desktop-file-utils - gettext meson ninja pkg-config diff --git a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix index d9cd7f184943..b564060d06bf 100644 --- a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix @@ -12,7 +12,6 @@ , libXfixes , libXi , pango -, gettext , pkg-config , libxml2 , bamf @@ -28,19 +27,18 @@ stdenv.mkDerivation rec { pname = "elementary-dock"; - version = "unstable-2021-12-08"; + version = "unstable-2021-05-07"; outputs = [ "out" "dev" ]; src = fetchFromGitHub { owner = "elementary"; repo = "dock"; - rev = "5e4b5ba2eec3b522e107ad834a59c0f1271d4699"; - sha256 = "sha256-/Ul21t9VFxhmlQbfx4eY86UKU33hiRfXF9OPHBzPe5o="; + rev = "113c3b0bc7744501d2101dd7afc1ef21ba66b326"; + sha256 = "sha256-YlvdB02/hUGaDyHIHy21bgloHyVy3vHcanyNKnp3YbM="; }; nativeBuildInputs = [ - gettext meson ninja libxml2 # xmllint diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix index fa4ff7edf12e..a68fa7268727 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix @@ -1,66 +1,50 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , nix-update-script -, substituteAll -, pkg-config , meson , ninja -, vala +, pkg-config , python3 -, gtk3 -, glib -, granite -, libgee -, elementary-settings-daemon -, gettext -, libhandy -, wrapGAppsHook +, vala +, wrapGAppsHook4 , appcenter +, elementary-settings-daemon +, glib +, granite7 +, gtk4 +, libadwaita +, libgee }: stdenv.mkDerivation rec { pname = "elementary-onboarding"; - version = "6.1.0"; + version = "7.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = "onboarding"; rev = version; - sha256 = "sha256-9voy9eje3VlV4IMM664EyjKWTfSVogX5JoRCqhsUXTE="; + sha256 = "sha256-bxOy9VivpgL4xXJhDF7K/gpq9zcCFIJFfRpG7QC8svE="; }; - patches = [ - (substituteAll { - src = ./fix-paths.patch; - appcenter = appcenter; - }) - # Provides the directory where the locales are actually installed - # https://github.com/elementary/onboarding/pull/147 - (fetchpatch { - url = "https://github.com/elementary/onboarding/commit/af19c3dbefd1c0e0ec18eddacc1f21cb991f5513.patch"; - sha256 = "sha256-fSFfjSd33W7rXXEUHY8b3rv9B9c31XfCjxjRxBBrqjs="; - }) - ]; - nativeBuildInputs = [ - gettext meson ninja pkg-config python3 vala - wrapGAppsHook + wrapGAppsHook4 ]; buildInputs = [ + appcenter # settings schema elementary-settings-daemon # settings schema glib - granite - gtk3 + granite7 + gtk4 + libadwaita libgee - libhandy ]; postPatch = '' diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch b/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch deleted file mode 100644 index c98d898bb488..000000000000 --- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Views/AppCenterView.vala b/src/Views/AppCenterView.vala -index 16cd18b..5895897 100644 ---- a/src/Views/AppCenterView.vala -+++ b/src/Views/AppCenterView.vala -@@ -55,7 +55,7 @@ public class Onboarding.AppCenterView : AbstractOnboardingView { - appcenter_button.clicked.connect (() => { - try { - var appcenter = AppInfo.create_from_commandline ( -- "io.elementary.appcenter", -+ "@appcenter@/bin/io.elementary.appcenter", - "AppCenter", - AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION - ); diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix index e630cb4dda63..23bbd84a2096 100644 --- a/pkgs/development/libraries/cln/default.nix +++ b/pkgs/development/libraries/cln/default.nix @@ -1,14 +1,10 @@ -{ lib, stdenv, fetchurl, fetchgit, gmp }: +{ lib, stdenv, fetchurl, gmp }: stdenv.mkDerivation rec { pname = "cln"; version = "1.3.6"; - src = if stdenv.isDarwin then fetchgit { - url = "git://www.ginac.de/cln.git"; - rev = "cln_${builtins.replaceStrings [ "." ] [ "-" ] version}"; - sha256 = "sha256-P32F4TIDhE2Dwzydq8iFK6ch3kICJcXeeXHs5PBQG88="; - } else fetchurl { + src = fetchurl { url = "${meta.homepage}${pname}-${version}.tar.bz2"; sha256 = "0jlq9l4hphk7qqlgqj9ihjp4m3rwjbhk6q4v00lsbgbri07574pl"; }; diff --git a/pkgs/development/libraries/libdwarf/0.4.nix b/pkgs/development/libraries/libdwarf/0.4.nix index 147bf3644879..5d8634bc25b3 100644 --- a/pkgs/development/libraries/libdwarf/0.4.nix +++ b/pkgs/development/libraries/libdwarf/0.4.nix @@ -1,24 +1,7 @@ -{ lib, stdenv, fetchurl, zlib }: - -stdenv.mkDerivation rec { - pname = "libdwarf"; +{ callPackage, zlib }: +callPackage ./common.nix rec { version = "0.4.0"; - - src = fetchurl { - url = "https://www.prevanders.net/libdwarf-${version}.tar.xz"; - sha512 = "30e5c6c1fc95aa28a014007a45199160e1d9ba870b196d6f98e6dd21a349e9bb31bba1bd6817f8ef9a89303bed0562182a7d46fcbb36aedded76c2f1e0052e1e"; - }; - - configureFlags = [ "--enable-shared" "--disable-nonshared" ]; - + url = "https://www.prevanders.net/libdwarf-${version}.tar.xz"; + sha512 = "30e5c6c1fc95aa28a014007a45199160e1d9ba870b196d6f98e6dd21a349e9bb31bba1bd6817f8ef9a89303bed0562182a7d46fcbb36aedded76c2f1e0052e1e"; buildInputs = [ zlib ]; - - outputs = [ "bin" "lib" "dev" "out" ]; - - meta = { - homepage = "https://github.com/davea42/libdwarf-code"; - platforms = lib.platforms.unix; - license = lib.licenses.lgpl21Plus; - maintainers = [ lib.maintainers.atry ]; - }; } diff --git a/pkgs/development/libraries/libdwarf/common.nix b/pkgs/development/libraries/libdwarf/common.nix new file mode 100644 index 000000000000..7087e833c0ed --- /dev/null +++ b/pkgs/development/libraries/libdwarf/common.nix @@ -0,0 +1,23 @@ +{ lib, stdenv, fetchurl, buildInputs, sha512, version, libelf, url }: + +stdenv.mkDerivation rec { + pname = "libdwarf"; + inherit version; + + src = fetchurl { + inherit url sha512; + }; + + configureFlags = [ "--enable-shared" "--disable-nonshared" ]; + + inherit buildInputs; + + outputs = [ "bin" "lib" "dev" "out" ]; + + meta = { + homepage = "https://github.com/davea42/libdwarf-code"; + platforms = lib.platforms.unix; + license = lib.licenses.lgpl21Plus; + maintainers = [ lib.maintainers.atry ]; + }; +} diff --git a/pkgs/development/libraries/libdwarf/default.nix b/pkgs/development/libraries/libdwarf/default.nix index 0d512b04201a..2b105027bd16 100644 --- a/pkgs/development/libraries/libdwarf/default.nix +++ b/pkgs/development/libraries/libdwarf/default.nix @@ -1,56 +1,7 @@ -{ lib, stdenv, fetchurl, libelf, zlib }: - -let - version = "20181024"; - src = fetchurl { - url = "https://www.prevanders.net/libdwarf-${version}.tar.gz"; - # Upstream displays this hash broken into three parts: - sha512 = "02f8024bb9959c91a1fe322459f7587a589d096595" - + "6d643921a173e6f9e0a184db7aef66f0fd2548d669" - + "5be7f9ee368f1cc8940cea4ddda01ff99d28bbf1fe58"; - }; - meta = { - homepage = "https://www.prevanders.net/dwarf.html"; - platforms = lib.platforms.linux; - license = lib.licenses.lgpl21Plus; - }; - -in rec { - libdwarf = stdenv.mkDerivation { - pname = "libdwarf"; - inherit version; - - configureFlags = [ "--enable-shared" "--disable-nonshared" ]; - - preConfigure = '' - cd libdwarf - ''; - buildInputs = [ libelf zlib ]; - - installPhase = '' - mkdir -p $out/lib $out/include - cp libdwarf.so.1 $out/lib - ln -s libdwarf.so.1 $out/lib/libdwarf.so - cp libdwarf.h dwarf.h $out/include - ''; - - inherit meta src; - }; - - dwarfdump = stdenv.mkDerivation { - pname = "dwarfdump"; - inherit version; - - preConfigure = '' - cd dwarfdump - ''; - - buildInputs = [ libelf libdwarf ]; - - installPhase = '' - install -m755 -D dwarfdump $out/bin/dwarfdump - ''; - - inherit meta src; - }; +{ callPackage, zlib, libelf }: +callPackage ./common.nix rec { + version = "20210528"; + url = "https://www.prevanders.net/libdwarf-${version}.tar.gz"; + sha512 = "e0f9c88554053ee6c1b1333960891189e7820c4a4ddc302b7e63754a4cdcfc2acb1b4b6083a722d1204a75e994fff3401ecc251b8c3b24090f8cb4046d90f870"; + buildInputs = [ zlib libelf ]; } diff --git a/pkgs/development/python-modules/ckcc-protocol/default.nix b/pkgs/development/python-modules/ckcc-protocol/default.nix index e2a8ebd97768..65cd8d1469b4 100644 --- a/pkgs/development/python-modules/ckcc-protocol/default.nix +++ b/pkgs/development/python-modules/ckcc-protocol/default.nix @@ -10,12 +10,12 @@ buildPythonPackage rec { pname = "ckcc-protocol"; - version = "1.3.1"; + version = "1.3.2"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-5wsVg7GX/9UygzpGI6DwrkAvexgcOmJyuv8GXiPPWvk="; + sha256 = "sha256-4y5pe0CFD3C1+N0kP/2j9Wser2zkn8Uf4203ci45Rq0="; }; propagatedBuildInputs = [ click ecdsa hidapi pyaes ]; diff --git a/pkgs/development/python-modules/django-otp/default.nix b/pkgs/development/python-modules/django-otp/default.nix new file mode 100644 index 000000000000..30c361723e8f --- /dev/null +++ b/pkgs/development/python-modules/django-otp/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, django +, freezegun +, pythonOlder +, qrcode +}: + +buildPythonPackage rec { + pname = "django-otp"; + version = "1.1.3"; + disabled = pythonOlder "3"; + + src = fetchFromGitHub { + owner = "django-otp"; + repo = "django-otp"; + rev = "v${version}"; + sha256 = "sha256-Ac9p7q9yaUr3WTTGxCY16Yo/Z8i1RtnD2g0Aj2pqSXY="; + }; + + postPatch = '' + patchShebangs manage.py + ''; + + propagatedBuildInputs = [ + django + qrcode + ]; + + checkInputs = [ + freezegun + ]; + + checkPhase = '' + ./manage.py test django_otp + ''; + + pythonImportsCheck = [ "django_otp" ]; + + meta = with lib; { + homepage = "https://github.com/jazzband/django-model-utils"; + description = "Pluggable framework for adding two-factor authentication to Django using one-time passwords"; + license = licenses.bsd2; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/development/python-modules/djangorestframework-guardian/default.nix b/pkgs/development/python-modules/djangorestframework-guardian/default.nix new file mode 100644 index 000000000000..e822a26d0fca --- /dev/null +++ b/pkgs/development/python-modules/djangorestframework-guardian/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, django-guardian +, djangorestframework +}: + +buildPythonPackage rec { + pname = "djangorestframework-guardian"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "rpkilby"; + repo = "django-rest-framework-guardian"; + rev = version; + sha256 = "sha256-jl/VEl1pUHU8J1d5ZQSGJweNJayIGw1iVAmwID85fqw="; + }; + + postPatch = '' + chmod +x manage.py + patchShebangs manage.py + ''; + + propagatedBuildInputs = [ + django-guardian + djangorestframework + ]; + + checkPhase = '' + ./manage.py test + ''; + + pythonImportsCheck = [ "rest_framework_guardian" ]; + + meta = with lib; { + description = "Django-guardian support for Django REST Framework"; + homepage = "https://github.com/rpkilby/django-rest-framework-guardian"; + license = licenses.bsd3; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/tools/security/honggfuzz/default.nix b/pkgs/tools/security/honggfuzz/default.nix index c6276eb56ca0..300e41750bab 100644 --- a/pkgs/tools/security/honggfuzz/default.nix +++ b/pkgs/tools/security/honggfuzz/default.nix @@ -1,51 +1,49 @@ { lib, stdenv, fetchFromGitHub, callPackage, makeWrapper, clang, llvm, libbfd , libopcodes, libunwind, libblocksruntime }: -let - honggfuzz = stdenv.mkDerivation rec { - pname = "honggfuzz"; - version = "2.5"; +stdenv.mkDerivation rec { + pname = "honggfuzz"; + version = "2.5"; - src = fetchFromGitHub { - owner = "google"; - repo = pname; - rev = version; - sha256 = "sha256-TkyUKmiiSAfCnfQhSOUxuce6+dRyMmHy7vFK59jPIxM="; - }; - - postPatch = '' - substituteInPlace hfuzz_cc/hfuzz-cc.c \ - --replace '"clang' '"${clang}/bin/clang' - ''; - - enableParallelBuilding = true; - - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ llvm ]; - propagatedBuildInputs = [ libbfd libopcodes libunwind libblocksruntime ]; - - makeFlags = [ "PREFIX=$(out)" ]; - - meta = { - description = - "A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer"; - longDescription = '' - Honggfuzz is a security oriented, feedback-driven, evolutionary, - easy-to-use fuzzer with interesting analysis options. It is - multi-process and multi-threaded, blazingly fast when the persistent - fuzzing mode is used and has a solid track record of uncovered security - bugs. - - Honggfuzz uses low-level interfaces to monitor processes and it will - discover and report hijacked/ignored signals from crashes. Feed it - a simple corpus directory (can even be empty for the feedback-driven - fuzzing), and it will work its way up, expanding it by utilizing - feedback-based coverage metrics. - ''; - homepage = "https://honggfuzz.dev/"; - license = lib.licenses.asl20; - platforms = [ "x86_64-linux" ]; - maintainers = with lib.maintainers; [ cpu chivay ]; - }; + src = fetchFromGitHub { + owner = "google"; + repo = pname; + rev = version; + sha256 = "sha256-TkyUKmiiSAfCnfQhSOUxuce6+dRyMmHy7vFK59jPIxM="; }; -in honggfuzz + + postPatch = '' + substituteInPlace hfuzz_cc/hfuzz-cc.c \ + --replace '"clang' '"${clang}/bin/clang' + ''; + + enableParallelBuilding = true; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ llvm ]; + propagatedBuildInputs = [ libbfd libopcodes libunwind libblocksruntime ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = { + description = + "A security oriented, feedback-driven, evolutionary, easy-to-use fuzzer"; + longDescription = '' + Honggfuzz is a security oriented, feedback-driven, evolutionary, + easy-to-use fuzzer with interesting analysis options. It is + multi-process and multi-threaded, blazingly fast when the persistent + fuzzing mode is used and has a solid track record of uncovered security + bugs. + + Honggfuzz uses low-level interfaces to monitor processes and it will + discover and report hijacked/ignored signals from crashes. Feed it + a simple corpus directory (can even be empty for the feedback-driven + fuzzing), and it will work its way up, expanding it by utilizing + feedback-based coverage metrics. + ''; + homepage = "https://honggfuzz.dev/"; + license = lib.licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with lib.maintainers; [ cpu chivay ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1d280faea482..3f281aa916b2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18447,8 +18447,8 @@ with pkgs; libdvdread = callPackage ../development/libraries/libdvdread { }; libdvdread_4_9_9 = callPackage ../development/libraries/libdvdread/4.9.9.nix { }; - inherit (callPackage ../development/libraries/libdwarf { }) - libdwarf dwarfdump; + libdwarf = callPackage ../development/libraries/libdwarf { }; + dwarfdump = libdwarf.bin; libdwarf_0_4 = callPackage ../development/libraries/libdwarf/0.4.nix { }; libe57format = callPackage ../development/libraries/libe57format { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cdbe25be99a6..8636faaa0a74 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2360,6 +2360,8 @@ in { django-oauth-toolkit = callPackage ../development/python-modules/django-oauth-toolkit { }; + django-otp = callPackage ../development/python-modules/django-otp { }; + django-paintstore = callPackage ../development/python-modules/django-paintstore { }; django-pglocks = callPackage ../development/python-modules/django-pglocks { }; @@ -2394,6 +2396,8 @@ in { djangorestframework-camel-case = callPackage ../development/python-modules/djangorestframework-camel-case { }; + djangorestframework-guardian = callPackage ../development/python-modules/djangorestframework-guardian { }; + djangorestframework-recursive = callPackage ../development/python-modules/djangorestframework-recursive { }; djangorestframework-simplejwt = callPackage ../development/python-modules/djangorestframework-simplejwt { };