diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2c7c2c3bdadf..b08dbcd8de9d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10430,6 +10430,12 @@ githubId = 36407913; name = "Uli Baum"; }; + xfnw = { + email = "xfnw+nixos@riseup.net"; + github = "xfnw"; + githubId = 66233223; + name = "Owen"; + }; xfix = { email = "konrad@borowski.pw"; github = "xfix"; diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py index 9ac1ccffb789..00a205313be8 100644 --- a/maintainers/scripts/pluginupdate.py +++ b/maintainers/scripts/pluginupdate.py @@ -416,6 +416,7 @@ def rewrite_input( } with open(deprecated, "w") as f: json.dump(deprecations, f, indent=4, sort_keys=True) + f.write("\n") lines = sorted(lines, key=str.casefold) diff --git a/pkgs/applications/editors/kakoune/plugins/generated.nix b/pkgs/applications/editors/kakoune/plugins/generated.nix index 3ea3ea514788..4fada31a0f54 100644 --- a/pkgs/applications/editors/kakoune/plugins/generated.nix +++ b/pkgs/applications/editors/kakoune/plugins/generated.nix @@ -29,24 +29,24 @@ let connect-kak = buildKakounePluginFrom2Nix { pname = "connect-kak"; - version = "2021-02-13"; + version = "2021-02-24"; src = fetchFromGitHub { - owner = "alexherbo2"; + owner = "kakounedotcom"; repo = "connect.kak"; - rev = "0858c0e50c6ca6d214fb088f052385a242548e83"; - sha256 = "1w4pwybg3v916hcyc49gz0blygv54ivv81x8fxp44ck0sy98idr3"; + rev = "a536605a208149eed58986bda54f3dda215dfe61"; + sha256 = "1svw64zk28sn271vjyzvq21zaln13vnx59rxnxah6adq8n5nkr4a"; }; - meta.homepage = "https://github.com/alexherbo2/connect.kak/"; + meta.homepage = "https://github.com/kakounedotcom/connect.kak/"; }; fzf-kak = buildKakounePluginFrom2Nix { pname = "fzf-kak"; - version = "2021-01-27"; + version = "2021-03-15"; src = fetchFromGitHub { owner = "andreyorst"; repo = "fzf.kak"; - rev = "e10de405e2a98e910d0808059200d206ba80f865"; - sha256 = "1hbsm1k8k0cgv7gxqicvnl22n2lb1plhkanniggk694gll22lq68"; + rev = "4e6c9a857511fccdbbc835a1c9acb205b6486a4c"; + sha256 = "0syhhdlsm7vg6hcd2n2acag9g562z49rbb5smh5p2gnplhmp93i0"; }; meta.homepage = "https://github.com/andreyorst/fzf.kak/"; }; @@ -149,26 +149,26 @@ let powerline-kak = buildKakounePluginFrom2Nix { pname = "powerline-kak"; - version = "2021-02-15"; + version = "2021-02-25"; src = fetchFromGitHub { - owner = "jdugan6240"; + owner = "andreyorst"; repo = "powerline.kak"; - rev = "322a760daa099d519ff50d14c29b27f3e2af00d1"; - sha256 = "0mb8f8p6g75p05ifp45i0gbq2mib8c8giz7r1xfd0yrwspp4aksc"; + rev = "64ad98b6c85e63345563671b043960464d51c4b0"; + sha256 = "09w2sk19qi64hgsyg4gb407vyppnlgk272mqbinz2r3apy6szkl3"; }; - meta.homepage = "https://github.com/jdugan6240/powerline.kak/"; + meta.homepage = "https://github.com/andreyorst/powerline.kak/"; }; prelude-kak = buildKakounePluginFrom2Nix { pname = "prelude-kak"; - version = "2020-09-06"; + version = "2021-02-24"; src = fetchFromGitHub { - owner = "alexherbo2"; + owner = "kakounedotcom"; repo = "prelude.kak"; - rev = "f1e0f4d5cb62a36924e3f8ba6824d6aed8c19d23"; + rev = "5dbdc020c546032885c1fdb463e366cc89fc15ad"; sha256 = "1pncr8azqvl2z9yvzhc68p1s9fld8cvak8yz88zgrp5ypx2cxl8c"; }; - meta.homepage = "https://github.com/alexherbo2/prelude.kak/"; + meta.homepage = "https://github.com/kakounedotcom/prelude.kak/"; }; replace-mode-kak = buildKakounePluginFrom2Nix { diff --git a/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names b/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names index 6cd856cb6c25..b18741460890 100644 --- a/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names +++ b/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names @@ -1,16 +1,16 @@ alexherbo2/auto-pairs.kak -alexherbo2/connect.kak -alexherbo2/prelude.kak alexherbo2/replace-mode.kak alexherbo2/sleuth.kak andreyorst/fzf.kak +andreyorst/powerline.kak danr/kakoune-easymotion Delapouite/kakoune-buffers Delapouite/kakoune-registers enricozb/tabs.kak@main greenfork/active-window.kak -jdugan6240/powerline.kak kakoune-editor/kakoune-extra-filetypes +kakounedotcom/connect.kak +kakounedotcom/prelude.kak listentolist/kakoune-rainbow mayjs/openscad.kak occivink/kakoune-buffer-switcher diff --git a/pkgs/applications/misc/sc-im/default.nix b/pkgs/applications/misc/sc-im/default.nix index 0ae7a5c1ec09..523dc6aab83d 100644 --- a/pkgs/applications/misc/sc-im/default.nix +++ b/pkgs/applications/misc/sc-im/default.nix @@ -1,43 +1,71 @@ -{ lib, stdenv, fetchFromGitHub, yacc, ncurses, libxml2, libzip, libxls, pkg-config }: +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, makeWrapper +, pkg-config +, which +, yacc +, gnuplot +, libxls +, libxml2 +, libzip +, ncurses +}: stdenv.mkDerivation rec { - version = "0.7.0"; pname = "sc-im"; + version = "0.8.0"; src = fetchFromGitHub { owner = "andmarti1424"; repo = "sc-im"; rev = "v${version}"; - sha256 = "0xi0n9qzby012y2j7hg4fgcwyly698sfi4i9gkvy0q682jihprbk"; + sha256 = "sha256-/eG2BdkyfEGoSzPu6jT+Bn1RZTGT1D3etGj1tYchm1M="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ yacc ncurses libxml2 libzip libxls ]; + sourceRoot = "${src.name}/src"; - buildPhase = '' - cd src + # make default colors readable on dark background + patches = [ + (fetchpatch { + url = "https://github.com/andmarti1424/sc-im/commit/78d2fdaaf2c578691e68fb5bd773803cb967ddba.patch"; + sha256 = "09716zsqa9qdsj2qpkji8wlzsmp9gl66ggvrg7lmrwwnvli2zn2w"; + }) + (fetchpatch { + url = "https://github.com/andmarti1424/sc-im/commit/f29d6605c8170febcec0dea7bda9613bee3b7011.patch"; + sha256 = "1zs1sb23g0k6lig4d0qdzq1wdhcdzl424ch567zyjl191lyhsjyg"; + }) + ]; - sed 's/LDLIBS += -lm/& -lncurses/' -i Makefile + patchFlags = [ "-p2" ]; - sed -e "\|^prefix = /usr/local| s|/usr/local|$out|" \ - -e "\|^#LDLIBS += -lxlsreader| s|^#|| " \ - -e "\|^#CFLAGS += -DXLS| s|^#|| " \ - -i Makefile + nativeBuildInputs = [ + makeWrapper + pkg-config + which + yacc + ]; - make - export DESTDIR=$out - ''; + buildInputs = [ + gnuplot + libxls + libxml2 + libzip + ncurses + ]; - installPhase = '' - make install prefix= + makeFlags = [ "prefix=${placeholder "out"}" ]; + + postInstall = '' + wrapProgram "$out/bin/sc-im" --prefix PATH : "${lib.makeBinPath [ gnuplot ]}" ''; meta = with lib; { homepage = "https://github.com/andmarti1424/sc-im"; - description = "SC-IM - Spreadsheet Calculator Improvised - SC fork"; + description = "An ncurses spreadsheet program for terminal"; license = licenses.bsdOriginal; - maintainers = [ ]; + maintainers = with maintainers; [ dotlambda ]; platforms = platforms.unix; }; - } diff --git a/pkgs/applications/networking/irc/catgirl/default.nix b/pkgs/applications/networking/irc/catgirl/default.nix new file mode 100644 index 000000000000..871dcc84c1de --- /dev/null +++ b/pkgs/applications/networking/irc/catgirl/default.nix @@ -0,0 +1,23 @@ +{ ctags, fetchurl, lib, libressl, man, ncurses, pkg-config, stdenv }: + +stdenv.mkDerivation rec { + pname = "catgirl"; + version = "1.6"; + + src = fetchurl { + url = "https://git.causal.agency/catgirl/snapshot/${pname}-${version}.tar.gz"; + sha256 = "0shg02zidqqmvywqqsaazlgg9rd5lhhrvjx6n0lzmdfaawxywciv"; + }; + + nativeBuildInputs = [ ctags pkg-config ]; + buildInputs = [ libressl man ncurses ]; + strictDeps = true; + + meta = with lib; { + homepage = "https://git.causal.agency/catgirl/about/"; + license = licenses.gpl3Plus; + description = "A TLS-only terminal IRC client"; + platforms = platforms.unix; + maintainers = with maintainers; [ xfnw ]; + }; +} diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix index edf26f7ec230..b2afc4701a55 100644 --- a/pkgs/applications/science/misc/snakemake/default.nix +++ b/pkgs/applications/science/misc/snakemake/default.nix @@ -2,13 +2,14 @@ python3Packages.buildPythonApplication rec { pname = "snakemake"; - version = "5.28.0"; + version = "6.0.5"; propagatedBuildInputs = with python3Packages; [ appdirs ConfigArgParse datrie docutils + filelock GitPython jsonschema nbformat @@ -17,19 +18,20 @@ python3Packages.buildPythonApplication rec { pyyaml ratelimiter requests + smart_open toposort wrapt ]; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "2367ce91baf7f8fa7738d33aff9670ffdf5410bbac49aeb209f73b45a3425046"; + sha256 = "9441169034cce46086a8b45486d75175db645b932e766d28fed312ec837792d3"; }; doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json meta = with lib; { - homepage = "https://snakemake.readthedocs.io"; + homepage = "https://snakemake.github.io"; license = licenses.mit; description = "Python-based execution environment for make-like workflows"; longDescription = '' diff --git a/pkgs/data/fonts/vista-fonts/default.nix b/pkgs/data/fonts/vista-fonts/default.nix index 20b5b673ccff..ca2ae302b3ee 100644 --- a/pkgs/data/fonts/vista-fonts/default.nix +++ b/pkgs/data/fonts/vista-fonts/default.nix @@ -1,14 +1,22 @@ -{ lib, fetchzip, cabextract }: +{ lib, stdenvNoCC, fetchurl, cabextract }: -fetchzip { - name = "vista-fonts-1"; +stdenvNoCC.mkDerivation { + pname = "vista-fonts"; + version = "1"; - url = "https://web.archive.org/web/20171225132744/http://download.microsoft.com/download/E/6/7/E675FFFC-2A6D-4AB0-B3EB-27C9F8C8F696/PowerPointViewer.exe"; + src = fetchurl { + url = "mirror://sourceforge/mscorefonts2/cabs/PowerPointViewer.exe"; + sha256 = "07vhjdw8iip7gxk6wvp4myhvbn9619g10j9qvpbzz4ihima57ry4"; + }; - postFetch = '' - ${cabextract}/bin/cabextract --lowercase --filter ppviewer.cab $downloadedFile - ${cabextract}/bin/cabextract --lowercase --filter '*.TTF' ppviewer.cab + nativeBuildInputs = [ cabextract ]; + unpackPhase = '' + cabextract --lowercase --filter ppviewer.cab $src + cabextract --lowercase --filter '*.TTF' ppviewer.cab + ''; + + installPhase = '' mkdir -p $out/share/fonts/truetype cp *.ttf $out/share/fonts/truetype @@ -21,8 +29,6 @@ fetchzip { done ''; - sha256 = "sha256-x7JSXS9Q1fzlJTVR+MAS3f2+cmo/H0s1qkY9FPjx2zI="; - meta = { description = "Some TrueType fonts from Microsoft Windows Vista (Calibri, Cambria, Candara, Consolas, Constantia, Corbel)"; homepage = "http://www.microsoft.com/typography/ClearTypeFonts.mspx"; diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix index b98588eb410f..bcd0fcee92c3 100644 --- a/pkgs/development/libraries/igraph/default.nix +++ b/pkgs/development/libraries/igraph/default.nix @@ -1,20 +1,43 @@ -{ stdenv, lib, fetchFromGitHub, - pkg-config, autoreconfHook, - flex, yacc, zlib, libxml2 }: +{ stdenv +, lib +, fetchFromGitHub +, fetchpatch +, arpack +, bison +, blas +, cmake +, flex +, fop +, glpk +, gmp +, lapack +, libxml2 +, libxslt +, pkg-config +, python3 +, sourceHighlight +, suitesparse +, xmlto +}: stdenv.mkDerivation rec { pname = "igraph"; - version = "0.8.5"; + version = "0.9.1"; src = fetchFromGitHub { owner = "igraph"; repo = pname; rev = version; - sha256 = "0cb0kp6mpmgz74kbymqw4xxads8ff7jh0n59dsm76xy6nn8hpqcz"; + sha256 = "sha256-i6Zg6bfHZ9NHwqCouX9m9YqD0VtiWW8DEkxS0hdUyIE="; }; - nativeBuildInputs = [ pkg-config autoreconfHook ]; - buildInputs = [ flex yacc zlib libxml2 ]; + patches = [ + (fetchpatch { + name = "pkg-config-paths.patch"; + url = "https://github.com/igraph/igraph/commit/980521cc948777df471893f7b6de8f3e3916a3c0.patch"; + sha256 = "0mbq8v5h90c3dhgmyjazjvva3rn57qhnv7pkc9hlbqdln9gpqg0g"; + }) + ]; # Normally, igraph wants us to call bootstrap.sh, which will call # tools/getversion.sh. Instead, we're going to put the version directly @@ -22,16 +45,69 @@ stdenv.mkDerivation rec { # bootstrap. ~ C. postPatch = '' echo "${version}" > IGRAPH_VERSION + '' + lib.optionalString stdenv.isAarch64 '' + # https://github.com/igraph/igraph/issues/1694 + substituteInPlace tests/CMakeLists.txt \ + --replace "igraph_scg_grouping3" "" \ + --replace "igraph_scg_semiprojectors2" "" ''; + outputs = [ "out" "dev" "doc" ]; + + nativeBuildInputs = [ + cmake + fop + libxml2 + libxslt + pkg-config + python3 + sourceHighlight + xmlto + ]; + + buildInputs = [ + arpack + bison + blas + flex + glpk + gmp + lapack + libxml2 + suitesparse + ]; + + cmakeFlags = [ + "-DIGRAPH_USE_INTERNAL_BLAS=OFF" + "-DIGRAPH_USE_INTERNAL_LAPACK=OFF" + "-DIGRAPH_USE_INTERNAL_ARPACK=OFF" + "-DIGRAPH_USE_INTERNAL_GLPK=OFF" + "-DIGRAPH_USE_INTERNAL_CXSPARSE=OFF" + "-DIGRAPH_USE_INTERNAL_GMP=OFF" + "-DIGRAPH_GLPK_SUPPORT=ON" + "-DIGRAPH_GRAPHML_SUPPORT=ON" + "-DIGRAPH_ENABLE_LTO=ON" + "-DIGRAPH_ENABLE_TLS=ON" + "-DBUILD_SHARED_LIBS=ON" + ]; + doCheck = true; - meta = { + preCheck = '' + # needed to find libigraph.so + export LD_LIBRARY_PATH="$PWD/src" + ''; + + postInstall = '' + mkdir -p "$out/share" + cp -r doc "$out/share" + ''; + + meta = with lib; { description = "The network analysis package"; homepage = "https://igraph.org/"; - license = lib.licenses.gpl2; - # NB: Known to fail tests on aarch64. - platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; - maintainers = [ lib.maintainers.MostAwesomeDude ]; + license = licenses.gpl2Plus; + platforms = platforms.all; + maintainers = with maintainers; [ MostAwesomeDude dotlambda ]; }; } diff --git a/pkgs/development/python-modules/mxnet/default.nix b/pkgs/development/python-modules/mxnet/default.nix index 2ad3b9fd6df1..47f4d80ad927 100644 --- a/pkgs/development/python-modules/mxnet/default.nix +++ b/pkgs/development/python-modules/mxnet/default.nix @@ -9,7 +9,7 @@ }: buildPythonPackage { - inherit (pkgs.mxnet) name version src meta; + inherit (pkgs.mxnet) pname version src meta; buildInputs = [ pkgs.mxnet ]; propagatedBuildInputs = [ requests numpy graphviz ]; diff --git a/pkgs/development/python-modules/python-igraph/default.nix b/pkgs/development/python-modules/python-igraph/default.nix index 728d47b1f967..8e90ce5190f6 100644 --- a/pkgs/development/python-modules/python-igraph/default.nix +++ b/pkgs/development/python-modules/python-igraph/default.nix @@ -1,32 +1,54 @@ -{ buildPythonPackage, fetchPypi, lib, isPy3k -, pkg-config, igraph -, texttable }: +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, pkg-config +, igraph +, texttable +, python +}: buildPythonPackage rec { pname = "python-igraph"; - version = "0.8.3"; - disabled = !isPy3k; # fails to build + version = "0.9.1"; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ igraph ]; - propagatedBuildInputs = [ texttable ]; + disabled = pythonOlder "3.6"; - src = fetchPypi { - inherit pname version; - sha256 = "e1f27622eddeb2bd5fdcbadb41ef048e884790bb050f9627c086dc609d0f1236"; + src = fetchFromGitHub { + owner = "igraph"; + repo = "python-igraph"; + rev = version; + sha256 = "1ldyzza25zvwh144lw8x856z76s8gfvnbdm56fcmwkvm7aj81npw"; }; + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + igraph + igraph.dev + ]; + + propagatedBuildInputs = [ + texttable + ]; + # NB: We want to use our igraph, not vendored igraph, but even with # pkg-config on the PATH, their custom setup.py still needs to be explicitly # told to do it. ~ C. setupPyGlobalFlags = [ "--use-pkg-config" ]; - doCheck = !isPy3k; + checkPhase = '' + ${python.interpreter} -m unittest + ''; - meta = { + pythonImportsCheck = [ "igraph" ]; + + meta = with lib; { description = "High performance graph data structures and algorithms"; homepage = "https://igraph.org/python/"; - license = lib.licenses.gpl2; - maintainers = [ lib.maintainers.MostAwesomeDude ]; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ MostAwesomeDude dotlambda ]; }; } diff --git a/pkgs/development/ruby-modules/gem/default.nix b/pkgs/development/ruby-modules/gem/default.nix index 02af8eaa9672..20667988548c 100644 --- a/pkgs/development/ruby-modules/gem/default.nix +++ b/pkgs/development/ruby-modules/gem/default.nix @@ -18,7 +18,7 @@ # Normal gem packages can be used outside of bundler; a binstub is created in # $out/bin. -{ lib, fetchurl, fetchgit, makeWrapper, git, darwin +{ lib, fetchurl, fetchgit, makeWrapper, gitMinimal, darwin , ruby, bundler } @ defs: @@ -89,7 +89,7 @@ stdenv.mkDerivation ((builtins.removeAttrs attrs ["source"]) // { buildInputs = [ ruby makeWrapper - ] ++ lib.optionals (type == "git") [ git ] + ] ++ lib.optionals (type == "git") [ gitMinimal ] ++ lib.optionals (type != "gem") [ bundler ] ++ lib.optional stdenv.isDarwin darwin.libobjc ++ buildInputs; diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix index ae0195156276..47edb29723e3 100644 --- a/pkgs/servers/radarr/default.nix +++ b/pkgs/servers/radarr/default.nix @@ -1,12 +1,26 @@ -{ lib, stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper }: +{ lib, stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper, icu, dotnetCorePackages, openssl, nixosTests }: -stdenv.mkDerivation rec { +let + os = if stdenv.isDarwin then "osx" else "linux"; + arch = { + x86_64-linux = "x64"; + aarch64-linux = "arm64"; + x86_64-darwin = "x64"; + }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + hash = { + x64-linux_hash = "sha256-bTh+Z5w5ZkL2iPteStqVcoFDGZIbpVjuXn20TZsfgtY="; + arm64-linux_hash = "sha256-aIzVSIRuGNiIFJPToXCQwYsbICKuPtwKATnQhkxvJuA="; + x64-osx_hash = "sha256-FxRSAJvRQya2x1kei6yRceGcyQ2mCaFveyeMGw0Jqw4="; + }."${arch}-${os}_hash"; + +in stdenv.mkDerivation rec { pname = "radarr"; - version = "0.2.0.1504"; + version = "3.0.2.4552"; src = fetchurl { - url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz"; - sha256 = "1h7pqn39vxd0vr1fwrnvfpxv5vhh4zcr0s8h0zvgplay2z6b6bvb"; + url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.master.${version}.${os}-core-${arch}.tar.gz"; + sha256 = hash; }; nativeBuildInputs = [ makeWrapper ]; @@ -15,17 +29,22 @@ stdenv.mkDerivation rec { mkdir -p $out/{bin,share/${pname}-${version}} cp -r * $out/share/${pname}-${version}/. - makeWrapper "${mono}/bin/mono" $out/bin/Radarr \ - --add-flags "$out/share/${pname}-${version}/Radarr.exe" \ + makeWrapper "${dotnetCorePackages.netcore_3_1}/bin/dotnet" $out/bin/Radarr \ + --add-flags "$out/share/${pname}-${version}/Radarr.dll" \ --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ - curl sqlite libmediainfo ]} + curl sqlite libmediainfo mono openssl icu ]} ''; + passthru = { + updateScript = ./update.sh; + tests.smoke-test = nixosTests.radarr; + }; + meta = with lib; { description = "A Usenet/BitTorrent movie downloader"; homepage = "https://radarr.video/"; - license = licenses.gpl3; + license = licenses.gpl3Only; maintainers = with maintainers; [ edwtjo purcell ]; - platforms = platforms.all; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; }; } diff --git a/pkgs/servers/radarr/update.sh b/pkgs/servers/radarr/update.sh new file mode 100755 index 000000000000..ad5364ec7218 --- /dev/null +++ b/pkgs/servers/radarr/update.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl nix-prefetch jq + +set -e + +dirname="$(dirname "$0")" + +updateHash() +{ + version=$1 + arch=$2 + os=$3 + + hashKey="${arch}-${os}_hash" + + url="https://github.com/Radarr/Radarr/releases/download/v$version/Radarr.master.$version.$os-core-$arch.tar.gz" + hash=$(nix-prefetch-url --type sha256 $url) + sriHash="$(nix to-sri --type sha256 $hash)" + + sed -i "s/$hashKey = \"[a-zA-Z0-9\/+-=]*\";/$hashKey = \"$sriHash\";/g" "$dirname/default.nix" +} + +updateVersion() +{ + sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix" +} + +currentVersion=$(cd $dirname && nix eval --raw '(with import ../../.. {}; radarr.version)') + +latestTag=$(curl https://api.github.com/repos/Radarr/Radarr/releases/latest | jq -r ".tag_name") +latestVersion="$(expr $latestTag : 'v\(.*\)')" + +if [[ "$currentVersion" == "$latestVersion" ]]; then + echo "Radarr is up-to-date: ${currentVersion}" + exit 0 +fi + +updateVersion $latestVersion + +updateHash $latestVersion x64 linux +updateHash $latestVersion arm64 linux +updateHash $latestVersion x64 osx diff --git a/pkgs/tools/security/zgrab2/default.nix b/pkgs/tools/security/zgrab2/default.nix new file mode 100644 index 000000000000..b8863a6a94e4 --- /dev/null +++ b/pkgs/tools/security/zgrab2/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "zgrab2"; + version = "20210327-${lib.strings.substring 0 7 rev}"; + rev = "17a5257565c758e2b817511d15476d330be0a17a"; + + src = fetchFromGitHub { + owner = "zmap"; + repo = pname; + inherit rev; + sha256 = "1hxk2jggj8lww97lwmks46i001p5ycnxnck8yya6d0fd3ayxvw2w"; + }; + + vendorSha256 = "1s0azy5b5hi5h24vs6a9f1n70l980vkid28ihqh10zq6ajmds2z3"; + + subPackages = [ "cmd/zgrab2" ]; + + meta = with lib; { + description = "Web application scanner"; + homepage = "https://github.com/zmap/zgrab2"; + license = with licenses; [ asl20 isc ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dc0cf9bd56b6..0142818ca0fc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21894,6 +21894,8 @@ in catfs = callPackage ../os-specific/linux/catfs { }; + catgirl = callPackage ../applications/networking/irc/catgirl { }; + catimg = callPackage ../tools/misc/catimg { }; catt = callPackage ../applications/video/catt { }; @@ -26743,7 +26745,9 @@ in autoconf = buildPackages.autoconf269; }; - zgrviewer = callPackage ../applications/graphics/zgrviewer {}; + zgrab2 = callPackage ../tools/security/zgrab2 { }; + + zgrviewer = callPackage ../applications/graphics/zgrviewer { }; zgv = callPackage ../applications/graphics/zgv { # Enable the below line for terminal display. Note