diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4f1f996756bb..1307b293fe98 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -8127,6 +8127,12 @@ githubId = 3889405; name = "vyp"; }; + wamserma = { + name = "Markus S. Wamser"; + email = "github-dev@mail2013.wamser.eu"; + github = "wamserma"; + githubId = 60148; + }; waynr = { name = "Wayne Warren"; email = "wayne.warren.s@gmail.com"; diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index 4965f9c36297..f34bfc9411ec 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -203,6 +203,15 @@ environment.systemPackages = [ here. + + + Deluge 2.x was added and is used as default for new NixOS + installations where stateVersion is >= 20.09. If you are upgrading from a previous + NixOS version, you can set service.deluge.package = pkgs.deluge-2_x + to upgrade to Deluge 2.x and migrate the state to the new format. + Be aware that backwards state migrations are not supported by Deluge. + + @@ -246,7 +255,6 @@ environment.systemPackages = [ # sudo /run/current-system/fine-tune/child-1/bin/switch-to-configuration test - diff --git a/nixos/modules/services/torrent/deluge.nix b/nixos/modules/services/torrent/deluge.nix index 0c72505395dd..2f1e7300ca38 100644 --- a/nixos/modules/services/torrent/deluge.nix +++ b/nixos/modules/services/torrent/deluge.nix @@ -5,6 +5,7 @@ with lib; let cfg = config.services.deluge; cfg_web = config.services.deluge.web; + isDeluge1 = versionOlder cfg.package.version "2.0.0"; openFilesLimit = 4096; listenPortsDefault = [ 6881 6889 ]; @@ -18,11 +19,11 @@ let preStart = if cfg.declarative then '' if [ -e ${declarativeLockFile} ]; then # Was declarative before, no need to back up anything - ln -sf ${configFile} ${configDir}/core.conf + ${if isDeluge1 then "ln -sf" else "cp"} ${configFile} ${configDir}/core.conf ln -sf ${cfg.authFile} ${configDir}/auth else # Declarative for the first time, backup stateful files - ln -sb --suffix=.stateful ${configFile} ${configDir}/core.conf + ${if isDeluge1 then "ln -s" else "cp"} -b --suffix=.stateful ${configFile} ${configDir}/core.conf ln -sb --suffix=.stateful ${cfg.authFile} ${configDir}/auth echo "Autogenerated file that signifies that this server configuration is managed declaratively by NixOS" \ > ${declarativeLockFile} @@ -144,6 +145,14 @@ in { This always contains unzip, gnutar, xz, p7zip and bzip2. ''; }; + + package = mkOption { + type = types.package; + example = literalExample "pkgs.deluge-1_x"; + description = '' + Deluge package to use. + ''; + }; }; deluge.web = { @@ -170,6 +179,13 @@ in { config = mkIf cfg.enable { + services.deluge.package = mkDefault ( + if versionAtLeast config.system.stateVersion "20.09" then + pkgs.deluge-2_x + else + pkgs.deluge-1_x + ); + # Provide a default set of `extraPackages`. services.deluge.extraPackages = with pkgs; [ unzip gnutar xz p7zip bzip2 ]; @@ -189,10 +205,10 @@ in { after = [ "network.target" ]; description = "Deluge BitTorrent Daemon"; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.deluge ] ++ cfg.extraPackages; + path = [ cfg.package ] ++ cfg.extraPackages; serviceConfig = { ExecStart = '' - ${pkgs.deluge}/bin/deluged \ + ${cfg.package}/bin/deluged \ --do-not-daemonize \ --config ${configDir} ''; @@ -212,10 +228,11 @@ in { requires = [ "deluged.service" ]; description = "Deluge BitTorrent WebUI"; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.deluge ]; + path = [ cfg.package ]; serviceConfig = { ExecStart = '' - ${pkgs.deluge}/bin/deluge-web \ + ${cfg.package}/bin/deluge-web \ + ${optionalString (!isDeluge1) "--do-not-daemonize"} \ --config ${configDir} \ --port ${toString cfg.web.port} ''; @@ -234,7 +251,7 @@ in { }) ]; - environment.systemPackages = [ pkgs.deluge ]; + environment.systemPackages = [ cfg.package ]; users.users = mkIf (cfg.user == "deluge") { deluge = { diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix index 37689c3d9137..3cf179a38216 100644 --- a/nixos/tests/deluge.nix +++ b/nixos/tests/deluge.nix @@ -5,9 +5,10 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; nodes = { - simple = { + simple1 = { services.deluge = { enable = true; + package = pkgs.deluge-1_x; web = { enable = true; openFirewall = true; @@ -15,50 +16,92 @@ import ./make-test-python.nix ({ pkgs, ...} : { }; }; - declarative = - { ... }: + declarative1 = { + services.deluge = { + enable = true; + package = pkgs.deluge-1_x; + openFirewall = true; + declarative = true; + config = { + allow_remote = true; + download_location = "/var/lib/deluge/my-download"; + daemon_port = 58846; + listen_ports = [ 6881 6889 ]; + }; + web = { + enable = true; + port = 3142; + }; + authFile = pkgs.writeText "deluge-auth" '' + localclient:a7bef72a890:10 + andrew:password:10 + user3:anotherpass:5 + ''; + }; + }; - { - services.deluge = { + simple2 = { + services.deluge = { + enable = true; + package = pkgs.deluge-2_x; + web = { enable = true; openFirewall = true; - declarative = true; - config = { - allow_remote = true; - download_location = "/var/lib/deluge/my-download"; - daemon_port = 58846; - listen_ports = [ 6881 6889 ]; - }; - web = { - enable = true; - port = 3142; - }; - authFile = pkgs.writeText "deluge-auth" '' - localclient:a7bef72a890:10 - andrew:password:10 - user3:anotherpass:5 - ''; }; - environment.systemPackages = [ pkgs.deluge ]; }; + }; + + declarative2 = { + services.deluge = { + enable = true; + package = pkgs.deluge-2_x; + openFirewall = true; + declarative = true; + config = { + allow_remote = true; + download_location = "/var/lib/deluge/my-download"; + daemon_port = 58846; + listen_ports = [ 6881 6889 ]; + }; + web = { + enable = true; + port = 3142; + }; + authFile = pkgs.writeText "deluge-auth" '' + localclient:a7bef72a890:10 + andrew:password:10 + user3:anotherpass:5 + ''; + }; + }; }; testScript = '' start_all() - simple.wait_for_unit("deluged") - simple.wait_for_unit("delugeweb") - simple.wait_for_open_port("8112") - declarative.wait_for_unit("network.target") - declarative.wait_until_succeeds("curl --fail http://simple:8112") + simple1.wait_for_unit("deluged") + simple2.wait_for_unit("deluged") + simple1.wait_for_unit("delugeweb") + simple2.wait_for_unit("delugeweb") + simple1.wait_for_open_port("8112") + simple2.wait_for_open_port("8112") + declarative1.wait_for_unit("network.target") + declarative2.wait_for_unit("network.target") + declarative1.wait_until_succeeds("curl --fail http://simple1:8112") + declarative2.wait_until_succeeds("curl --fail http://simple2:8112") - declarative.wait_for_unit("deluged") - declarative.wait_for_unit("delugeweb") - declarative.wait_until_succeeds("curl --fail http://declarative:3142") - declarative.succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'") - declarative.succeed( - "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'" + declarative1.wait_for_unit("deluged") + declarative2.wait_for_unit("deluged") + declarative1.wait_for_unit("delugeweb") + declarative2.wait_for_unit("delugeweb") + declarative1.wait_until_succeeds("curl --fail http://declarative1:3142") + declarative2.wait_until_succeeds("curl --fail http://declarative2:3142") + declarative1.succeed( + "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'" + ) + declarative2.succeed( + "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm.*Remove a torrent'" ) ''; }) diff --git a/pkgs/applications/networking/p2p/deluge/default.nix b/pkgs/applications/networking/p2p/deluge/1/default.nix similarity index 100% rename from pkgs/applications/networking/p2p/deluge/default.nix rename to pkgs/applications/networking/p2p/deluge/1/default.nix diff --git a/pkgs/applications/networking/p2p/deluge/2/default.nix b/pkgs/applications/networking/p2p/deluge/2/default.nix new file mode 100644 index 000000000000..755ef4cc33b5 --- /dev/null +++ b/pkgs/applications/networking/p2p/deluge/2/default.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchurl, intltool, libtorrentRasterbar, pythonPackages +, gtk3, gobject-introspection, librsvg, wrapGAppsHook }: + +pythonPackages.buildPythonPackage rec { + pname = "deluge"; + version = "2.0.3"; + + src = fetchurl { + url = "http://download.deluge-torrent.org/source/2.0/${pname}-${version}.tar.xz"; + sha256 = "14d8kn2pvr1qv8mwqrxmj85jycr73vwfqz12hzag0ararbkfhyky"; + }; + + propagatedBuildInputs = with pythonPackages; [ + twisted Mako chardet pyxdg pyopenssl service-identity + libtorrentRasterbar.dev libtorrentRasterbar.python setuptools + setproctitle pillow rencode six zope_interface + dbus-python pygobject3 pycairo + gtk3 gobject-introspection librsvg + ]; + + nativeBuildInputs = [ intltool wrapGAppsHook ]; + + checkInputs = with pythonPackages; [ + pytest /* pytest-twisted */ pytestcov mock + mccabe pylint + ]; + + doCheck = false; # until pytest-twisted is packaged + + postInstall = '' + mkdir -p $out/share/applications + cp -R deluge/ui/data/pixmaps $out/share/ + cp -R deluge/ui/data/icons $out/share/ + cp deluge/ui/data/share/applications/deluge.desktop $out/share/applications + ''; + + meta = with stdenv.lib; { + homepage = "https://deluge-torrent.org"; + description = "Torrent client"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ domenkozar ebzzry ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix index 79aa586007d3..99907993104f 100644 --- a/pkgs/applications/version-management/sourcehut/builds.nix +++ b/pkgs/applications/version-management/sourcehut/builds.nix @@ -4,14 +4,14 @@ , srht, redis, celery, pyyaml, markdown }: let - version = "0.52.5"; + version = "0.56.13"; buildWorker = src: buildGoModule { inherit src version; pname = "builds-sr-ht-worker"; goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker"; - modSha256 = "1dwp87zsbh4a48q0pacssy329kchrd4sa47c5a1k8smbqn078424"; + modSha256 = "10is7siscids9qz6jh9m1i17749dafqqkg4b3sslmxaxyn16yj97"; }; in buildPythonPackage rec { inherit version; @@ -20,7 +20,7 @@ in buildPythonPackage rec { src = fetchgit { url = "https://git.sr.ht/~sircmpwn/builds.sr.ht"; rev = version; - sha256 = "142aycnary6yfi0y1i3zgpyndi0756fingavcz2dnqi36pkajaaj"; + sha256 = "uFoS9xaVXsZZf4neZQcUyTqKo2RshOQeifD27kaKSVE="; }; patches = [ diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix index abc2955e2717..76a81ce89683 100644 --- a/pkgs/applications/version-management/sourcehut/core.nix +++ b/pkgs/applications/version-management/sourcehut/core.nix @@ -1,18 +1,18 @@ { stdenv, fetchgit, fetchNodeModules, buildPythonPackage -, pgpy, flask, bleach, misaka, humanize, markdown, psycopg2, pygments, requests -, sqlalchemy, cryptography, beautifulsoup4, sqlalchemy-utils, celery, alembic -, importlib-metadata +, pgpy, flask, bleach, misaka, humanize, html5lib, markdown, psycopg2, pygments +, requests, sqlalchemy, cryptography, beautifulsoup4, sqlalchemy-utils, prometheus_client +, celery, alembic, importlib-metadata , sassc, nodejs , writeText }: buildPythonPackage rec { pname = "srht"; - version = "0.57.2"; + version = "0.59.13"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/core.sr.ht"; rev = version; - sha256 = "11rfpb0wf1xzrhcnpahaghmi5626snzph0vsbxlmmqx75wf0p6mf"; + sha256 = "5jc6MtG/cBry05Sq51UAFzSBvKKkdNTA67UIDvJt9uU="; }; node_modules = fetchNodeModules { @@ -36,6 +36,7 @@ buildPythonPackage rec { bleach misaka humanize + html5lib markdown psycopg2 pygments @@ -44,6 +45,7 @@ buildPythonPackage rec { cryptography beautifulsoup4 sqlalchemy-utils + prometheus_client # Unofficial runtime dependencies? celery diff --git a/pkgs/applications/version-management/sourcehut/dispatch.nix b/pkgs/applications/version-management/sourcehut/dispatch.nix index 2ca40c314080..52a49d4a0845 100644 --- a/pkgs/applications/version-management/sourcehut/dispatch.nix +++ b/pkgs/applications/version-management/sourcehut/dispatch.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "dispatchsrht"; - version = "0.13.3"; + version = "0.14.1"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht"; rev = version; - sha256 = "08asayfwpzafscpli5grx1p0y1ryz7pqkznf5bd9j8ir2iyhbc10"; + sha256 = "eJ+oHs9m74Q8V6fUBLOA1ksUiwdaR1/Bxlf3jcexdkA="; }; patches = [ diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix index 09cdd061b38d..de4656e58816 100644 --- a/pkgs/applications/version-management/sourcehut/git.nix +++ b/pkgs/applications/version-management/sourcehut/git.nix @@ -1,10 +1,10 @@ { stdenv, fetchgit, buildPythonPackage , python , buildGoModule -, srht, pygit2, scmsrht }: +, srht, minio, pygit2, scmsrht }: let - version = "0.43.3"; + version = "0.50.3"; buildShell = src: buildGoModule { inherit src version; @@ -44,7 +44,7 @@ in buildPythonPackage rec { src = fetchgit { url = "https://git.sr.ht/~sircmpwn/git.sr.ht"; rev = version; - sha256 = "1f9wfyri85bq4zi9xkbfcfb69q4abh0hz7p3lghj460hh9zxc57w"; + sha256 = "dmcTee3hp6ZkwwunG4ouEVmCxQ1a9LfQ7oWpHxnKumc="; }; patches = [ @@ -55,6 +55,7 @@ in buildPythonPackage rec { propagatedBuildInputs = [ srht + minio pygit2 scmsrht ]; diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix index 040d7783d472..ee6dd2707591 100644 --- a/pkgs/applications/version-management/sourcehut/hg.nix +++ b/pkgs/applications/version-management/sourcehut/hg.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "hgsrht"; - version = "0.21.1"; + version = "0.26.0"; src = fetchhg { url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht"; rev = version; - sha256 = "19r8zcy4xf9imqifqw3b7ylxd46i025ncns69kn5xp11damilz66"; + sha256 = "kX0KZSEzYQ/hxL2vKh+mpaRuG16qbBKN2Xwp+e9pTxs="; }; patches = [ diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix index dc2573bd2451..1d915e915b10 100644 --- a/pkgs/applications/version-management/sourcehut/lists.nix +++ b/pkgs/applications/version-management/sourcehut/lists.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "listssrht"; - version = "0.40.3"; + version = "0.41.8"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/lists.sr.ht"; rev = version; - sha256 = "1s736i5wm04pqa5k7455bdjdi7vjgvq32q1v6mdsp1w7jhgy1ags"; + sha256 = "Gmt6ttupyhZhpyH/IASEt8SZGrlQmEEtV5bE11yIiXQ="; }; patches = [ diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix index 753ba46d6c33..a150b774f614 100644 --- a/pkgs/applications/version-management/sourcehut/man.nix +++ b/pkgs/applications/version-management/sourcehut/man.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "mansrht"; - version = "0.14.1"; + version = "0.14.7"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/man.sr.ht"; rev = version; - sha256 = "13yar0sa24jyiq0l4p4bgq6p5crj148f26sxwyi37g76jqba4rfi"; + sha256 = "CKXWVXr2P1D6Nz9/S5rOkuOi9piy66RreQv2RQ0KSfs="; }; patches = [ diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix index a2a23367a332..5b75b5818d72 100644 --- a/pkgs/applications/version-management/sourcehut/meta.nix +++ b/pkgs/applications/version-management/sourcehut/meta.nix @@ -1,16 +1,16 @@ { stdenv, fetchgit, buildPythonPackage , python , pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache -, sshpubkeys, weasyprint, prometheus_client }: +, sshpubkeys, weasyprint }: buildPythonPackage rec { pname = "metasrht"; - version = "0.41.10"; + version = "0.42.13"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/meta.sr.ht"; rev = version; - sha256 = "1srzrajgwq85kjryxykj708m2c98r6a84x4k4a5grwznqw3mwm6p"; + sha256 = "p7WgnfOsX09YxJJclHwdIky/jYkTOxibbYmXwcmE2S4="; }; nativeBuildInputs = srht.nativeBuildInputs; @@ -27,7 +27,6 @@ buildPythonPackage rec { pystache sshpubkeys weasyprint - prometheus_client ]; patches = [ diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix index bd5a9ef5fc6d..e05dec5d6aaa 100644 --- a/pkgs/applications/version-management/sourcehut/paste.nix +++ b/pkgs/applications/version-management/sourcehut/paste.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "pastesrht"; - version = "0.9.2"; + version = "0.10.3"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/paste.sr.ht"; rev = version; - sha256 = "0hiv607a7446dba524kblmpswlcz0z4i1jr49ng7g90nhpsk8dy4"; + sha256 = "i1M4L5NG152zkIEFj2vDHa9lr5aE1ioToDVPpkIqemk="; }; patches = [ diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix index f2ba55951e5b..e3210673cb73 100644 --- a/pkgs/applications/version-management/sourcehut/scm.nix +++ b/pkgs/applications/version-management/sourcehut/scm.nix @@ -4,12 +4,12 @@ buildPythonPackage rec { pname = "scmsrht"; - version = "0.18.1"; + version = "0.19.11"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/scm.sr.ht"; rev = version; - sha256 = "1f0h8vbbqx34v1rgzqjkgbf0z7jhnp8hdlzmrxwhs74kj6zjb134"; + sha256 = "a0JIZcO/3op409t+jq4/fImuppuGqfGxBPgBh67DGHM="; }; nativeBuildInputs = srht.nativeBuildInputs; diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix index 506b287bc921..3a5bc2c105ea 100644 --- a/pkgs/applications/version-management/sourcehut/todo.nix +++ b/pkgs/applications/version-management/sourcehut/todo.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "todosrht"; - version = "0.55.3"; + version = "0.57.14"; src = fetchgit { url = "https://git.sr.ht/~sircmpwn/todo.sr.ht"; rev = version; - sha256 = "1j82yxdnag0q6rp0rpiq3ccn5maa1k58j2f1ilcsxf1gr13pycf5"; + sha256 = "nlTf7KV6vjqqVEXZ6OOZ5dAj1iHTDPYj4DnAD2hGp5c="; }; patches = [ diff --git a/pkgs/build-support/alternatives/blas/default.nix b/pkgs/build-support/alternatives/blas/default.nix index 1b8783438662..b1dadf23c078 100644 --- a/pkgs/build-support/alternatives/blas/default.nix +++ b/pkgs/build-support/alternatives/blas/default.nix @@ -59,7 +59,7 @@ stdenv.mkDerivation { unpackPhase = "src=$PWD"; installPhase = ('' - mkdir -p $out/lib $dev/include $dev/include/pkgconfig + mkdir -p $out/lib $dev/include $dev/lib/pkgconfig libblas="${lib.getLib blasProvider}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/1.1/default.nix similarity index 82% rename from pkgs/development/libraries/libtorrent-rasterbar/default.nix rename to pkgs/development/libraries/libtorrent-rasterbar/1.1/default.nix index f910964a2cac..b2c958795f3e 100644 --- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix +++ b/pkgs/development/libraries/libtorrent-rasterbar/1.1/default.nix @@ -1,9 +1,9 @@ { stdenv, lib, fetchFromGitHub, pkgconfig, automake, autoconf -, zlib, boost, openssl, libtool, python, libiconv, geoip, ncurses +, zlib, boost, openssl, libtool, python, libiconv, ncurses }: let - version = "1.2.5"; + version = "1.1.11"; formattedVersion = lib.replaceChars ["."] ["_"] version; # Make sure we override python, so the correct version is chosen @@ -17,14 +17,13 @@ in stdenv.mkDerivation { src = fetchFromGitHub { owner = "arvidn"; repo = "libtorrent"; - rev = "libtorrent-${formattedVersion}"; + rev = "libtorrent_${formattedVersion}"; sha256 = "0nwdsv6d2gkdsh7l5a46g6cqx27xwh3msify5paf02l1qzjy4s5l"; }; enableParallelBuilding = true; nativeBuildInputs = [ automake autoconf libtool pkgconfig ]; - buildInputs = [ boostPython openssl zlib python libiconv geoip ncurses ]; - + buildInputs = [ boostPython openssl zlib python libiconv ncurses ]; preConfigure = "./autotool.sh"; postInstall = '' @@ -36,11 +35,9 @@ in stdenv.mkDerivation { configureFlags = [ "--enable-python-binding" - "--with-libgeoip=system" "--with-libiconv=yes" "--with-boost=${boostPython.dev}" "--with-boost-libdir=${boostPython.out}/lib" - "--with-libiconv=yes" ]; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/libtorrent-rasterbar/1.2/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/1.2/default.nix new file mode 100644 index 000000000000..8b9992ec66d4 --- /dev/null +++ b/pkgs/development/libraries/libtorrent-rasterbar/1.2/default.nix @@ -0,0 +1,50 @@ +{ stdenv, lib, fetchFromGitHub, pkgconfig, automake, autoconf +, zlib, boost, openssl, libtool, python, libiconv, ncurses +}: + +let + version = "1.2.5"; + formattedVersion = lib.replaceChars ["."] ["_"] version; + + # Make sure we override python, so the correct version is chosen + # for the bindings, if overridden + boostPython = boost.override { enablePython = true; inherit python; }; + +in stdenv.mkDerivation { + pname = "libtorrent-rasterbar"; + inherit version; + + src = fetchFromGitHub { + owner = "arvidn"; + repo = "libtorrent"; + rev = "libtorrent-${formattedVersion}"; + sha256 = "0y2fzqbvb1bxvf93d7sphwzxih6j40p5p3fay943k26w0nrq802w"; + }; + + enableParallelBuilding = true; + nativeBuildInputs = [ automake autoconf libtool pkgconfig ]; + buildInputs = [ boostPython openssl zlib python libiconv ncurses ]; + preConfigure = "./autotool.sh"; + + postInstall = '' + moveToOutput "include" "$dev" + moveToOutput "lib/${python.libPrefix}" "$python" + ''; + + outputs = [ "out" "dev" "python" ]; + + configureFlags = [ + "--enable-python-binding" + "--with-libiconv=yes" + "--with-boost=${boostPython.dev}" + "--with-boost-libdir=${boostPython.out}/lib" + ]; + + meta = with stdenv.lib; { + homepage = "https://libtorrent.org/"; + description = "A C++ BitTorrent implementation focusing on efficiency and scalability"; + license = licenses.bsd3; + maintainers = [ maintainers.phreedom ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/tools/packet-cli/default.nix b/pkgs/development/tools/packet-cli/default.nix new file mode 100644 index 000000000000..52bb0f158446 --- /dev/null +++ b/pkgs/development/tools/packet-cli/default.nix @@ -0,0 +1,23 @@ +{ stdenv, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "packet-cli"; + version = "0.0.6"; + + src = fetchFromGitHub { + owner = "packethost"; + repo = pname; + rev = version; + sha256 = "17f3ax7pjm5k93cxj7fd8hwr4id1lbzz9pkl2xflpxydi89bwdfz"; + }; + + modSha256 = "1hyv1vxk1rsr3jq3b08q0487sqf3y0km3mlwvqivib1y6hrknnnr"; + + meta = with stdenv.lib; { + description = "Official Packet CLI"; + homepage = "https://github.com/packethost/packet-cli"; + license = licenses.mit; + maintainers = with maintainers; [ filalex77 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix index 9041667a0fc7..8bcfaa2e46ac 100644 --- a/pkgs/development/tools/yq-go/default.nix +++ b/pkgs/development/tools/yq-go/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "yq-go"; - version = "3.2.1"; + version = "3.3.0"; src = fetchFromGitHub { owner = "mikefarah"; rev = version; repo = "yq"; - sha256 = "1n20m1zizbkgzag4676fvf16h6f8vll6pniblj7haqdwvnza8zwd"; + sha256 = "1jll5nmskvs61031h3sizhv3scv8znrr9apyc4qlxcp4jiv7xpmp"; }; - modSha256 = "0hbazc6hf3zrni25lpbyi36sbxyabbrpi591gkqwxgr9hdbdpcg9"; + modSha256 = "1m7sha6kwis1a00il1iigb9lxxh5m2myj9ps20s816m0b9bhd43v"; meta = with lib; { description = "Portable command-line YAML processor"; diff --git a/pkgs/tools/security/ghidra/default.nix b/pkgs/tools/security/ghidra/default.nix index 63fbca8f4468..d31e1f2c2758 100644 --- a/pkgs/tools/security/ghidra/default.nix +++ b/pkgs/tools/security/ghidra/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, lib, makeWrapper, autoPatchelfHook +{ stdenv, fetchzip, lib, makeWrapper, autoPatchelfHook , openjdk11, pam, makeDesktopItem, icoutils }: let @@ -16,23 +16,22 @@ in stdenv.mkDerivation { - name = "ghidra-9.1"; + name = "ghidra-9.1.2"; - src = fetchurl { - url = "https://ghidra-sre.org/ghidra_9.1_PUBLIC_20191023.zip"; - sha256 = "0pl7s59008gvgwz4mxp7rz3xr3vaa12a6s5zvx2yr9jxx3gk1l99"; + src = fetchzip { + url = "https://ghidra-sre.org/ghidra_9.1.2_PUBLIC_20200212.zip"; + sha256 = "0j48pijypg44bw06azbrgfqjkigb13ljfdxib70sxwyqia3vkbbm"; }; nativeBuildInputs = [ makeWrapper autoPatchelfHook - unzip + icoutils ]; buildInputs = [ stdenv.cc.cc.lib pam - icoutils ]; dontStrip = true; @@ -42,7 +41,7 @@ in stdenv.mkDerivation { mkdir -p "${pkg_path}" "$out/share/applications" cp -a * "${pkg_path}" ln -s ${desktopItem}/share/applications/* $out/share/applications - + icotool -x "${pkg_path}/support/ghidra.ico" rm ghidra_4_40x40x32.png for f in ghidra_*.png; do diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34ae3ef1d785..40edd160b231 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2839,9 +2839,15 @@ in ddrutility = callPackage ../tools/system/ddrutility { }; - deluge = callPackage ../applications/networking/p2p/deluge { - pythonPackages = python2Packages; + deluge-2_x = callPackage ../applications/networking/p2p/deluge/2 { + pythonPackages = python3Packages; + libtorrentRasterbar = libtorrentRasterbar.override { python = python3; }; }; + deluge-1_x = callPackage ../applications/networking/p2p/deluge/1 { + pythonPackages = python2Packages; + libtorrentRasterbar = libtorrentRasterbar-1_1_x; + }; + deluge = deluge-2_x; desktop-file-utils = callPackage ../tools/misc/desktop-file-utils { }; @@ -13242,7 +13248,11 @@ in libtomcrypt = callPackage ../development/libraries/libtomcrypt { }; - libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { }; + libtorrentRasterbar-1_2_x = callPackage ../development/libraries/libtorrent-rasterbar/1.2 { }; + + libtorrentRasterbar-1_1_x = callPackage ../development/libraries/libtorrent-rasterbar/1.1 { }; + + libtorrentRasterbar = libtorrentRasterbar-1_2_x; # this is still the new version of the old API libtoxcore-new = callPackage ../development/libraries/libtoxcore/new-api.nix { }; @@ -21132,6 +21142,8 @@ in packet = callPackage ../development/tools/packet { }; + packet-cli = callPackage ../development/tools/packet-cli { }; + pb_cli = callPackage ../tools/misc/pb_cli {}; capture = callPackage ../tools/misc/capture {};