Merge master into staging-next

authored by github-actions[bot] and committed by GitHub 4aac48ff 2bffd64e

+233 -31
+12
maintainers/maintainer-list.nix
··· 14620 githubId = 111265; 14621 name = "Ozan Sener"; 14622 }; 14623 ostrolucky = { 14624 email = "gabriel.ostrolucky@gmail.com"; 14625 github = "ostrolucky"; ··· 19944 keys = [{ 19945 fingerprint = "E631 8869 586F 99B4 F6E6 D785 5942 58F0 389D 2802"; 19946 }]; 19947 }; 19948 twitchyliquid64 = { 19949 name = "Tom";
··· 14620 githubId = 111265; 14621 name = "Ozan Sener"; 14622 }; 14623 + osnyx = { 14624 + email = "os@flyingcircus.io"; 14625 + github = "osnyx"; 14626 + githubId = 104593071; 14627 + name = "Oliver Schmidt"; 14628 + }; 14629 ostrolucky = { 14630 email = "gabriel.ostrolucky@gmail.com"; 14631 github = "ostrolucky"; ··· 19950 keys = [{ 19951 fingerprint = "E631 8869 586F 99B4 F6E6 D785 5942 58F0 389D 2802"; 19952 }]; 19953 + }; 19954 + twitchy0 = { 19955 + email = "code@nitinpassa.com"; 19956 + github = "twitchy0"; 19957 + githubId = 131159000; 19958 + name = "Nitin Passa"; 19959 }; 19960 twitchyliquid64 = { 19961 name = "Tom";
+2
maintainers/team-list.nix
··· 311 dpausp 312 frlan 313 leona 314 ]; 315 scope = "Team for Flying Circus employees who collectively maintain packages."; 316 shortName = "Flying Circus employees";
··· 311 dpausp 312 frlan 313 leona 314 + osnyx 315 + ma27 316 ]; 317 scope = "Team for Flying Circus employees who collectively maintain packages."; 318 shortName = "Flying Circus employees";
+1 -1
nixos/modules/services/x11/desktop-managers/budgie.nix
··· 159 ++ cfg.sessionPath; 160 161 # Fonts. 162 - fonts.packages = mkDefault [ 163 pkgs.noto-fonts 164 pkgs.hack-font 165 ];
··· 159 ++ cfg.sessionPath; 160 161 # Fonts. 162 + fonts.packages = [ 163 pkgs.noto-fonts 164 pkgs.hack-font 165 ];
+1
nixos/tests/all-tests.nix
··· 683 peering-manager = handleTest ./web-apps/peering-manager.nix {}; 684 peertube = handleTestOn ["x86_64-linux"] ./web-apps/peertube.nix {}; 685 peroxide = handleTest ./peroxide.nix {}; 686 pgadmin4 = handleTest ./pgadmin4.nix {}; 687 pgbouncer = handleTest ./pgbouncer.nix {}; 688 pgjwt = handleTest ./pgjwt.nix {};
··· 683 peering-manager = handleTest ./web-apps/peering-manager.nix {}; 684 peertube = handleTestOn ["x86_64-linux"] ./web-apps/peertube.nix {}; 685 peroxide = handleTest ./peroxide.nix {}; 686 + pg_anonymizer = handleTest ./pg_anonymizer.nix {}; 687 pgadmin4 = handleTest ./pgadmin4.nix {}; 688 pgbouncer = handleTest ./pgbouncer.nix {}; 689 pgjwt = handleTest ./pgjwt.nix {};
+94
nixos/tests/pg_anonymizer.nix
···
··· 1 + import ./make-test-python.nix ({ pkgs, lib, ... }: { 2 + name = "pg_anonymizer"; 3 + meta.maintainers = lib.teams.flyingcircus.members; 4 + 5 + nodes.machine = { pkgs, ... }: { 6 + environment.systemPackages = [ pkgs.pg-dump-anon ]; 7 + services.postgresql = { 8 + enable = true; 9 + extraPlugins = ps: [ ps.anonymizer ]; 10 + settings.shared_preload_libraries = "anon"; 11 + }; 12 + }; 13 + 14 + testScript = '' 15 + start_all() 16 + machine.wait_for_unit("multi-user.target") 17 + machine.wait_for_unit("postgresql.service") 18 + 19 + with subtest("Setup"): 20 + machine.succeed("sudo -u postgres psql --command 'create database demo'") 21 + machine.succeed( 22 + "sudo -u postgres psql -d demo -f ${pkgs.writeText "init.sql" '' 23 + create extension anon cascade; 24 + select anon.init(); 25 + create table player(id serial, name text, points int); 26 + insert into player(id,name,points) values (1,'Foo', 23); 27 + insert into player(id,name,points) values (2,'Bar',42); 28 + security label for anon on column player.name is 'MASKED WITH FUNCTION anon.fake_last_name();'; 29 + security label for anon on column player.points is 'MASKED WITH VALUE NULL'; 30 + ''}" 31 + ) 32 + 33 + def get_player_table_contents(): 34 + return [ 35 + x.split(',') for x in machine.succeed("sudo -u postgres psql -d demo --csv --command 'select * from player'").splitlines()[1:] 36 + ] 37 + 38 + def check_anonymized_row(row, id, original_name): 39 + assert row[0] == id, f"Expected first row to have ID {id}, but got {row[0]}" 40 + assert row[1] != original_name, f"Expected first row to have a name other than {original_name}" 41 + assert not bool(row[2]), "Expected points to be NULL in first row" 42 + 43 + def find_xsv_in_dump(dump, sep=','): 44 + """ 45 + Expecting to find a CSV (for pg_dump_anon) or TSV (for pg_dump) structure, looking like 46 + 47 + COPY public.player ... 48 + 1,Shields, 49 + 2,Salazar, 50 + \. 51 + 52 + in the given dump (the commas are tabs in case of pg_dump). 53 + Extract the CSV lines and split by `sep`. 54 + """ 55 + 56 + try: 57 + from itertools import dropwhile, takewhile 58 + return [x.split(sep) for x in list(takewhile( 59 + lambda x: x != "\\.", 60 + dropwhile( 61 + lambda x: not x.startswith("COPY public.player"), 62 + dump.splitlines() 63 + ) 64 + ))[1:]] 65 + except: 66 + print(f"Dump to process: {dump}") 67 + raise 68 + 69 + def check_original_data(output): 70 + assert output[0] == ['1','Foo','23'], f"Expected first row from player table to be 1,Foo,23; got {output[0]}" 71 + assert output[1] == ['2','Bar','42'], f"Expected first row from player table to be 2,Bar,42; got {output[1]}" 72 + 73 + def check_anonymized_rows(output): 74 + check_anonymized_row(output[0], '1', 'Foo') 75 + check_anonymized_row(output[1], '2', 'Bar') 76 + 77 + with subtest("Check initial state"): 78 + check_original_data(get_player_table_contents()) 79 + 80 + with subtest("Anonymous dumps"): 81 + check_original_data(find_xsv_in_dump( 82 + machine.succeed("sudo -u postgres pg_dump demo"), 83 + sep='\t' 84 + )) 85 + check_anonymized_rows(find_xsv_in_dump( 86 + machine.succeed("sudo -u postgres pg_dump_anon -U postgres -h /run/postgresql -d demo"), 87 + sep=',' 88 + )) 89 + 90 + with subtest("Anonymize"): 91 + machine.succeed("sudo -u postgres psql -d demo --command 'select anon.anonymize_database();'") 92 + check_anonymized_rows(get_player_table_contents()) 93 + ''; 94 + })
+5 -5
pkgs/applications/audio/spotifyd/default.nix
··· 9 10 rustPackages.rustPlatform.buildRustPackage rec { 11 pname = "spotifyd"; 12 - version = "0.3.5"; 13 14 src = fetchFromGitHub { 15 owner = "Spotifyd"; 16 repo = "spotifyd"; 17 - rev = "v${version}"; 18 - hash = "sha256-+P85FWJIsfAv8/DnQFxfoWvNY8NpbZ2xUidfwN8tiA8="; 19 }; 20 21 - cargoHash = "sha256-j+2yEtn3D+vNRcY4+NnqSX4xRQIE5Sq7bentxTh6kMI="; 22 23 nativeBuildInputs = [ pkg-config ]; 24 ··· 40 meta = with lib; { 41 description = "An open source Spotify client running as a UNIX daemon"; 42 homepage = "https://spotifyd.rs/"; 43 - changelog = "https://github.com/Spotifyd/spotifyd/raw/v${version}/CHANGELOG.md"; 44 license = licenses.gpl3Plus; 45 maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ]; 46 platforms = platforms.unix;
··· 9 10 rustPackages.rustPlatform.buildRustPackage rec { 11 pname = "spotifyd"; 12 + version = "0.3.5-unstable-2024-02-18"; 13 14 src = fetchFromGitHub { 15 owner = "Spotifyd"; 16 repo = "spotifyd"; 17 + rev = "ff2f7a06e54bf05afd57a0243dc9f67abc15f040"; 18 + hash = "sha256-nebAd4a+ht+blRP52OF830/Dm15ZPwRL4IPWmmT9ViM="; 19 }; 20 21 + cargoHash = "sha256-6BRIMTrWTwvX3yIGEYEvigMT+n4EtaruMdrej2Dd49w="; 22 23 nativeBuildInputs = [ pkg-config ]; 24 ··· 40 meta = with lib; { 41 description = "An open source Spotify client running as a UNIX daemon"; 42 homepage = "https://spotifyd.rs/"; 43 + changelog = "https://github.com/Spotifyd/spotifyd/blob/${src.rev}/CHANGELOG.md"; 44 license = licenses.gpl3Plus; 45 maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ]; 46 platforms = platforms.unix;
+3 -3
pkgs/applications/virtualization/singularity/packages.nix
··· 7 apptainer = callPackage 8 (import ./generic.nix rec { 9 pname = "apptainer"; 10 - version = "1.2.5"; 11 projectName = "apptainer"; 12 13 src = fetchFromGitHub { 14 owner = "apptainer"; 15 repo = "apptainer"; 16 rev = "refs/tags/v${version}"; 17 - hash = "sha256-1XuqyNXyYrmIfqp8450z8+qET15hKVfj2v2iN9QPmDk="; 18 }; 19 20 # Update by running 21 # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules" 22 # at the root directory of the Nixpkgs repository 23 - vendorHash = "sha256-Y0gOqg+WGgssXGEYHc9IFwiIpkb3hetlQI89vseAQPc="; 24 25 extraDescription = " (previously known as Singularity)"; 26 extraMeta.homepage = "https://apptainer.org";
··· 7 apptainer = callPackage 8 (import ./generic.nix rec { 9 pname = "apptainer"; 10 + version = "1.3.0"; 11 projectName = "apptainer"; 12 13 src = fetchFromGitHub { 14 owner = "apptainer"; 15 repo = "apptainer"; 16 rev = "refs/tags/v${version}"; 17 + hash = "sha256-YqPPTs7cIiMbOc8jOwr8KgUBVu2pTPlSL0Vvw/1n4co="; 18 }; 19 20 # Update by running 21 # nix-prefetch -E "{ sha256 }: ((import ./. { }).apptainer.override { vendorHash = sha256; }).goModules" 22 # at the root directory of the Nixpkgs repository 23 + vendorHash = "sha256-lWo6ic3Tdv1UInA5MtEaAgiheCin2JSh4nmheUooENY="; 24 25 extraDescription = " (previously known as Singularity)"; 26 extraMeta.homepage = "https://apptainer.org";
+32
pkgs/by-name/pg/pg-dump-anon/package.nix
···
··· 1 + { lib, fetchFromGitLab, buildGoModule, nixosTests, postgresql, makeWrapper }: 2 + 3 + buildGoModule rec { 4 + pname = "pg-dump-anon"; 5 + version = "1.3.1"; 6 + src = fetchFromGitLab { 7 + owner = "dalibo"; 8 + repo = "postgresql_anonymizer"; 9 + rev = version; 10 + hash = "sha256-Z5Oz/cIYDxFUZwQijRk4xAOUdOK0LWR+px8WOcs+Rs0="; 11 + }; 12 + 13 + sourceRoot = "${src.name}/pg_dump_anon"; 14 + 15 + vendorHash = "sha256-CwU1zoIayxvfnGL9kPdummPJiV+ECfSz4+q6gZGb8pw="; 16 + 17 + passthru.tests = { inherit (nixosTests) pg_anonymizer; }; 18 + 19 + nativeBuildInputs = [ makeWrapper ]; 20 + postInstall = '' 21 + wrapProgram $out/bin/pg_dump_anon \ 22 + --prefix PATH : ${lib.makeBinPath [ postgresql ]} 23 + ''; 24 + 25 + meta = with lib; { 26 + description = "Export databases with data being anonymized with the anonymizer extension"; 27 + homepage = "https://postgresql-anonymizer.readthedocs.io/en/stable/"; 28 + maintainers = teams.flyingcircus.members; 29 + license = licenses.postgresql; 30 + mainProgram = "pg_dump_anon"; 31 + }; 32 + }
+2 -2
pkgs/by-name/tc/tcsh/package.nix
··· 8 9 stdenv.mkDerivation (finalAttrs: { 10 pname = "tcsh"; 11 - version = "6.24.10"; 12 13 src = fetchurl { 14 url = "mirror://tcsh/tcsh-${finalAttrs.version}.tar.gz"; 15 - hash = "sha256-E0dcD763QTnTPteTvwD/u7KsLcn7HURGekEHYKujZmQ="; 16 }; 17 18 strictDeps = true;
··· 8 9 stdenv.mkDerivation (finalAttrs: { 10 pname = "tcsh"; 11 + version = "6.24.11"; 12 13 src = fetchurl { 14 url = "mirror://tcsh/tcsh-${finalAttrs.version}.tar.gz"; 15 + hash = "sha256-tae2J6uz7y6NOoabtnXQ6SfYUHBER6Gyx3lGwNMkeZ0="; 16 }; 17 18 strictDeps = true;
+1
pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
··· 44 meta = with lib; { 45 description = "A modern terminal emulator"; 46 maintainers = with maintainers; [ ] ++ teams.xfce.members; 47 }; 48 }
··· 44 meta = with lib; { 45 description = "A modern terminal emulator"; 46 maintainers = with maintainers; [ ] ++ teams.xfce.members; 47 + mainProgram = "xfce4-terminal"; 48 }; 49 }
+3 -3
pkgs/development/compilers/erg/default.nix
··· 9 10 rustPlatform.buildRustPackage rec { 11 pname = "erg"; 12 - version = "0.6.30"; 13 14 src = fetchFromGitHub { 15 owner = "erg-lang"; 16 repo = "erg"; 17 rev = "v${version}"; 18 - hash = "sha256-lStTLDXgdaaqyzdzU1V2JnKX8jt27Z1A23fkuZU8dt0="; 19 }; 20 21 - cargoHash = "sha256-MsDan3wL9RhH0uhAuq0Lg8IRBXR8a3ooEBx6n2CMAVk="; 22 23 nativeBuildInputs = [ 24 makeWrapper
··· 9 10 rustPlatform.buildRustPackage rec { 11 pname = "erg"; 12 + version = "0.6.32"; 13 14 src = fetchFromGitHub { 15 owner = "erg-lang"; 16 repo = "erg"; 17 rev = "v${version}"; 18 + hash = "sha256-l+I6ue824dvZ1AmSS/y+Sh43OstJ5c+8xIXvoVpMFws="; 19 }; 20 21 + cargoHash = "sha256-SRltpqTviC+Dq9pPBuLjctOXOKTYw+zVlvA9wi0iFWg="; 22 23 nativeBuildInputs = [ 24 makeWrapper
+2 -2
pkgs/development/interpreters/php/8.3.nix
··· 2 3 let 4 base = callPackage ./generic.nix (_args // { 5 - version = "8.3.3"; 6 - hash = "sha256-qvthO6eVlKI/5yL46QrUczAGEL+A50uKpS2pysLcTio="; 7 }); 8 in 9 base.withExtensions ({ all, ... }: with all; ([
··· 2 3 let 4 base = callPackage ./generic.nix (_args // { 5 + version = "8.3.4"; 6 + hash = "sha256-PFyvGODAokOq7JE6OeywkgQxla3eTD/ELpRdpbkndpU="; 7 }); 8 in 9 base.withExtensions ({ all, ... }: with all; ([
+2 -2
pkgs/development/php-packages/phalcon/default.nix
··· 2 3 buildPecl rec { 4 pname = "phalcon"; 5 - version = "5.6.1"; 6 7 src = fetchFromGitHub { 8 owner = "phalcon"; 9 repo = "cphalcon"; 10 rev = "v${version}"; 11 - hash = "sha256-1dCtj3pJGOY7sRe6xx8JgPPLSj/6qMemUnqrt9guPIk="; 12 }; 13 14 internalDeps = [ php.extensions.session php.extensions.pdo ];
··· 2 3 buildPecl rec { 4 pname = "phalcon"; 5 + version = "5.6.2"; 6 7 src = fetchFromGitHub { 8 owner = "phalcon"; 9 repo = "cphalcon"; 10 rev = "v${version}"; 11 + hash = "sha256-AgyV9pxyXcXuhrRgozN2p67u8xZMepbWrzYaBZMFn6k="; 12 }; 13 14 internalDeps = [ php.extensions.session php.extensions.pdo ];
+22
pkgs/development/python-modules/orgparse/default.nix
···
··· 1 + { lib, python3Packages, fetchPypi }: 2 + 3 + python3Packages.buildPythonPackage rec { 4 + pname = "orgparse"; 5 + version = "0.4.20231004"; 6 + 7 + src = fetchPypi { 8 + inherit pname version; 9 + hash = "sha256-pOOK6tq/mYiw9npmrNCCedGCILy8QioSkGDCiQu6kaA="; 10 + }; 11 + 12 + nativeBuildInputs = [ python3Packages.setuptools-scm ]; 13 + 14 + pyproject = true; 15 + 16 + meta = with lib; { 17 + homepage = "https://github.com/karlicoss/orgparse"; 18 + description = "orgparse - Emacs org-mode parser in Python"; 19 + license = licenses.bsd2; 20 + maintainers = with maintainers; [ twitchy0 ]; 21 + }; 22 + }
+3 -3
pkgs/development/tools/ruff/default.nix
··· 10 11 rustPlatform.buildRustPackage rec { 12 pname = "ruff"; 13 - version = "0.3.1"; 14 15 src = fetchFromGitHub { 16 owner = "astral-sh"; 17 repo = "ruff"; 18 rev = "refs/tags/v${version}"; 19 - hash = "sha256-MuvVpMBEQSOz6vSEhw7fmvAwgUu/7hrbtP8/MsIL57c="; 20 }; 21 22 - cargoHash = "sha256-zC4rXgqT0nw22adtoe51wN8XVbr6drXvqWqyJeqSGYc="; 23 24 nativeBuildInputs = [ 25 installShellFiles
··· 10 11 rustPlatform.buildRustPackage rec { 12 pname = "ruff"; 13 + version = "0.3.2"; 14 15 src = fetchFromGitHub { 16 owner = "astral-sh"; 17 repo = "ruff"; 18 rev = "refs/tags/v${version}"; 19 + hash = "sha256-2Pt2HuDB9JLD9E1q0JH7jyVoc0II5uVL1l8pAod+9V4="; 20 }; 21 22 + cargoHash = "sha256-njHpqWXFNdwenV58+VGznnqbaNK1GoGtHSTfKU2MRbs="; 23 24 nativeBuildInputs = [ 25 installShellFiles
+4 -4
pkgs/servers/http/tomcat/default.nix
··· 39 40 in { 41 tomcat9 = common { 42 - version = "9.0.85"; 43 - hash = "sha256-oYdNXi5yADqBJ25alSAASsoRPxNfyEEzQim2j20luh4="; 44 }; 45 46 tomcat10 = common { 47 - version = "10.1.18"; 48 - hash = "sha256-baC0y9MUDmSocZot4ZwgvzkC0mShQqgWrFUq4hat4xE="; 49 }; 50 }
··· 39 40 in { 41 tomcat9 = common { 42 + version = "9.0.87"; 43 + hash = "sha256-2kgvuSIAhtvzceGAqgnGQCr48EhYZzTN7dSgjEjUzgI="; 44 }; 45 46 tomcat10 = common { 47 + version = "10.1.19"; 48 + hash = "sha256-w+pp2SvPw+15Ko2AeUrNuFbxwF2KBF4XpxoliKDHULc="; 49 }; 50 }
+32
pkgs/servers/sql/postgresql/ext/anonymizer.nix
···
··· 1 + { lib, stdenv, pg-dump-anon, postgresql, runtimeShell }: 2 + 3 + stdenv.mkDerivation (finalAttrs: { 4 + pname = "postgresql_anonymizer"; 5 + 6 + inherit (pg-dump-anon) version src passthru; 7 + 8 + buildInputs = [ postgresql ]; 9 + nativeBuildInputs = [ postgresql ] ++ lib.optional postgresql.jitSupport postgresql.llvm; 10 + 11 + strictDeps = true; 12 + 13 + makeFlags = [ 14 + "BINDIR=${placeholder "out"}/bin" 15 + "datadir=${placeholder "out"}/share/postgresql" 16 + "pkglibdir=${placeholder "out"}/lib" 17 + "DESTDIR=" 18 + ]; 19 + 20 + postInstall = '' 21 + cat >$out/bin/pg_dump_anon.sh <<'EOF' 22 + #!${runtimeShell} 23 + echo "This script is deprecated by upstream. To use the new script," 24 + echo "please install pkgs.pg-dump-anon." 25 + exit 1 26 + EOF 27 + ''; 28 + 29 + meta = pg-dump-anon.meta // { 30 + description = "Extension to mask or replace personally identifiable information (PII) or commercially sensitive data from a PostgreSQL database"; 31 + }; 32 + })
+2
pkgs/servers/sql/postgresql/packages.nix
··· 2 3 age = super.callPackage ./ext/age.nix { }; 4 5 apache_datasketches = super.callPackage ./ext/apache_datasketches.nix { }; 6 7 citus = super.callPackage ./ext/citus.nix { };
··· 2 3 age = super.callPackage ./ext/age.nix { }; 4 5 + anonymizer = super.callPackage ./ext/anonymizer.nix { }; 6 + 7 apache_datasketches = super.callPackage ./ext/apache_datasketches.nix { }; 8 9 citus = super.callPackage ./ext/citus.nix { };
+5 -4
pkgs/tools/X11/xdragon/default.nix
··· 1 { lib, stdenv, fetchFromGitHub, pkg-config, gtk3 }: 2 3 - stdenv.mkDerivation rec { 4 pname = "xdragon"; 5 version = "1.2.0"; 6 7 src = fetchFromGitHub { 8 owner = "mwh"; 9 repo = "dragon"; 10 - rev = "v${version}"; 11 - sha256 = "sha256-wqG6idlVvdN+sPwYgWu3UL0la5ssvymZibiak3KeV7M="; 12 }; 13 14 nativeBuildInputs = [ pkg-config ]; ··· 24 homepage = "https://github.com/mwh/dragon"; 25 license = licenses.gpl3; 26 maintainers = with maintainers; [ das_j ]; 27 }; 28 - }
··· 1 { lib, stdenv, fetchFromGitHub, pkg-config, gtk3 }: 2 3 + stdenv.mkDerivation (finalAttrs: { 4 pname = "xdragon"; 5 version = "1.2.0"; 6 7 src = fetchFromGitHub { 8 owner = "mwh"; 9 repo = "dragon"; 10 + rev = "v${finalAttrs.version}"; 11 + hash = "sha256-wqG6idlVvdN+sPwYgWu3UL0la5ssvymZibiak3KeV7M="; 12 }; 13 14 nativeBuildInputs = [ pkg-config ]; ··· 24 homepage = "https://github.com/mwh/dragon"; 25 license = licenses.gpl3; 26 maintainers = with maintainers; [ das_j ]; 27 + mainProgram = "xdragon"; 28 }; 29 + })
+3 -2
pkgs/tools/text/hck/default.nix
··· 12 owner = "sstadick"; 13 repo = pname; 14 rev = "v${version}"; 15 - sha256 = "sha256-KPpvai7+El2JA97EXDCstZ66FeyVCe7w+ERDDNRZ/h8="; 16 }; 17 18 - cargoSha256 = "sha256-TpwUO0BL8kambnxAUE9+l6YYkNL1WzmkTYn1YxjufdY="; 19 20 nativeBuildInputs = [ cmake ]; 21 ··· 25 changelog = "https://github.com/sstadick/hck/blob/v${version}/CHANGELOG.md"; 26 license = with licenses; [ mit /* or */ unlicense ]; 27 maintainers = with maintainers; [ figsoda ]; 28 }; 29 }
··· 12 owner = "sstadick"; 13 repo = pname; 14 rev = "v${version}"; 15 + hash = "sha256-KPpvai7+El2JA97EXDCstZ66FeyVCe7w+ERDDNRZ/h8="; 16 }; 17 18 + cargoHash = "sha256-TpwUO0BL8kambnxAUE9+l6YYkNL1WzmkTYn1YxjufdY="; 19 20 nativeBuildInputs = [ cmake ]; 21 ··· 25 changelog = "https://github.com/sstadick/hck/blob/v${version}/CHANGELOG.md"; 26 license = with licenses; [ mit /* or */ unlicense ]; 27 maintainers = with maintainers; [ figsoda ]; 28 + mainProgram = "hck"; 29 }; 30 }
+2
pkgs/top-level/python-packages.nix
··· 9060 9061 orderedset = callPackage ../development/python-modules/orderedset { }; 9062 9063 orjson = callPackage ../development/python-modules/orjson { }; 9064 9065 orm = callPackage ../development/python-modules/orm { };
··· 9060 9061 orderedset = callPackage ../development/python-modules/orderedset { }; 9062 9063 + orgparse = callPackage ../development/python-modules/orgparse { }; 9064 + 9065 orjson = callPackage ../development/python-modules/orjson { }; 9066 9067 orm = callPackage ../development/python-modules/orm { };