diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2023-12-10 06:00:56 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-10 06:00:56 +0000 |
commit | 39d4e1cb18bdb43229e53d4fd950c3ce77210a02 (patch) | |
tree | f0496c617a774c94297f66b53780f7a2934ac484 | |
parent | b5ff56aec743b9c83609fc0e26a6c439ee27f0df (diff) | |
parent | 584463c7449a116f095eb456116f728c2b31497b (diff) | |
download | nixlib-39d4e1cb18bdb43229e53d4fd950c3ce77210a02.tar nixlib-39d4e1cb18bdb43229e53d4fd950c3ce77210a02.tar.gz nixlib-39d4e1cb18bdb43229e53d4fd950c3ce77210a02.tar.bz2 nixlib-39d4e1cb18bdb43229e53d4fd950c3ce77210a02.tar.lz nixlib-39d4e1cb18bdb43229e53d4fd950c3ce77210a02.tar.xz nixlib-39d4e1cb18bdb43229e53d4fd950c3ce77210a02.tar.zst nixlib-39d4e1cb18bdb43229e53d4fd950c3ce77210a02.zip |
Merge master into staging-next
32 files changed, 406 insertions, 74 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 21d4978a1160..0eb976c1f497 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -111,6 +111,12 @@ checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*' checkConfigError 'while evaluating a definition from `.*/define-enable-abort.nix' config.enable ./define-enable-abort.nix checkConfigError 'while evaluating the error message for definitions for .enable., which is an option that does not exist' config.enable ./define-enable-abort.nix +# Check boolByOr type. +checkConfigOutput '^false$' config.value.falseFalse ./boolByOr.nix +checkConfigOutput '^true$' config.value.trueFalse ./boolByOr.nix +checkConfigOutput '^true$' config.value.falseTrue ./boolByOr.nix +checkConfigOutput '^true$' config.value.trueTrue ./boolByOr.nix + checkConfigOutput '^1$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix checkConfigOutput '^2$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix checkConfigOutput '^42$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix ./declare-bare-submodule-deep-option.nix ./define-bare-submodule-values.nix diff --git a/lib/tests/modules/boolByOr.nix b/lib/tests/modules/boolByOr.nix new file mode 100644 index 000000000000..ff86e2dfc859 --- /dev/null +++ b/lib/tests/modules/boolByOr.nix @@ -0,0 +1,14 @@ +{ lib, ... }: { + + options.value = lib.mkOption { + type = lib.types.lazyAttrsOf lib.types.boolByOr; + }; + + config.value = { + falseFalse = lib.mkMerge [ false false ]; + trueFalse = lib.mkMerge [ true false ]; + falseTrue = lib.mkMerge [ false true ]; + trueTrue = lib.mkMerge [ true true ]; + }; +} + diff --git a/lib/types.nix b/lib/types.nix index 5ffbecda5db3..51e58eaa8ab5 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -275,6 +275,22 @@ rec { merge = mergeEqualOption; }; + boolByOr = mkOptionType { + name = "boolByOr"; + description = "boolean (merged using or)"; + descriptionClass = "noun"; + check = isBool; + merge = loc: defs: + foldl' + (result: def: + # Under the assumption that .check always runs before merge, we can assume that all defs.*.value + # have been forced, and therefore we assume we don't introduce order-dependent strictness here + result || def.value + ) + false + defs; + }; + int = mkOptionType { name = "int"; description = "signed integer"; diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md index 2ad3d6c4f949..f9c7ac80018e 100644 --- a/nixos/doc/manual/development/option-types.section.md +++ b/nixos/doc/manual/development/option-types.section.md @@ -13,6 +13,13 @@ merging is handled. `types.bool` : A boolean, its values can be `true` or `false`. + All definitions must have the same value, after priorities. An error is thrown in case of a conflict. + +`types.boolByOr` + +: A boolean, its values can be `true` or `false`. + The result is `true` if _any_ of multiple definitions is `true`. + In other words, definitions are merged with the logical _OR_ operator. `types.path` diff --git a/pkgs/applications/editors/lapce/default.nix b/pkgs/applications/editors/lapce/default.nix index 6b955bdb180b..e65d557fac83 100644 --- a/pkgs/applications/editors/lapce/default.nix +++ b/pkgs/applications/editors/lapce/default.nix @@ -97,6 +97,9 @@ rustPlatform.buildRustPackage rec { # Get openssl-sys to use pkg-config OPENSSL_NO_VENDOR = 1; + # This variable is read by build script, so that Lapce editor knows its version + env.RELEASE_TAG_NAME = "v${version}"; + buildInputs = [ glib gtk3 diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix index 26454897ddab..cd2d89d0e99c 100644 --- a/pkgs/applications/graphics/grafx2/default.nix +++ b/pkgs/applications/graphics/grafx2/default.nix @@ -4,6 +4,7 @@ , SDL , SDL_image , SDL_ttf +, installShellFiles , fontconfig , libpng , libtiff @@ -12,17 +13,28 @@ , zlib }: -stdenv.mkDerivation rec { - version = "2.8.3091"; +stdenv.mkDerivation (finalAttrs: { pname = "grafx2"; + version = "2.8.3091"; + + outputs = [ "out" "man" ]; src = fetchurl { + name = "grafx2-${finalAttrs.version}.tar.gz"; url = "https://pulkomandy.tk/projects/GrafX2/downloads/65"; - name = "${pname}-${version}.tar.gz"; hash = "sha256-KdY7GUhQp/Q7t/ktLPGxI66ZHy2gDAffn2yB5pmcJCM="; }; - nativeBuildInputs = [ pkg-config ]; + postPatch = '' + substituteInPlace misc/unix/grafx2.desktop \ + --replace "Exec=grafx2" "Exec=grafx2-sdl" + ''; + + nativeBuildInputs = [ + installShellFiles + pkg-config + ]; + buildInputs = [ SDL SDL_image @@ -34,15 +46,31 @@ stdenv.mkDerivation rec { zlib ]; + strictDeps = false; # Why?? + makeFlags = [ "-C src" ]; installFlags = [ "-C src" "PREFIX=$(out)" ]; + postInstall = '' + installManPage misc/unix/grafx2.1 + ''; + meta = { - description = "Bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance"; - homepage = "http://pulkomandy.tk/projects/GrafX2"; - license = lib.licenses.gpl2; - platforms = [ "x86_64-linux" "i686-linux" ]; - maintainers = []; + homepage = "http://grafx2.eu/"; + description = "The ultimate 256-color painting program"; + longDescription = '' + GrafX2 is a bitmap paint program inspired by the Amiga programs ​Deluxe + Paint and Brilliance. Specialized in 256-color drawing, it includes a very + large number of tools and effects that make it particularly suitable for + pixel art, game graphics, and generally any detailed graphics painted with + a mouse. + + The program is mostly developed on Haiku, Linux and Windows, but is also + portable on many other platforms. + ''; + license = with lib.licenses; [ gpl2Plus ]; mainProgram = "grafx2-sdl"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.unix; }; -} +}) diff --git a/pkgs/applications/science/logic/eprover/default.nix b/pkgs/applications/science/logic/eprover/default.nix index ec1fc6b11d25..d4a8b7a6b2e8 100644 --- a/pkgs/applications/science/logic/eprover/default.nix +++ b/pkgs/applications/science/logic/eprover/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "eprover"; - version = "3.0"; + version = "3.0.03"; src = fetchurl { url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD/V_${version}/E.tgz"; - hash = "sha256-gBgDC+GH948JMsjzo/SOpWDzJXu0g58YX1VW28PeorI="; + hash = "sha256-cS5zUe2N9Kd9uzbNpeBtvLbgUN0c3N3tGcYczK3KsdQ="; }; buildInputs = [ which ]; diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix index 6165cfe8bd22..26848e1397aa 100644 --- a/pkgs/applications/science/logic/z3/default.nix +++ b/pkgs/applications/science/logic/z3/default.nix @@ -24,7 +24,7 @@ let common = { version, sha256, patches ? [ ], tag ? "z3" }: inherit version sha256 patches; src = fetchFromGitHub { owner = "Z3Prover"; - repo = pname; + repo = "z3"; rev = "${tag}-${version}"; sha256 = sha256; }; diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 3f3b64069bb1..24844eb621ec 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation rec { pname = "root"; - version = "6.28.08"; + version = "6.28.10"; passthru = { tests = import ./tests { inherit callPackage; }; @@ -66,7 +66,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://root.cern.ch/download/root_v${version}.source.tar.gz"; - hash = "sha256-o+ZLTAH4fNm75X5h75a0FibkmwRGCVBw1B2b+6NSaGI="; + hash = "sha256-adb962B+ayC9AsdX+mIXAkwLYTLB6bHf9Nhdmiu35R4="; }; nativeBuildInputs = [ makeWrapper cmake pkg-config git ]; diff --git a/pkgs/by-name/ff/ff2mpv-go/package.nix b/pkgs/by-name/ff/ff2mpv-go/package.nix new file mode 100644 index 000000000000..71e0f98a478d --- /dev/null +++ b/pkgs/by-name/ff/ff2mpv-go/package.nix @@ -0,0 +1,34 @@ +{ lib +, buildGoModule +, fetchgit +, mpv +}: +buildGoModule rec { + pname = "ff2mpv-go"; + version = "1.0.1"; + + src = fetchgit { + url = "https://git.clsr.net/util/ff2mpv-go/"; + rev = "v${version}"; + hash = "sha256-e/AuOA3isFTyBf97Zwtr16yo49UdYzvktV5PKB/eH/s="; + }; + + vendorHash = null; + + postPatch = '' + substituteInPlace ff2mpv.go --replace '"mpv"' '"${lib.getExe mpv}"' + ''; + + postInstall = '' + mkdir -p "$out/lib/mozilla/native-messaging-hosts" + $out/bin/ff2mpv-go --manifest > "$out/lib/mozilla/native-messaging-hosts/ff2mpv.json" + ''; + + meta = with lib; { + description = "Native messaging host for ff2mpv written in Go"; + homepage = "https://git.clsr.net/util/ff2mpv-go/"; + license = licenses.publicDomain; + maintainers = with maintainers; [ ambroisie ]; + mainProgram = "ff2mpv-go"; + }; +} diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/by-name/go/gosmore/package.nix index bd87e7b4aeb6..2bc778ff9cb2 100644 --- a/pkgs/applications/misc/gosmore/default.nix +++ b/pkgs/by-name/go/gosmore/package.nix @@ -1,24 +1,26 @@ -{ lib, stdenv, fetchsvn, libxml2, gtk2, curl, pkg-config } : +{ lib, stdenv, fetchFromGitHub, libxml2, gtk2, curl, pkg-config }: stdenv.mkDerivation rec { pname = "gosmore"; - version = "31801"; - # the gosmore svn repository does not lock revision numbers of its externals - # so we explicitly disable them to avoid breaking the hash - # especially as the externals appear to be unused - src = fetchsvn { - url = "http://svn.openstreetmap.org/applications/rendering/gosmore"; - sha256 = "0qsckpqx7i7f8gkqhkzdamr65250afk1rpnh3nbman35kdv3dsxi"; - rev = version; - ignoreExternals = true; + version = "unstable-2014-03-17"; + + src = fetchFromGitHub { + owner = "openstreetmap"; + repo = "svn-archive"; + rev = "89b1fbfbc9e9a8b5e78795fd40bdfa60550322fc"; + sparseCheckout = [ "applications/rendering/gosmore" ]; + hash = "sha256-MfuJVsyGWspGNAFD6Ktbbyawb4bPwUITe7WkyFs6JxI="; }; + sourceRoot = "${src.name}/applications/rendering/gosmore"; + buildInputs = [ libxml2 gtk2 curl ]; nativeBuildInputs = [ pkg-config ]; prePatch = '' sed -e '/curl.types.h/d' -i *.{c,h,hpp,cpp} + sed -e "24i #include <ctime>" -e "s/data/dat/g" -i jni/libgosm.cpp ''; patches = [ ./pointer_int_comparison.patch ]; diff --git a/pkgs/applications/misc/gosmore/pointer_int_comparison.patch b/pkgs/by-name/go/gosmore/pointer_int_comparison.patch index 4a715b6d8591..4a715b6d8591 100644 --- a/pkgs/applications/misc/gosmore/pointer_int_comparison.patch +++ b/pkgs/by-name/go/gosmore/pointer_int_comparison.patch diff --git a/pkgs/development/interpreters/regina/default.nix b/pkgs/by-name/re/regina/package.nix index 79258d2cc0fa..7480ade5413c 100644 --- a/pkgs/development/interpreters/regina/default.nix +++ b/pkgs/by-name/re/regina/package.nix @@ -1,12 +1,16 @@ -{ lib, stdenv, fetchurl, ncurses }: +{ lib +, stdenv +, fetchurl +, ncurses +}: stdenv.mkDerivation rec { - pname = "Regina-REXX"; - version = "3.9.1"; + pname = "regina-rexx"; + version = "3.9.5"; src = fetchurl { url = "mirror://sourceforge/regina-rexx/regina-rexx/${version}/${pname}-${version}.tar.gz"; - sha256 = "1vpksnjmg6y5zag9li6sxqxj2xapgalfz8krfxgg49vyk0kdy4sx"; + hash = "sha256-COmpBhvuADjPtFRG3iB2b/2uUO6jf2ZCRG7E5zoqvFE="; }; buildInputs = [ ncurses ]; @@ -18,7 +22,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "REXX interpreter"; maintainers = [ maintainers.raskin ]; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.lgpl2; }; } diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix index 6c39e69f0c0e..a4f79e122122 100644 --- a/pkgs/desktops/mate/mate-system-monitor/default.nix +++ b/pkgs/desktops/mate/mate-system-monitor/default.nix @@ -17,11 +17,11 @@ stdenv.mkDerivation rec { pname = "mate-system-monitor"; - version = "1.26.1"; + version = "1.26.2"; src = fetchurl { url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "HrX7m2y0qK2DCyboR6m70B1WiqvTg8Yo7p8IQJuJKOc="; + sha256 = "vm2X3saPXza94S+KyvGsVkLSOaXSQWGoL/9QZPRQJUQ="; }; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix index 986f6f169e8b..0603706164ae 100644 --- a/pkgs/development/compilers/solc/default.nix +++ b/pkgs/development/compilers/solc/default.nix @@ -86,7 +86,7 @@ let buildInputs = [ boost ] ++ lib.optionals z3Support [ z3 ] ++ lib.optionals cvc4Support [ cvc4 cln gmp ]; - nativeCheckInputs = [ jq ncurses (python3.withPackages (ps: with ps; [ colorama deepdiff devtools docopt docutils requests sphinx tabulate z3 ])) ]; # contextlib2 glob2 textwrap3 traceback2 urllib3 + nativeCheckInputs = [ jq ncurses (python3.withPackages (ps: with ps; [ colorama deepdiff devtools docopt docutils requests sphinx tabulate z3-solver ])) ]; # contextlib2 glob2 textwrap3 traceback2 urllib3 # tests take 60+ minutes to complete, only run as part of passthru tests doCheck = false; diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix index 9953eaa3144c..bf37d19cd8c4 100644 --- a/pkgs/development/interpreters/acl2/default.nix +++ b/pkgs/development/interpreters/acl2/default.nix @@ -50,7 +50,7 @@ in stdenv.mkDerivation rec { which perl hostname # Some of the books require one or more of these external tools: glucose minisat abc-verifier libipasir - z3 (python3.withPackages (ps: [ ps.z3 ])) + z3 (python3.withPackages (ps: [ ps.z3-solver ])) ]; # NOTE: Parallel building can be memory-intensive depending on the number of diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix index c343f7f3e872..fb0c8dbdf297 100644 --- a/pkgs/development/python-modules/claripy/default.nix +++ b/pkgs/development/python-modules/claripy/default.nix @@ -8,7 +8,7 @@ , pysmt , pythonOlder , pytestCheckHook -, z3 +, z3-solver }: buildPythonPackage rec { @@ -34,19 +34,13 @@ buildPythonPackage rec { decorator future pysmt - z3 + z3-solver ]; nativeCheckInputs = [ pytestCheckHook ]; - postPatch = '' - # Use upstream z3 implementation - substituteInPlace setup.cfg \ - --replace "z3-solver==4.10.2.0" "" - ''; - pythonImportsCheck = [ "claripy" ]; diff --git a/pkgs/development/python-modules/deal-solver/default.nix b/pkgs/development/python-modules/deal-solver/default.nix index 5c91d6d92559..28eee72a99d2 100644 --- a/pkgs/development/python-modules/deal-solver/default.nix +++ b/pkgs/development/python-modules/deal-solver/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , pythonOlder , flit-core -, z3 +, z3-solver , astroid , pytestCheckHook , hypothesis @@ -28,9 +28,7 @@ buildPythonPackage rec { ]; postPatch = '' - # Use upstream z3 implementation substituteInPlace pyproject.toml \ - --replace "\"z3-solver\"," "" \ --replace "\"--cov=deal_solver\"," "" \ --replace "\"--cov-report=html\"," "" \ --replace "\"--cov-report=xml\"," "" \ @@ -39,9 +37,9 @@ buildPythonPackage rec { ''; propagatedBuildInputs = [ - z3 + z3-solver astroid - ] ++ z3.requiredPythonModules; + ] ++ z3-solver.requiredPythonModules; nativeCheckInputs = [ pytestCheckHook diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix index 596f9d619d2e..38c01d252ae1 100644 --- a/pkgs/development/python-modules/qiskit-terra/default.nix +++ b/pkgs/development/python-modules/qiskit-terra/default.nix @@ -35,7 +35,7 @@ , seaborn # Crosstalk-adaptive layout pass , withCrosstalkPass ? false -, z3 +, z3-solver # test requirements , ddt , hypothesis @@ -55,7 +55,7 @@ let pylatexenc seaborn ]; - crosstalkPackages = [ z3 ]; + crosstalkPackages = [ z3-solver ]; in buildPythonPackage rec { diff --git a/pkgs/development/tools/sass/Gemfile.lock b/pkgs/development/tools/sass/Gemfile.lock index 9882e1efcc4f..1904c01ecf26 100644 --- a/pkgs/development/tools/sass/Gemfile.lock +++ b/pkgs/development/tools/sass/Gemfile.lock @@ -1,9 +1,9 @@ GEM remote: https://rubygems.org/ specs: - ffi (1.10.0) - rb-fsevent (0.10.3) - rb-inotify (0.10.0) + ffi (1.16.3) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) ffi (~> 1.0) sass (3.7.4) sass-listen (~> 4.0.0) diff --git a/pkgs/development/tools/sass/gemset.nix b/pkgs/development/tools/sass/gemset.nix index c0c5937b15a4..5cadd7870b86 100644 --- a/pkgs/development/tools/sass/gemset.nix +++ b/pkgs/development/tools/sass/gemset.nix @@ -4,20 +4,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p"; + sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; - version = "1.10.0"; + version = "1.16.3"; }; rb-fsevent = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8"; + sha256 = "1zmf31rnpm8553lqwibvv3kkx0v7majm1f341xbxc0bk5sbhp423"; type = "gem"; }; - version = "0.10.3"; + version = "0.11.2"; }; rb-inotify = { dependencies = ["ffi"]; @@ -25,10 +25,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4"; + sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005"; type = "gem"; }; - version = "0.10.0"; + version = "0.10.1"; }; sass = { dependencies = ["sass-listen"]; diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix index 49cc74bafc2a..0acb6e1cb564 100644 --- a/pkgs/servers/search/groonga/default.nix +++ b/pkgs/servers/search/groonga/default.nix @@ -1,5 +1,5 @@ -{ lib, stdenv, cmake, fetchurl, kytea, mecab, pkg-config, rapidjson, testers, xxHash, zstd, postgresqlPackages -, suggestSupport ? false, zeromq, libevent, msgpack, openssl +{ lib, stdenv, cmake, fetchurl, kytea, msgpack-c, mecab, pkg-config, rapidjson, testers, xxHash, zstd, postgresqlPackages +, suggestSupport ? false, zeromq, libevent, openssl , lz4Support ? false, lz4 , zlibSupport ? true, zlib }: @@ -29,6 +29,7 @@ stdenv.mkDerivation (finalAttrs: { zstd mecab kytea + msgpack-c ] ++ lib.optionals lz4Support [ lz4 ] ++ lib.optional zlibSupport [ @@ -36,7 +37,6 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals suggestSupport [ zeromq libevent - msgpack ]; env.NIX_CFLAGS_COMPILE = lib.optionalString zlibSupport "-I${zlib.dev}/include"; diff --git a/pkgs/tools/networking/octodns/default.nix b/pkgs/tools/networking/octodns/default.nix new file mode 100644 index 000000000000..56226c29d0e9 --- /dev/null +++ b/pkgs/tools/networking/octodns/default.nix @@ -0,0 +1,63 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, setuptools +, wheel +, pytestCheckHook +, dnspython +, fqdn +, idna +, natsort +, python-dateutil +, pyyaml +, python +, runCommand +}: + +buildPythonPackage rec { + pname = "octodns"; + version = "1.4.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "octodns"; + repo = "octodns"; + rev = "v${version}"; + hash = "sha256-l4JGodbUmFxHFeEaxgClEozHcbyYP0F2yj5gDqV88IA="; + }; + + nativeBuildInputs = [ + setuptools + wheel + pytestCheckHook + ]; + + propagatedBuildInputs = [ + dnspython + fqdn + idna + natsort + python-dateutil + pyyaml + ]; + + pythonImportsCheck = [ "octodns" ]; + + passthru.withProviders = ps: let + pyEnv = python.withPackages ps; + in runCommand "octodns-with-providers" { } '' + mkdir -p $out/bin + ln -st $out/bin ${pyEnv}/bin/octodns-* + ''; + + meta = with lib; { + description = "Tools for managing DNS across multiple providers"; + homepage = "https://github.com/octodns/octodns"; + changelog = "https://github.com/octodns/octodns/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/tools/networking/octodns/providers/bind/default.nix b/pkgs/tools/networking/octodns/providers/bind/default.nix new file mode 100644 index 000000000000..46631ebd8e15 --- /dev/null +++ b/pkgs/tools/networking/octodns/providers/bind/default.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, octodns +, pytestCheckHook +, pythonOlder +, dnspython +, setuptools +, wheel +}: + +buildPythonPackage rec { + pname = "octodns-bind"; + version = "0.0.5"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "octodns"; + repo = "octodns-bind"; + rev = "v${version}"; + hash = "sha256-0ia/xYarrOiLZa8KU0s5wtCGtXIyxSl6OcwNkSJb/rA="; + }; + + nativeBuildInputs = [ + setuptools + wheel + ]; + + propagatedBuildInputs = [ + octodns + dnspython + ]; + + env.OCTODNS_RELEASE = 1; + + pythonImportsCheck = [ "octodns_bind" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = with lib; { + description = " RFC compliant (Bind9) provider for octoDNS"; + homepage = "https://github.com/octodns/octodns-bind"; + changelog = "https://github.com/octodns/octodns-bind/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/tools/networking/octodns/providers/hetzner/default.nix b/pkgs/tools/networking/octodns/providers/hetzner/default.nix new file mode 100644 index 000000000000..eb0903964b71 --- /dev/null +++ b/pkgs/tools/networking/octodns/providers/hetzner/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, octodns +, pytestCheckHook +, pythonOlder +, requests +, requests-mock +, setuptools +, wheel +}: + +buildPythonPackage rec { + pname = "octodns-hetzner"; + # the latest release tag is over a year behind. + version = "0.0.2-unstable-2023-09-29"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "octodns"; + repo = "octodns-hetzner"; + rev = "620840593a520dac9e365240b3ab361ded309c8e"; + hash = "sha256-WdYy8tc0+PYsKuyp3uqOzbxwhLSZ+06L3JVaTSATEKM="; + }; + + nativeBuildInputs = [ + setuptools + wheel + ]; + + propagatedBuildInputs = [ + octodns + requests + ]; + + pythonImportsCheck = [ "octodns_hetzner" ]; + + nativeCheckInputs = [ + pytestCheckHook + requests-mock + ]; + + meta = with lib; { + description = "Hetzner DNS provider for octoDNS"; + homepage = "https://github.com/octodns/octodns-hetzner/"; + changelog = "https://github.com/octodns/octodns-hetzner/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/tools/networking/octodns/providers/powerdns/default.nix b/pkgs/tools/networking/octodns/providers/powerdns/default.nix new file mode 100644 index 000000000000..68ddc56112b2 --- /dev/null +++ b/pkgs/tools/networking/octodns/providers/powerdns/default.nix @@ -0,0 +1,53 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, octodns +, pytestCheckHook +, pythonOlder +, requests +, requests-mock +, setuptools +, wheel +}: + +buildPythonPackage rec { + pname = "octodns-powerdns"; + version = "0.0.5"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "octodns"; + repo = "octodns-powerdns"; + rev = "v${version}"; + hash = "sha256-jt0+JnpCgvsoqMcC9mANX7uq2WPTiI2JQjwQi7LGWj0="; + }; + + nativeBuildInputs = [ + setuptools + wheel + ]; + + propagatedBuildInputs = [ + octodns + requests + ]; + + env.OCTODNS_RELEASE = 1; + + pythonImportsCheck = [ "octodns_powerdns" ]; + + nativeCheckInputs = [ + pytestCheckHook + requests-mock + ]; + + meta = with lib; { + description = "PowerDNS API provider for octoDNS"; + homepage = "https://github.com/octodns/octodns-powerdns/"; + changelog = "https://github.com/octodns/octodns-powerdns/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ janik ]; + }; +} diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix index 361eacae4d0e..a158f221894a 100644 --- a/pkgs/tools/networking/sing-box/default.nix +++ b/pkgs/tools/networking/sing-box/default.nix @@ -11,16 +11,16 @@ buildGoModule rec { pname = "sing-box"; - version = "1.7.2"; + version = "1.7.4"; src = fetchFromGitHub { owner = "SagerNet"; repo = pname; rev = "v${version}"; - hash = "sha256-SaWSmc498eLkWddnsHFpR6BPSbX/VHAlq+X4B7JG3Rk="; + hash = "sha256-I1c6zc/vnAoE97wESy3ZGITto4d5dfjpGNbw4vTeElc="; }; - vendorHash = "sha256-Frbv2KD5hJ5HHUdY9mm0aZ9NA5TN1D0am+FhpJZTvr4="; + vendorHash = "sha256-wK5gwj7UnQCHtRLim3S81n0T2N8jMP74K4TWxJYVuRA="; tags = [ "with_quic" diff --git a/pkgs/tools/networking/snowflake/default.nix b/pkgs/tools/networking/snowflake/default.nix index c4d26ae53d96..071305f951cf 100644 --- a/pkgs/tools/networking/snowflake/default.nix +++ b/pkgs/tools/networking/snowflake/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "snowflake"; - version = "2.7.0"; + version = "2.8.0"; src = fetchFromGitLab { domain = "gitlab.torproject.org"; @@ -10,10 +10,10 @@ buildGoModule rec { owner = "anti-censorship/pluggable-transports"; repo = "snowflake"; rev = "v${version}"; - sha256 = "sha256-vurNOJuu9bKmyLM3Agr8wHwMybLrtrJFSrlrc+lWiWQ="; + sha256 = "sha256-/bip6hjYDTcSdtqeHxWcH7Yn4VepGVy3ki/kZWEQaPE="; }; - vendorHash = "sha256-Bjd3HIVEQgrcBffcZPQhQygN/ZOPWTbN9oimmX4B1oQ="; + vendorHash = "sha256-dpOJE6FHaumL6vapigLTobS1r42DIFV8LHfVNvyZnsU="; meta = with lib; { description = "System to defeat internet censorship"; diff --git a/pkgs/tools/security/amoco/default.nix b/pkgs/tools/security/amoco/default.nix index a9c182ca4cbc..fe16ad9596dd 100644 --- a/pkgs/tools/security/amoco/default.nix +++ b/pkgs/tools/security/amoco/default.nix @@ -36,7 +36,7 @@ python3.pkgs.buildPythonApplication rec { prompt-toolkit pygments # pyside6 - z3 + z3-solver ]; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 88297c32de19..3bcb16311887 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -846,6 +846,14 @@ with pkgs; oauth2c = callPackage ../tools/security/oauth2c { }; + octodns = python3Packages.callPackage ../tools/networking/octodns { }; + + octodns-providers = recurseIntoAttrs { + bind = python3Packages.callPackage ../tools/networking/octodns/providers/bind { }; + hetzner = python3Packages.callPackage ../tools/networking/octodns/providers/hetzner { }; + powerdns = python3Packages.callPackage ../tools/networking/octodns/providers/powerdns { }; + }; + octosuite = callPackage ../tools/security/octosuite { }; octosql = callPackage ../tools/misc/octosql { }; @@ -17990,8 +17998,6 @@ with pkgs; regextester = callPackage ../applications/misc/regextester { }; - regina = callPackage ../development/interpreters/regina { }; - inherit (ocamlPackages) reason; buildRubyGem = callPackage ../development/ruby-modules/gem { @@ -32305,8 +32311,6 @@ with pkgs; gostatic = callPackage ../applications/misc/gostatic { }; - gosmore = callPackage ../applications/misc/gosmore { stdenv = gcc10StdenvCompat; }; - gossa = callPackage ../applications/networking/gossa { }; gpsbabel = libsForQt5.callPackage ../applications/misc/gpsbabel { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index c2bd5f390409..4cced0da0d14 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -464,6 +464,7 @@ mapAliases ({ xenomapper = throw "xenomapper was moved to pkgs.xenomapper"; # added 2021-12-31 XlsxWriter = xlsxwriter; # added 2023-02-19 Yapsy = yapsy; # added 2023-02-19 + z3 = z3-solver; # added 2023-12-03 zake = throw "zake has been removed because it is abandoned"; # added 2023-06-20 zc-buildout221 = zc-buildout; # added 2021-07-21 zc_buildout_nix = throw "zc_buildout_nix was pinned to a version no longer compatible with other modules"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 075586b9db5c..6929933a5089 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16239,9 +16239,11 @@ self: super: with self; { z3c-checkversions = callPackage ../development/python-modules/z3c-checkversions { }; - z3 = (toPythonModule (pkgs.z3.override { + z3-solver = (toPythonModule ((pkgs.z3.override { inherit python; - })).python; + }).overrideAttrs (_: { + pname = "z3-solver"; + }))).python; zadnegoale = callPackage ../development/python-modules/zadnegoale { }; |