Merge branch 'master' of github.com:NixOS/nixpkgs into staging

This commit is contained in:
John Ericson 2020-04-18 00:10:08 -04:00
commit e3d50e5cb0
24 changed files with 293 additions and 92 deletions

View file

@ -8127,6 +8127,12 @@
githubId = 3889405; githubId = 3889405;
name = "vyp"; name = "vyp";
}; };
wamserma = {
name = "Markus S. Wamser";
email = "github-dev@mail2013.wamser.eu";
github = "wamserma";
githubId = 60148;
};
waynr = { waynr = {
name = "Wayne Warren"; name = "Wayne Warren";
email = "wayne.warren.s@gmail.com"; email = "wayne.warren.s@gmail.com";

View file

@ -203,6 +203,15 @@ environment.systemPackages = [
<link xlink:href="https://github.com/gollum/gollum/wiki/5.0-release-notes#migrating-your-wiki">here</link>. <link xlink:href="https://github.com/gollum/gollum/wiki/5.0-release-notes#migrating-your-wiki">here</link>.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
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 <literal>service.deluge.package = pkgs.deluge-2_x</literal>
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.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
@ -246,7 +255,6 @@ environment.systemPackages = [
# sudo /run/current-system/fine-tune/child-1/bin/switch-to-configuration test # sudo /run/current-system/fine-tune/child-1/bin/switch-to-configuration test
</programlisting> </programlisting>
</para> </para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View file

@ -5,6 +5,7 @@ with lib;
let let
cfg = config.services.deluge; cfg = config.services.deluge;
cfg_web = config.services.deluge.web; cfg_web = config.services.deluge.web;
isDeluge1 = versionOlder cfg.package.version "2.0.0";
openFilesLimit = 4096; openFilesLimit = 4096;
listenPortsDefault = [ 6881 6889 ]; listenPortsDefault = [ 6881 6889 ];
@ -18,11 +19,11 @@ let
preStart = if cfg.declarative then '' preStart = if cfg.declarative then ''
if [ -e ${declarativeLockFile} ]; then if [ -e ${declarativeLockFile} ]; then
# Was declarative before, no need to back up anything # 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 ln -sf ${cfg.authFile} ${configDir}/auth
else else
# Declarative for the first time, backup stateful files # 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 ln -sb --suffix=.stateful ${cfg.authFile} ${configDir}/auth
echo "Autogenerated file that signifies that this server configuration is managed declaratively by NixOS" \ echo "Autogenerated file that signifies that this server configuration is managed declaratively by NixOS" \
> ${declarativeLockFile} > ${declarativeLockFile}
@ -144,6 +145,14 @@ in {
This always contains unzip, gnutar, xz, p7zip and bzip2. 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 = { deluge.web = {
@ -170,6 +179,13 @@ in {
config = mkIf cfg.enable { 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`. # Provide a default set of `extraPackages`.
services.deluge.extraPackages = with pkgs; [ unzip gnutar xz p7zip bzip2 ]; services.deluge.extraPackages = with pkgs; [ unzip gnutar xz p7zip bzip2 ];
@ -189,10 +205,10 @@ in {
after = [ "network.target" ]; after = [ "network.target" ];
description = "Deluge BitTorrent Daemon"; description = "Deluge BitTorrent Daemon";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.deluge ] ++ cfg.extraPackages; path = [ cfg.package ] ++ cfg.extraPackages;
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''
${pkgs.deluge}/bin/deluged \ ${cfg.package}/bin/deluged \
--do-not-daemonize \ --do-not-daemonize \
--config ${configDir} --config ${configDir}
''; '';
@ -212,10 +228,11 @@ in {
requires = [ "deluged.service" ]; requires = [ "deluged.service" ];
description = "Deluge BitTorrent WebUI"; description = "Deluge BitTorrent WebUI";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.deluge ]; path = [ cfg.package ];
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''
${pkgs.deluge}/bin/deluge-web \ ${cfg.package}/bin/deluge-web \
${optionalString (!isDeluge1) "--do-not-daemonize"} \
--config ${configDir} \ --config ${configDir} \
--port ${toString cfg.web.port} --port ${toString cfg.web.port}
''; '';
@ -234,7 +251,7 @@ in {
}) })
]; ];
environment.systemPackages = [ pkgs.deluge ]; environment.systemPackages = [ cfg.package ];
users.users = mkIf (cfg.user == "deluge") { users.users = mkIf (cfg.user == "deluge") {
deluge = { deluge = {

View file

@ -5,9 +5,10 @@ import ./make-test-python.nix ({ pkgs, ...} : {
}; };
nodes = { nodes = {
simple = { simple1 = {
services.deluge = { services.deluge = {
enable = true; enable = true;
package = pkgs.deluge-1_x;
web = { web = {
enable = true; enable = true;
openFirewall = 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
'';
};
};
{ simple2 = {
services.deluge = { services.deluge = {
enable = true;
package = pkgs.deluge-2_x;
web = {
enable = true; enable = true;
openFirewall = 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 = '' testScript = ''
start_all() start_all()
simple.wait_for_unit("deluged") simple1.wait_for_unit("deluged")
simple.wait_for_unit("delugeweb") simple2.wait_for_unit("deluged")
simple.wait_for_open_port("8112") simple1.wait_for_unit("delugeweb")
declarative.wait_for_unit("network.target") simple2.wait_for_unit("delugeweb")
declarative.wait_until_succeeds("curl --fail http://simple:8112") 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") declarative1.wait_for_unit("deluged")
declarative.wait_for_unit("delugeweb") declarative2.wait_for_unit("deluged")
declarative.wait_until_succeeds("curl --fail http://declarative:3142") declarative1.wait_for_unit("delugeweb")
declarative.succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'") declarative2.wait_for_unit("delugeweb")
declarative.succeed( declarative1.wait_until_succeeds("curl --fail http://declarative1:3142")
"deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'" 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'"
) )
''; '';
}) })

View file

@ -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;
};
}

View file

@ -4,14 +4,14 @@
, srht, redis, celery, pyyaml, markdown }: , srht, redis, celery, pyyaml, markdown }:
let let
version = "0.52.5"; version = "0.56.13";
buildWorker = src: buildGoModule { buildWorker = src: buildGoModule {
inherit src version; inherit src version;
pname = "builds-sr-ht-worker"; pname = "builds-sr-ht-worker";
goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker"; goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker";
modSha256 = "1dwp87zsbh4a48q0pacssy329kchrd4sa47c5a1k8smbqn078424"; modSha256 = "10is7siscids9qz6jh9m1i17749dafqqkg4b3sslmxaxyn16yj97";
}; };
in buildPythonPackage rec { in buildPythonPackage rec {
inherit version; inherit version;
@ -20,7 +20,7 @@ in buildPythonPackage rec {
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/builds.sr.ht"; url = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
rev = version; rev = version;
sha256 = "142aycnary6yfi0y1i3zgpyndi0756fingavcz2dnqi36pkajaaj"; sha256 = "uFoS9xaVXsZZf4neZQcUyTqKo2RshOQeifD27kaKSVE=";
}; };
patches = [ patches = [

View file

@ -1,18 +1,18 @@
{ stdenv, fetchgit, fetchNodeModules, buildPythonPackage { stdenv, fetchgit, fetchNodeModules, buildPythonPackage
, pgpy, flask, bleach, misaka, humanize, markdown, psycopg2, pygments, requests , pgpy, flask, bleach, misaka, humanize, html5lib, markdown, psycopg2, pygments
, sqlalchemy, cryptography, beautifulsoup4, sqlalchemy-utils, celery, alembic , requests, sqlalchemy, cryptography, beautifulsoup4, sqlalchemy-utils, prometheus_client
, importlib-metadata , celery, alembic, importlib-metadata
, sassc, nodejs , sassc, nodejs
, writeText }: , writeText }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "srht"; pname = "srht";
version = "0.57.2"; version = "0.59.13";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/core.sr.ht"; url = "https://git.sr.ht/~sircmpwn/core.sr.ht";
rev = version; rev = version;
sha256 = "11rfpb0wf1xzrhcnpahaghmi5626snzph0vsbxlmmqx75wf0p6mf"; sha256 = "5jc6MtG/cBry05Sq51UAFzSBvKKkdNTA67UIDvJt9uU=";
}; };
node_modules = fetchNodeModules { node_modules = fetchNodeModules {
@ -36,6 +36,7 @@ buildPythonPackage rec {
bleach bleach
misaka misaka
humanize humanize
html5lib
markdown markdown
psycopg2 psycopg2
pygments pygments
@ -44,6 +45,7 @@ buildPythonPackage rec {
cryptography cryptography
beautifulsoup4 beautifulsoup4
sqlalchemy-utils sqlalchemy-utils
prometheus_client
# Unofficial runtime dependencies? # Unofficial runtime dependencies?
celery celery

View file

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "dispatchsrht"; pname = "dispatchsrht";
version = "0.13.3"; version = "0.14.1";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht"; url = "https://git.sr.ht/~sircmpwn/dispatch.sr.ht";
rev = version; rev = version;
sha256 = "08asayfwpzafscpli5grx1p0y1ryz7pqkznf5bd9j8ir2iyhbc10"; sha256 = "eJ+oHs9m74Q8V6fUBLOA1ksUiwdaR1/Bxlf3jcexdkA=";
}; };
patches = [ patches = [

View file

@ -1,10 +1,10 @@
{ stdenv, fetchgit, buildPythonPackage { stdenv, fetchgit, buildPythonPackage
, python , python
, buildGoModule , buildGoModule
, srht, pygit2, scmsrht }: , srht, minio, pygit2, scmsrht }:
let let
version = "0.43.3"; version = "0.50.3";
buildShell = src: buildGoModule { buildShell = src: buildGoModule {
inherit src version; inherit src version;
@ -44,7 +44,7 @@ in buildPythonPackage rec {
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/git.sr.ht"; url = "https://git.sr.ht/~sircmpwn/git.sr.ht";
rev = version; rev = version;
sha256 = "1f9wfyri85bq4zi9xkbfcfb69q4abh0hz7p3lghj460hh9zxc57w"; sha256 = "dmcTee3hp6ZkwwunG4ouEVmCxQ1a9LfQ7oWpHxnKumc=";
}; };
patches = [ patches = [
@ -55,6 +55,7 @@ in buildPythonPackage rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
srht srht
minio
pygit2 pygit2
scmsrht scmsrht
]; ];

View file

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "hgsrht"; pname = "hgsrht";
version = "0.21.1"; version = "0.26.0";
src = fetchhg { src = fetchhg {
url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht"; url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
rev = version; rev = version;
sha256 = "19r8zcy4xf9imqifqw3b7ylxd46i025ncns69kn5xp11damilz66"; sha256 = "kX0KZSEzYQ/hxL2vKh+mpaRuG16qbBKN2Xwp+e9pTxs=";
}; };
patches = [ patches = [

View file

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "listssrht"; pname = "listssrht";
version = "0.40.3"; version = "0.41.8";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/lists.sr.ht"; url = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
rev = version; rev = version;
sha256 = "1s736i5wm04pqa5k7455bdjdi7vjgvq32q1v6mdsp1w7jhgy1ags"; sha256 = "Gmt6ttupyhZhpyH/IASEt8SZGrlQmEEtV5bE11yIiXQ=";
}; };
patches = [ patches = [

View file

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "mansrht"; pname = "mansrht";
version = "0.14.1"; version = "0.14.7";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/man.sr.ht"; url = "https://git.sr.ht/~sircmpwn/man.sr.ht";
rev = version; rev = version;
sha256 = "13yar0sa24jyiq0l4p4bgq6p5crj148f26sxwyi37g76jqba4rfi"; sha256 = "CKXWVXr2P1D6Nz9/S5rOkuOi9piy66RreQv2RQ0KSfs=";
}; };
patches = [ patches = [

View file

@ -1,16 +1,16 @@
{ stdenv, fetchgit, buildPythonPackage { stdenv, fetchgit, buildPythonPackage
, python , python
, pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache , pgpy, srht, redis, bcrypt, qrcode, stripe, zxcvbn, alembic, pystache
, sshpubkeys, weasyprint, prometheus_client }: , sshpubkeys, weasyprint }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "metasrht"; pname = "metasrht";
version = "0.41.10"; version = "0.42.13";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/meta.sr.ht"; url = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
rev = version; rev = version;
sha256 = "1srzrajgwq85kjryxykj708m2c98r6a84x4k4a5grwznqw3mwm6p"; sha256 = "p7WgnfOsX09YxJJclHwdIky/jYkTOxibbYmXwcmE2S4=";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;
@ -27,7 +27,6 @@ buildPythonPackage rec {
pystache pystache
sshpubkeys sshpubkeys
weasyprint weasyprint
prometheus_client
]; ];
patches = [ patches = [

View file

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pastesrht"; pname = "pastesrht";
version = "0.9.2"; version = "0.10.3";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/paste.sr.ht"; url = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
rev = version; rev = version;
sha256 = "0hiv607a7446dba524kblmpswlcz0z4i1jr49ng7g90nhpsk8dy4"; sha256 = "i1M4L5NG152zkIEFj2vDHa9lr5aE1ioToDVPpkIqemk=";
}; };
patches = [ patches = [

View file

@ -4,12 +4,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "scmsrht"; pname = "scmsrht";
version = "0.18.1"; version = "0.19.11";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/scm.sr.ht"; url = "https://git.sr.ht/~sircmpwn/scm.sr.ht";
rev = version; rev = version;
sha256 = "1f0h8vbbqx34v1rgzqjkgbf0z7jhnp8hdlzmrxwhs74kj6zjb134"; sha256 = "a0JIZcO/3op409t+jq4/fImuppuGqfGxBPgBh67DGHM=";
}; };
nativeBuildInputs = srht.nativeBuildInputs; nativeBuildInputs = srht.nativeBuildInputs;

View file

@ -5,12 +5,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "todosrht"; pname = "todosrht";
version = "0.55.3"; version = "0.57.14";
src = fetchgit { src = fetchgit {
url = "https://git.sr.ht/~sircmpwn/todo.sr.ht"; url = "https://git.sr.ht/~sircmpwn/todo.sr.ht";
rev = version; rev = version;
sha256 = "1j82yxdnag0q6rp0rpiq3ccn5maa1k58j2f1ilcsxf1gr13pycf5"; sha256 = "nlTf7KV6vjqqVEXZ6OOZ5dAj1iHTDPYj4DnAD2hGp5c=";
}; };
patches = [ patches = [

View file

@ -59,7 +59,7 @@ stdenv.mkDerivation {
unpackPhase = "src=$PWD"; unpackPhase = "src=$PWD";
installPhase = ('' 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}" libblas="${lib.getLib blasProvider}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"

View file

@ -1,9 +1,9 @@
{ stdenv, lib, fetchFromGitHub, pkgconfig, automake, autoconf { stdenv, lib, fetchFromGitHub, pkgconfig, automake, autoconf
, zlib, boost, openssl, libtool, python, libiconv, geoip, ncurses , zlib, boost, openssl, libtool, python, libiconv, ncurses
}: }:
let let
version = "1.2.5"; version = "1.1.11";
formattedVersion = lib.replaceChars ["."] ["_"] version; formattedVersion = lib.replaceChars ["."] ["_"] version;
# Make sure we override python, so the correct version is chosen # Make sure we override python, so the correct version is chosen
@ -17,14 +17,13 @@ in stdenv.mkDerivation {
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "arvidn"; owner = "arvidn";
repo = "libtorrent"; repo = "libtorrent";
rev = "libtorrent-${formattedVersion}"; rev = "libtorrent_${formattedVersion}";
sha256 = "0nwdsv6d2gkdsh7l5a46g6cqx27xwh3msify5paf02l1qzjy4s5l"; sha256 = "0nwdsv6d2gkdsh7l5a46g6cqx27xwh3msify5paf02l1qzjy4s5l";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
nativeBuildInputs = [ automake autoconf libtool pkgconfig ]; nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
buildInputs = [ boostPython openssl zlib python libiconv geoip ncurses ]; buildInputs = [ boostPython openssl zlib python libiconv ncurses ];
preConfigure = "./autotool.sh"; preConfigure = "./autotool.sh";
postInstall = '' postInstall = ''
@ -36,11 +35,9 @@ in stdenv.mkDerivation {
configureFlags = [ configureFlags = [
"--enable-python-binding" "--enable-python-binding"
"--with-libgeoip=system"
"--with-libiconv=yes" "--with-libiconv=yes"
"--with-boost=${boostPython.dev}" "--with-boost=${boostPython.dev}"
"--with-boost-libdir=${boostPython.out}/lib" "--with-boost-libdir=${boostPython.out}/lib"
"--with-libiconv=yes"
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View file

@ -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;
};
}

View file

@ -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;
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "yq-go"; pname = "yq-go";
version = "3.2.1"; version = "3.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mikefarah"; owner = "mikefarah";
rev = version; rev = version;
repo = "yq"; repo = "yq";
sha256 = "1n20m1zizbkgzag4676fvf16h6f8vll6pniblj7haqdwvnza8zwd"; sha256 = "1jll5nmskvs61031h3sizhv3scv8znrr9apyc4qlxcp4jiv7xpmp";
}; };
modSha256 = "0hbazc6hf3zrni25lpbyi36sbxyabbrpi591gkqwxgr9hdbdpcg9"; modSha256 = "1m7sha6kwis1a00il1iigb9lxxh5m2myj9ps20s816m0b9bhd43v";
meta = with lib; { meta = with lib; {
description = "Portable command-line YAML processor"; description = "Portable command-line YAML processor";

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, unzip, lib, makeWrapper, autoPatchelfHook { stdenv, fetchzip, lib, makeWrapper, autoPatchelfHook
, openjdk11, pam, makeDesktopItem, icoutils , openjdk11, pam, makeDesktopItem, icoutils
}: let }: let
@ -16,23 +16,22 @@
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "ghidra-9.1"; name = "ghidra-9.1.2";
src = fetchurl { src = fetchzip {
url = "https://ghidra-sre.org/ghidra_9.1_PUBLIC_20191023.zip"; url = "https://ghidra-sre.org/ghidra_9.1.2_PUBLIC_20200212.zip";
sha256 = "0pl7s59008gvgwz4mxp7rz3xr3vaa12a6s5zvx2yr9jxx3gk1l99"; sha256 = "0j48pijypg44bw06azbrgfqjkigb13ljfdxib70sxwyqia3vkbbm";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
makeWrapper makeWrapper
autoPatchelfHook autoPatchelfHook
unzip icoutils
]; ];
buildInputs = [ buildInputs = [
stdenv.cc.cc.lib stdenv.cc.cc.lib
pam pam
icoutils
]; ];
dontStrip = true; dontStrip = true;
@ -42,7 +41,7 @@ in stdenv.mkDerivation {
mkdir -p "${pkg_path}" "$out/share/applications" mkdir -p "${pkg_path}" "$out/share/applications"
cp -a * "${pkg_path}" cp -a * "${pkg_path}"
ln -s ${desktopItem}/share/applications/* $out/share/applications ln -s ${desktopItem}/share/applications/* $out/share/applications
icotool -x "${pkg_path}/support/ghidra.ico" icotool -x "${pkg_path}/support/ghidra.ico"
rm ghidra_4_40x40x32.png rm ghidra_4_40x40x32.png
for f in ghidra_*.png; do for f in ghidra_*.png; do

View file

@ -2839,9 +2839,15 @@ in
ddrutility = callPackage ../tools/system/ddrutility { }; ddrutility = callPackage ../tools/system/ddrutility { };
deluge = callPackage ../applications/networking/p2p/deluge { deluge-2_x = callPackage ../applications/networking/p2p/deluge/2 {
pythonPackages = python2Packages; 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 { }; desktop-file-utils = callPackage ../tools/misc/desktop-file-utils { };
@ -13242,7 +13248,11 @@ in
libtomcrypt = callPackage ../development/libraries/libtomcrypt { }; 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 # this is still the new version of the old API
libtoxcore-new = callPackage ../development/libraries/libtoxcore/new-api.nix { }; libtoxcore-new = callPackage ../development/libraries/libtoxcore/new-api.nix { };
@ -21132,6 +21142,8 @@ in
packet = callPackage ../development/tools/packet { }; packet = callPackage ../development/tools/packet { };
packet-cli = callPackage ../development/tools/packet-cli { };
pb_cli = callPackage ../tools/misc/pb_cli {}; pb_cli = callPackage ../tools/misc/pb_cli {};
capture = callPackage ../tools/misc/capture {}; capture = callPackage ../tools/misc/capture {};