uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
72
pkgs/applications/networking/p2p/deluge/default.nix
Normal file
72
pkgs/applications/networking/p2p/deluge/default.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{ lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, intltool
|
||||
, libtorrent-rasterbar
|
||||
, pythonPackages
|
||||
, gtk3
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, librsvg
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
pythonPackages.buildPythonPackage rec {
|
||||
pname = "deluge";
|
||||
version = "2.0.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.deluge-torrent.org/source/2.0/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-xL0Eq/0hG2Uhi+A/PEbSb0QCSITeEOAYWfuFb91vJdg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
twisted
|
||||
Mako
|
||||
chardet
|
||||
pyxdg
|
||||
pyopenssl
|
||||
service-identity
|
||||
libtorrent-rasterbar.dev
|
||||
libtorrent-rasterbar.python
|
||||
setuptools
|
||||
setproctitle
|
||||
pillow
|
||||
rencode
|
||||
six
|
||||
zope_interface
|
||||
dbus-python
|
||||
pygobject3
|
||||
pycairo
|
||||
gtk3
|
||||
gobject-introspection
|
||||
librsvg
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ intltool wrapGAppsHook glib ];
|
||||
|
||||
checkInputs = with pythonPackages; [
|
||||
pytestCheckHook
|
||||
pytest-twisted
|
||||
pytest-cov
|
||||
mock
|
||||
mccabe
|
||||
pylint
|
||||
];
|
||||
|
||||
doCheck = false; # until pytest-twisted is packaged
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share
|
||||
cp -R deluge/ui/data/{icons,pixmaps} $out/share/
|
||||
install -Dm444 -t $out/share/applications deluge/ui/data/share/applications/deluge.desktop
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://deluge-torrent.org";
|
||||
description = "Torrent client";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ domenkozar ebzzry ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
24
pkgs/applications/networking/p2p/dht/default.nix
Normal file
24
pkgs/applications/networking/p2p/dht/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ stdenv, lib, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dht";
|
||||
version = "0.25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
# Use transmission fork from post-0.25-transmission branch
|
||||
owner = "transmission";
|
||||
repo = pname;
|
||||
rev = "25e12bb39eea3d433602de6390796fec8a8f3620";
|
||||
sha256 = "fksi8WBQPydgSlISaZMMnxzt4xN7/Hh7aN6QQ+g/L7s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "BitTorrent DHT library";
|
||||
homepage = "https://github.com/transmission/dht";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ emilytrau ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
52
pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
Normal file
52
pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, bzip2, libX11
|
||||
, mkDerivation, qtbase, qttools, qtmultimedia, qtscript
|
||||
, libiconv, pcre-cpp, libidn, lua5, miniupnpc, aspell, gettext, perl }:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "eiskaltdcpp";
|
||||
version = "2.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eiskaltdcpp";
|
||||
repo = "eiskaltdcpp";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-JmAopXFS6MkxW0wDQ1bC/ibRmWgOpzU0971hcqAehLU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ qtbase qttools qtmultimedia qtscript bzip2 libX11 pcre-cpp libidn lua5 miniupnpc aspell gettext
|
||||
(perl.withPackages (p: with p; [
|
||||
GetoptLong
|
||||
TermShellUI
|
||||
])) ]
|
||||
++ lib.optional stdenv.isDarwin libiconv;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DDBUS_NOTIFY=ON"
|
||||
"-DFREE_SPACE_BAR_C=ON"
|
||||
"-DLUA_SCRIPT=ON"
|
||||
"-DPERL_REGEX=ON"
|
||||
"-DUSE_ASPELL=ON"
|
||||
"-DUSE_CLI_JSONRPC=ON"
|
||||
"-DUSE_MINIUPNP=ON"
|
||||
"-DUSE_JS=ON"
|
||||
"-DWITH_LUASCRIPTS=ON"
|
||||
"-DWITH_SOUNDS=ON"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
ln -s $out/bin/$pname-qt $out/bin/$pname
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
substituteInPlace $out/bin/eiskaltdcpp-cli-jsonrpc \
|
||||
--replace "/usr/local" "$out"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A cross-platform program that uses the Direct Connect and ADC protocols";
|
||||
homepage = "https://github.com/eiskaltdcpp/eiskaltdcpp";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
91
pkgs/applications/networking/p2p/fragments/default.nix
Normal file
91
pkgs/applications/networking/p2p/fragments/default.nix
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, appstream-glib
|
||||
, dbus
|
||||
, desktop-file-utils
|
||||
, git
|
||||
, glib
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, meson
|
||||
, ninja
|
||||
, openssl
|
||||
, pkg-config
|
||||
, python3
|
||||
, rustPlatform
|
||||
, sqlite
|
||||
, transmission
|
||||
, wrapGAppsHook4
|
||||
}:
|
||||
|
||||
let
|
||||
patchedTransmission = transmission.overrideAttrs (oldAttrs: {
|
||||
patches = (oldAttrs.patches or []) ++ [
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/flathub/de.haeckerfelix.Fragments/2aee477c8e26a24570f8dbbdbd1c49e017ae32eb/transmission_pdeathsig.patch";
|
||||
sha256 = "sha256-/rCoA566tMmzqcIfffC082Y56TwEyyQJ0knxymtscbA=";
|
||||
})
|
||||
];
|
||||
});
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "fragments";
|
||||
version = "2.0.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "Fragments";
|
||||
rev = version;
|
||||
sha256 = "sha256-CMa1yka0kOxMhxSuazlJxTk4fzxuuwKYLBpEMwHbBUE=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux/meson/postinstall.py
|
||||
'';
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-/rFZcbpITYkpSCEZp9XH253u90RGmuVLEBGIRNBgI/o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
git
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
wrapGAppsHook4
|
||||
] ++ (with rustPlatform; [
|
||||
cargoSetupHook
|
||||
rust.cargo
|
||||
rust.rustc
|
||||
]);
|
||||
|
||||
buildInputs = [
|
||||
dbus
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
openssl
|
||||
sqlite
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PATH : "${lib.makeBinPath [ patchedTransmission ]}"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/World/Fragments";
|
||||
description = "Easy to use BitTorrent client for the GNOME desktop environment";
|
||||
maintainers = with maintainers; [ emilytrau ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
81
pkgs/applications/networking/p2p/freenet/default.nix
Normal file
81
pkgs/applications/networking/p2p/freenet/default.nix
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{ lib, stdenv, fetchurl, fetchFromGitHub, ant, jdk, bash, coreutils, substituteAll }:
|
||||
|
||||
let
|
||||
freenet_ext = fetchurl {
|
||||
url = "https://downloads.freenetproject.org/latest/freenet-ext.jar";
|
||||
sha256 = "17ypljdvazgx2z6hhswny1lxfrknysz3x6igx8vl3xgdpvbb7wij";
|
||||
};
|
||||
|
||||
bcprov_version = "jdk15on-154";
|
||||
bcprov = fetchurl {
|
||||
url = "https://www.bouncycastle.org/download/bcprov-ext-${bcprov_version}.jar";
|
||||
sha256 = "0abmhg2h44g8c5p7skzqwfxj8xwcjh9vs84mc0hr78k1am0633jk";
|
||||
};
|
||||
seednodes = fetchurl {
|
||||
url = "https://downloads.freenetproject.org/alpha/opennet/seednodes.fref";
|
||||
sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv";
|
||||
};
|
||||
version = "build01480";
|
||||
|
||||
freenet-jars = stdenv.mkDerivation {
|
||||
pname = "freenet-jars";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "freenet";
|
||||
repo = "fred";
|
||||
rev = version;
|
||||
sha256 = "0wddkfyhsgs7bcq9svicz6l0a35yv82yqzmji3c345hg4hbch3kb";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
cp ${freenet_ext} lib/freenet/freenet-ext.jar
|
||||
cp ${bcprov} lib/bcprov-${bcprov_version}.jar
|
||||
|
||||
sed '/antcall.*-ext/d' -i build.xml
|
||||
sed 's/@unknown@/${version}/g' -i build-clean.xml
|
||||
'';
|
||||
|
||||
buildInputs = [ ant jdk ];
|
||||
|
||||
buildPhase = "ant package-only";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/freenet
|
||||
cp lib/bcprov-${bcprov_version}.jar $out/share/freenet
|
||||
cp lib/freenet/freenet-ext.jar $out/share/freenet
|
||||
cp dist/freenet.jar $out/share/freenet
|
||||
'';
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
name = "freenet-${version}";
|
||||
inherit version;
|
||||
|
||||
src = substituteAll {
|
||||
src = ./freenetWrapper;
|
||||
inherit bash coreutils seednodes bcprov_version;
|
||||
freenet = freenet-jars;
|
||||
jre = jdk.jre;
|
||||
};
|
||||
|
||||
jars = freenet-jars;
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp $src $out/bin/freenet
|
||||
chmod +x $out/bin/freenet
|
||||
ln -s ${freenet-jars}/share $out/share
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Decentralised and censorship-resistant network";
|
||||
homepage = "https://freenetproject.org/";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ ];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
18
pkgs/applications/networking/p2p/freenet/freenetWrapper
Executable file
18
pkgs/applications/networking/p2p/freenet/freenetWrapper
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
#! @bash@/bin/bash
|
||||
|
||||
PATH=@coreutils@/bin:$PATH
|
||||
|
||||
export FREENET_HOME="$HOME/.local/share/freenet"
|
||||
if [ -n "$XDG_DATA_HOME" ]
|
||||
then export FREENET_HOME="$XDG_DATA_HOME/freenet"
|
||||
fi
|
||||
|
||||
if [ ! -d $FREENET_HOME ]; then
|
||||
mkdir -p $FREENET_HOME
|
||||
fi
|
||||
|
||||
cp -u @seednodes@ $FREENET_HOME/seednodes.fref
|
||||
chmod u+rw $FREENET_HOME/seednodes.fref
|
||||
|
||||
cd $FREENET_HOME
|
||||
@jre@/bin/java -cp @freenet@/share/freenet/bcprov-@bcprov_version@.jar:@freenet@/share/freenet/freenet-ext.jar:@freenet@/share/freenet/freenet.jar -Xmx1024M freenet.node.NodeStarter
|
||||
98
pkgs/applications/networking/p2p/frostwire/default.nix
Normal file
98
pkgs/applications/networking/p2p/frostwire/default.nix
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
{ lib, stdenv, fetchFromGitHub, gradle_6, perl, jre, makeWrapper, makeDesktopItem, mplayer }:
|
||||
|
||||
let
|
||||
version = "6.6.7-build-529";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "frostwire";
|
||||
repo = "frostwire";
|
||||
rev = "frostwire-desktop-${version}";
|
||||
sha256 = "03wdj2kr8akzx8m1scvg98132zbaxh81qjdsxn2645b3gahjwz0m";
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "frostwire";
|
||||
desktopName = "FrostWire";
|
||||
genericName = "P2P Bittorrent client";
|
||||
exec = "frostwire";
|
||||
icon = "frostwire";
|
||||
comment = "Search and explore all kinds of files on the Bittorrent network";
|
||||
categories = [ "Network" "FileTransfer" "P2P" ];
|
||||
};
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "frostwire-desktop-deps";
|
||||
inherit version src;
|
||||
buildInputs = [ gradle_6 perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
( cd desktop
|
||||
gradle --no-daemon build
|
||||
)
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-r6YSrbSJbM3063JrX4tCVKFrJxTaLN4Trc+33jzpwcE=";
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
pname = "frostwire-desktop";
|
||||
inherit version src;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ gradle_6 ];
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
( cd desktop
|
||||
|
||||
# disable auto-update (anyway it won't update frostwire installed in nix store)
|
||||
substituteInPlace src/com/frostwire/gui/updates/UpdateManager.java \
|
||||
--replace 'um.checkForUpdates' '// um.checkForUpdates'
|
||||
|
||||
# fix path to mplayer
|
||||
substituteInPlace src/com/frostwire/gui/player/MediaPlayerLinux.java \
|
||||
--replace /usr/bin/mplayer ${mplayer}/bin/mplayer
|
||||
|
||||
substituteInPlace build.gradle \
|
||||
--replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }'
|
||||
gradle --offline --no-daemon build
|
||||
)
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib $out/share/java
|
||||
|
||||
cp desktop/build/libs/frostwire.jar $out/share/java/frostwire.jar
|
||||
|
||||
cp ${ { x86_64-darwin = "desktop/lib/native/*.dylib";
|
||||
x86_64-linux = "desktop/lib/native/lib{jlibtorrent,SystemUtilities}.so";
|
||||
i686-linux = "desktop/lib/native/lib{jlibtorrent,SystemUtilities}X86.so";
|
||||
}.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")
|
||||
} $out/lib
|
||||
|
||||
cp -dpR ${desktopItem}/share $out
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/frostwire \
|
||||
--add-flags "-Djava.library.path=$out/lib -jar $out/share/java/frostwire.jar"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.frostwire.com/";
|
||||
description = "BitTorrent Client and Cloud File Downloader";
|
||||
sourceProvenance = with sourceTypes; [
|
||||
fromSource
|
||||
binaryBytecode # deps
|
||||
];
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ gavin ];
|
||||
platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" ];
|
||||
};
|
||||
}
|
||||
43
pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
Normal file
43
pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{ lib, stdenv, fetchurl, jre, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.9.7";
|
||||
pname = "frostwire";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.amd64.tar.gz";
|
||||
sha256 = "sha256-LsmDfNAj10x+txJ4PugyF3Irj/N1reb3ChTvFFIucdc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/java
|
||||
mv $(ls */*.jar) $out/share/java
|
||||
|
||||
makeWrapper $out/share/java/frostwire $out/bin/frostwire \
|
||||
--prefix PATH : ${jre}/bin \
|
||||
--prefix LD_LIBRARY_PATH : $out/share/java \
|
||||
--set JAVA_HOME "${jre}"
|
||||
|
||||
substituteInPlace $out/share/java/frostwire \
|
||||
--replace "export JAVA_PROGRAM_DIR=/usr/lib/frostwire/jre/bin" \
|
||||
"export JAVA_PROGRAM_DIR=${jre}/bin/"
|
||||
|
||||
substituteInPlace $out/share/java/frostwire.desktop \
|
||||
--replace "Exec=/usr/bin/frostwire %U" "Exec=${placeholder "out"}/bin/frostwire %U"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.frostwire.com/";
|
||||
description = "BitTorrent Client and Cloud File Downloader";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ gavin ];
|
||||
platforms = [ "x86_64-linux"];
|
||||
};
|
||||
}
|
||||
74
pkgs/applications/networking/p2p/gnunet/default.nix
Normal file
74
pkgs/applications/networking/p2p/gnunet/default.nix
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{ lib, stdenv, fetchurl, adns, curl, gettext, gmp, gnutls, libextractor
|
||||
, libgcrypt, libgnurl, libidn, libmicrohttpd, libtool, libunistring
|
||||
, makeWrapper, ncurses, pkg-config, libxml2, sqlite, zlib
|
||||
, libpulseaudio, libopus, libogg, jansson, libsodium
|
||||
|
||||
, postgresqlSupport ? false, postgresql }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnunet";
|
||||
version = "0.16.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-MjkFLxNTepqrqqZuxCh12+4vaDjF8Ys674VOa1Mew4o=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config libtool makeWrapper ];
|
||||
buildInputs = [
|
||||
adns curl gmp gnutls libextractor libgcrypt libgnurl libidn
|
||||
libmicrohttpd libunistring libxml2 ncurses gettext libsodium
|
||||
sqlite zlib libpulseaudio libopus libogg jansson
|
||||
] ++ lib.optional postgresqlSupport postgresql;
|
||||
|
||||
preConfigure = ''
|
||||
# Brute force: since nix-worker chroots don't provide
|
||||
# /etc/{resolv.conf,hosts}, replace all references to `localhost'
|
||||
# by their IPv4 equivalent.
|
||||
find . \( -name \*.c -or -name \*.conf \) | \
|
||||
xargs sed -ie 's|\<localhost\>|127.0.0.1|g'
|
||||
|
||||
# Make sure the tests don't rely on `/tmp', for the sake of chroot
|
||||
# builds.
|
||||
find . \( -iname \*test\*.c -or -name \*.conf \) | \
|
||||
xargs sed -ie "s|/tmp|$TMPDIR|g"
|
||||
|
||||
sed -ie 's|@LDFLAGS@|@LDFLAGS@ $(Z_LIBS)|g' \
|
||||
src/regex/Makefile.in \
|
||||
src/fs/Makefile.in
|
||||
'';
|
||||
|
||||
# unfortunately, there's still a few failures with impure tests
|
||||
doCheck = false;
|
||||
checkPhase = ''
|
||||
export GNUNET_PREFIX="$out"
|
||||
export PATH="$out/bin:$PATH"
|
||||
make -k check
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GNU's decentralized anonymous and censorship-resistant P2P framework";
|
||||
|
||||
longDescription = ''
|
||||
GNUnet is a framework for secure peer-to-peer networking that
|
||||
does not use any centralized or otherwise trusted services. A
|
||||
first service implemented on top of the networking layer
|
||||
allows anonymous censorship-resistant file-sharing. Anonymity
|
||||
is provided by making messages originating from a peer
|
||||
indistinguishable from messages that the peer is routing. All
|
||||
peers act as routers and use link-encrypted connections with
|
||||
stable bandwidth utilization to communicate with each other.
|
||||
GNUnet uses a simple, excess-based economic model to allocate
|
||||
resources. Peers in GNUnet monitor each others behavior with
|
||||
respect to resource usage; peers that contribute to the
|
||||
network are rewarded with better service.
|
||||
'';
|
||||
|
||||
homepage = "https://gnunet.org/";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ pstn vrthra ];
|
||||
platforms = platforms.gnu ++ platforms.linux;
|
||||
};
|
||||
}
|
||||
47
pkgs/applications/networking/p2p/gnunet/gtk.nix
Normal file
47
pkgs/applications/networking/p2p/gnunet/gtk.nix
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
{ stdenv, fetchurl
|
||||
, glade
|
||||
, gnunet
|
||||
, gnutls
|
||||
, gtk3
|
||||
, libextractor
|
||||
, libgcrypt
|
||||
, libsodium
|
||||
, libxml2
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnunet-gtk";
|
||||
version = "0.15.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-FLLlqpQ7Bf+oNRUvx7IniVxFusy/tPYxEP2T6VGF7h8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs= [
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glade
|
||||
gnunet
|
||||
gnutls
|
||||
gtk3
|
||||
libextractor
|
||||
libgcrypt
|
||||
libsodium
|
||||
libxml2
|
||||
];
|
||||
|
||||
configureFlags = [ "--with-gnunet=${gnunet}" ];
|
||||
|
||||
patchPhase = "patchShebangs pixmaps/icon-theme-installer";
|
||||
|
||||
meta = gnunet.meta // {
|
||||
description = "GNUnet GTK User Interface";
|
||||
homepage = "https://git.gnunet.org/gnunet-gtk.git";
|
||||
};
|
||||
}
|
||||
65
pkgs/applications/networking/p2p/jesec-rtorrent/default.nix
Normal file
65
pkgs/applications/networking/p2p/jesec-rtorrent/default.nix
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, curl
|
||||
, gtest
|
||||
, libtorrent
|
||||
, ncurses
|
||||
, jsonRpcSupport ? true, nlohmann_json
|
||||
, xmlRpcSupport ? true, xmlrpc_c
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jesec-rtorrent";
|
||||
version = "0.9.8-r16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jesec";
|
||||
repo = "rtorrent";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-i7c1jSawHshj1kaXl8tdpelIKU24okeg9K5/+ht6t2k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
libtorrent
|
||||
ncurses
|
||||
]
|
||||
++ lib.optional jsonRpcSupport nlohmann_json
|
||||
++ lib.optional xmlRpcSupport xmlrpc_c;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DUSE_RUNTIME_CA_DETECTION=NO"
|
||||
]
|
||||
++ lib.optional (!jsonRpcSupport) "-DUSE_JSONRPC=NO"
|
||||
++ lib.optional (!xmlRpcSupport) "-DUSE_XMLRPC=NO";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkInputs = [
|
||||
gtest
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace src/main.cc \
|
||||
--replace "/etc/rtorrent/rtorrent.rc" "${placeholder "out"}/etc/rtorrent/rtorrent.rc"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
mkdir -p $out/etc/rtorrent
|
||||
cp $src/doc/rtorrent.rc $out/etc/rtorrent/rtorrent.rc
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An ncurses client for libtorrent, ideal for use with screen, tmux, or dtach (jesec's fork)";
|
||||
homepage = "https://github.com/jesec/rtorrent";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ winter AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, gtest
|
||||
, openssl
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jesec-libtorrent";
|
||||
version = "0.13.8-r4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jesec";
|
||||
repo = "libtorrent";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-jC/hgGSi2qy+ToZgdxl1PhASLYbUL0O8trX0th2v5H0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
zlib
|
||||
];
|
||||
|
||||
# Disabled because a test is flaky; see https://github.com/jesec/libtorrent/issues/4.
|
||||
# doCheck = true;
|
||||
|
||||
preCheck = ''
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD
|
||||
'';
|
||||
|
||||
checkInputs = [
|
||||
gtest
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/jesec/libtorrent";
|
||||
description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code (jesec's fork)";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ winter AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
24
pkgs/applications/networking/p2p/libutp/default.nix
Normal file
24
pkgs/applications/networking/p2p/libutp/default.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ stdenv, lib, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libutp";
|
||||
version = "unstable-2017-01-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
# Use transmission fork from post-3.3-transmission branch
|
||||
owner = "transmission";
|
||||
repo = pname;
|
||||
rev = "fda9f4b3db97ccb243fcbed2ce280eb4135d705b";
|
||||
sha256 = "CvuZLOBksIl/lS6LaqOIuzNvX3ihlIPjI3Eqwo7YJH0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "uTorrent Transport Protocol library";
|
||||
homepage = "https://github.com/transmission/libutp";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ emilytrau ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
32
pkgs/applications/networking/p2p/magnetico/default.nix
Normal file
32
pkgs/applications/networking/p2p/magnetico/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, fetchFromGitHub, buildGoModule, go-bindata }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "magnetico";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "boramalper";
|
||||
repo = "magnetico";
|
||||
rev = "v${version}";
|
||||
sha256 = "1avqnfn4llmc9xmpsjfc9ivki0cfvd8sljfzd9yac94xcj581s83";
|
||||
};
|
||||
|
||||
vendorSha256 = "087kikj6sjhjxqymnj7bpxawfmwckihi6mbmi39w0bn2040aflx5";
|
||||
|
||||
nativeBuildInputs = [ go-bindata ];
|
||||
buildPhase = ''
|
||||
make magneticow magneticod
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
make test
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Autonomous (self-hosted) BitTorrent DHT search engine suite";
|
||||
homepage = "https://github.com/boramalper/magnetico";
|
||||
license = licenses.agpl3;
|
||||
badPlatforms = platforms.darwin;
|
||||
maintainers = with maintainers; [ rnhmjoj ];
|
||||
};
|
||||
}
|
||||
40
pkgs/applications/networking/p2p/mldonkey/default.nix
Normal file
40
pkgs/applications/networking/p2p/mldonkey/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, ocamlPackages, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mldonkey";
|
||||
version = "3.1.7-2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ygrek.org/p/release/mldonkey/mldonkey-${version}.tar.bz2";
|
||||
sha256 = "b926e7aa3de4b4525af73c88f1724d576b4add56ef070f025941dd51cb24a794";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fixes C++17 compat
|
||||
(fetchpatch {
|
||||
url = "https://github.com/ygrek/mldonkey/pull/66/commits/20ff84c185396f3d759cf4ef46b9f0bd33a51060.patch";
|
||||
hash = "sha256-MCqx0jVfOaLkZhhv0b1cTdO6BK2/f6TxTWmx+NZjXME=";
|
||||
})
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace Makefile --replace '+camlp4' \
|
||||
'${ocamlPackages.camlp4}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/camlp4'
|
||||
'';
|
||||
|
||||
buildInputs = (with ocamlPackages; [
|
||||
ocaml
|
||||
camlp4
|
||||
num
|
||||
]) ++ [
|
||||
zlib
|
||||
];
|
||||
|
||||
meta = {
|
||||
broken = stdenv.isDarwin;
|
||||
description = "Client for many p2p networks, with multiple frontends";
|
||||
homepage = "http://mldonkey.sourceforge.net/";
|
||||
license = lib.licenses.gpl2Only;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
25
pkgs/applications/networking/p2p/ncdc/default.nix
Normal file
25
pkgs/applications/networking/p2p/ncdc/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch, ncurses, zlib, bzip2, sqlite, pkg-config
|
||||
, glib, gnutls, perl, libmaxminddb }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ncdc";
|
||||
version = "1.23";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dev.yorhel.nl/download/ncdc-${version}.tar.gz";
|
||||
hash = "sha256-gEq65B/MqWnof2UEg65+OiN0Gdq70yCJfiX+iFHwoss=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl pkg-config ];
|
||||
buildInputs = [ ncurses zlib bzip2 sqlite glib gnutls libmaxminddb ];
|
||||
|
||||
configureFlags = [ "--with-geoip" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Modern and lightweight direct connect client with a friendly ncurses interface";
|
||||
homepage = "https://dev.yorhel.nl/ncdc";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux; # arbitrary
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
};
|
||||
}
|
||||
38
pkgs/applications/networking/p2p/opentracker/default.nix
Normal file
38
pkgs/applications/networking/p2p/opentracker/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, stdenv, fetchgit, libowfat, zlib, nixosTests }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "opentracker";
|
||||
version = "unstable-2018-05-26";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://erdgeist.org/gitweb/opentracker";
|
||||
rev = "6411f1567f64248b0d145493c2e61004d2822623";
|
||||
sha256 = "110nfb6n4clykwdzpk54iccsfjawq0krjfqhg114i1z0ri5dyl8j";
|
||||
};
|
||||
|
||||
buildInputs = [ libowfat zlib ];
|
||||
|
||||
makeFlags = [
|
||||
"LIBOWFAT_HEADERS=${libowfat}/include/libowfat"
|
||||
"LIBOWFAT_LIBRARY=${libowfat}/lib"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -D opentracker $out/bin/opentracker
|
||||
install -D opentracker.conf.sample $out/share/doc/opentracker.conf.sample
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
bittorrent-integration = nixosTests.bittorrent;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://erdgeist.org/arts/software/opentracker/";
|
||||
license = licenses.beerware;
|
||||
platforms = platforms.linux;
|
||||
description = "Bittorrent tracker project which aims for minimal resource usage and is intended to run at your wlan router";
|
||||
maintainers = with maintainers; [ makefu ];
|
||||
};
|
||||
}
|
||||
53
pkgs/applications/networking/p2p/qbittorrent/default.nix
Normal file
53
pkgs/applications/networking/p2p/qbittorrent/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ mkDerivation, lib, fetchFromGitHub, pkg-config
|
||||
, boost, libtorrent-rasterbar, qtbase, qttools, qtsvg
|
||||
, debugSupport ? false
|
||||
, guiSupport ? true, dbus ? null # GUI (disable to run headless)
|
||||
, webuiSupport ? true # WebUI
|
||||
, trackerSearch ? true, python3 ? null
|
||||
}:
|
||||
|
||||
assert guiSupport -> (dbus != null);
|
||||
assert trackerSearch -> (python3 != null);
|
||||
|
||||
with lib;
|
||||
mkDerivation rec {
|
||||
pname = "qbittorrent";
|
||||
version = "4.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qbittorrent";
|
||||
repo = "qBittorrent";
|
||||
rev = "release-${version}";
|
||||
sha256 = "sha256-Gcjs7Yueuw76/4is4ZyvlVr6xZ8D+So1+PjZGg6Curk=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# NOTE: 2018-05-31: CMake is working but it is not officially supported
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ boost libtorrent-rasterbar qtbase qttools qtsvg ]
|
||||
++ optional guiSupport dbus # D(esktop)-Bus depends on GUI support
|
||||
++ optional trackerSearch python3;
|
||||
|
||||
# Otherwise qm_gen.pri assumes lrelease-qt5, which does not exist.
|
||||
QMAKE_LRELEASE = "lrelease";
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-libdir=${boost.out}/lib"
|
||||
"--with-boost=${boost.dev}" ]
|
||||
++ optionals (!guiSupport) [ "--disable-gui" "--enable-systemd" ] # Also place qbittorrent-nox systemd service files
|
||||
++ optional (!webuiSupport) "--disable-webui"
|
||||
++ optional debugSupport "--enable-debug";
|
||||
|
||||
qtWrapperArgs = optional trackerSearch "--prefix PATH : ${makeBinPath [ python3 ]}";
|
||||
|
||||
meta = {
|
||||
description = "Featureful free software BitTorrent client";
|
||||
homepage = "https://www.qbittorrent.org/";
|
||||
changelog = "https://github.com/qbittorrent/qBittorrent/blob/release-${version}/Changelog";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ Anton-Latukha ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, autoconf-archive
|
||||
, cppunit
|
||||
, curl
|
||||
, libsigcxx
|
||||
, libtool
|
||||
, libtorrent
|
||||
, ncurses
|
||||
, openssl
|
||||
, pkg-config
|
||||
, xmlrpc_c
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rakshasa-rtorrent";
|
||||
version = "0.9.8+date=2021-08-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rakshasa";
|
||||
repo = "rtorrent";
|
||||
rev = "a6bc99bb821d86b3b0633552db3fbd0a22497657";
|
||||
hash = "sha256-HTwAs8dfZVXfLRNiT6QpjKGnuahHfoMfYWqdKkedUL0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf-archive
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cppunit
|
||||
curl
|
||||
libsigcxx
|
||||
libtool
|
||||
libtorrent
|
||||
ncurses
|
||||
openssl
|
||||
xmlrpc_c
|
||||
zlib
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-xmlrpc-c"
|
||||
"--with-posix-fallocate"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/man/man1 $out/share/doc/rtorrent
|
||||
mv doc/old/rtorrent.1 $out/share/man/man1/rtorrent.1
|
||||
mv doc/rtorrent.rc $out/share/doc/rtorrent/rtorrent.rc
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://rakshasa.github.io/rtorrent/";
|
||||
description = "An ncurses client for libtorrent, ideal for use with screen, tmux, or dtach";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ebzzry codyopel ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
# Note: this is rakshasa's version of libtorrent, used mainly by rtorrent.
|
||||
# *Do not* mistake it by libtorrent-rasterbar, used by Deluge, qbitttorent etc.
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoconf-archive
|
||||
, autoreconfHook
|
||||
, cppunit
|
||||
, libsigcxx
|
||||
, openssl
|
||||
, pkg-config
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rakshasa-libtorrent";
|
||||
version = "0.13.8+date=2021-08-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rakshasa";
|
||||
repo = "libtorrent";
|
||||
rev = "53596afc5fae275b3fb5753a4bb2a1a7f7cf6a51";
|
||||
hash = "sha256-gyl/jfbptHz/gHkkVGWShhv1Z7o9fa9nJIz27U2A6wg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf-archive
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cppunit
|
||||
libsigcxx
|
||||
openssl
|
||||
zlib
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/rakshasa/libtorrent";
|
||||
description = "A BitTorrent library written in C++ for *nix, with focus on high performance and good code";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ebzzry codyopel ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
53
pkgs/applications/networking/p2p/retroshare/default.nix
Normal file
53
pkgs/applications/networking/p2p/retroshare/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ lib, mkDerivation, fetchFromGitHub, qmake, cmake, pkg-config, miniupnpc, bzip2
|
||||
, speex, libmicrohttpd, libxml2, libxslt, sqlcipher, rapidjson, libXScrnSaver
|
||||
, qtbase, qtx11extras, qtmultimedia, libgnome-keyring3
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "retroshare";
|
||||
version = "0.6.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "RetroShare";
|
||||
repo = "RetroShare";
|
||||
rev = "v${version}";
|
||||
sha256 = "1hsymbhsfgycj39mdkrdp2hgq8irmvxa4a6jx2gg339m1fgf2xmh";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# The build normally tries to get git sub-modules during build
|
||||
# but we already have them checked out
|
||||
./no-submodules.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config qmake cmake ];
|
||||
buildInputs = [
|
||||
speex miniupnpc qtmultimedia qtx11extras qtbase libgnome-keyring3
|
||||
bzip2 libXScrnSaver libxml2 libxslt sqlcipher libmicrohttpd rapidjson
|
||||
];
|
||||
|
||||
qmakeFlags = [
|
||||
# Upnp library autodetection doesn't work
|
||||
"RS_UPNP_LIB=miniupnpc"
|
||||
|
||||
# These values are normally found from the .git folder
|
||||
"RS_MAJOR_VERSION=${lib.versions.major version}"
|
||||
"RS_MINOR_VERSION=${lib.versions.minor version}"
|
||||
"RS_MINI_VERSION=${lib.versions.patch version}"
|
||||
"RS_EXTRA_VERSION="
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# BT DHT bootstrap
|
||||
cp libbitdht/src/bitdht/bdboot.txt $out/share/retroshare
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Decentralized peer to peer chat application.";
|
||||
homepage = "https://retroshare.cc/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ StijnDW ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
diff --git a/libretroshare/src/libretroshare.pro b/libretroshare/src/libretroshare.pro
|
||||
index 84d18944e..71aeb67d2 100644
|
||||
--- a/libretroshare/src/libretroshare.pro
|
||||
+++ b/libretroshare/src/libretroshare.pro
|
||||
@@ -870,20 +870,14 @@ rs_jsonapi {
|
||||
genrestbedlib.variable_out = PRE_TARGETDEPS
|
||||
win32-g++:isEmpty(QMAKE_SH) {
|
||||
genrestbedlib.commands = \
|
||||
- cd /D $$shell_path($${RS_SRC_PATH}) && git submodule update --init supportlibs/restbed || cd . $$escape_expand(\\n\\t) \
|
||||
- cd /D $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/asio || cd . $$escape_expand(\\n\\t) \
|
||||
- cd /D $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/catch || cd . $$escape_expand(\\n\\t )\
|
||||
- cd /D $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/kashmir || cd . $$escape_expand(\\n\\t) \
|
||||
+ cd /D $$shell_path($${RS_SRC_PATH}) && cd . $$escape_expand(\\n\\t) \
|
||||
+ cd /D $$shell_path($${RESTBED_SRC_PATH}) && cd . $$escape_expand(\\n\\t) \
|
||||
+ cd /D $$shell_path($${RESTBED_SRC_PATH}) && cd . $$escape_expand(\\n\\t )\
|
||||
+ cd /D $$shell_path($${RESTBED_SRC_PATH}) && cd . $$escape_expand(\\n\\t) \
|
||||
$(CHK_DIR_EXISTS) $$shell_path($$UDP_DISCOVERY_BUILD_PATH) $(MKDIR) $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) $$escape_expand(\\n\\t)
|
||||
} else {
|
||||
genrestbedlib.commands = \
|
||||
- cd $${RS_SRC_PATH} && ( \
|
||||
- git submodule update --init supportlibs/restbed ; \
|
||||
- cd $${RESTBED_SRC_PATH} ; \
|
||||
- git submodule update --init dependency/asio ; \
|
||||
- git submodule update --init dependency/catch ; \
|
||||
- git submodule update --init dependency/kashmir ; \
|
||||
- true ) && \
|
||||
+ cd $${RS_SRC_PATH} && \
|
||||
mkdir -p $${RESTBED_BUILD_PATH} &&
|
||||
}
|
||||
genrestbedlib.commands += \
|
||||
@@ -991,14 +985,9 @@ rs_broadcast_discovery {
|
||||
udpdiscoverycpplib.variable_out = PRE_TARGETDEPS
|
||||
win32-g++:isEmpty(QMAKE_SH) {
|
||||
udpdiscoverycpplib.commands = \
|
||||
- cd /D $$shell_path($${RS_SRC_PATH}) && git submodule update --init supportlibs/udp-discovery-cpp || cd . $$escape_expand(\\n\\t) \
|
||||
$(CHK_DIR_EXISTS) $$shell_path($$UDP_DISCOVERY_BUILD_PATH) $(MKDIR) $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) $$escape_expand(\\n\\t)
|
||||
} else {
|
||||
- udpdiscoverycpplib.commands = \
|
||||
- cd $${RS_SRC_PATH} && ( \
|
||||
- git submodule update --init supportlibs/udp-discovery-cpp || \
|
||||
- true ) && \
|
||||
- mkdir -p $${UDP_DISCOVERY_BUILD_PATH} &&
|
||||
+ udpdiscoverycpplib.commands = mkdir -p $${UDP_DISCOVERY_BUILD_PATH} &&
|
||||
}
|
||||
udpdiscoverycpplib.commands += \
|
||||
cd $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) && \
|
||||
diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro
|
||||
index 654efd170..06cba9ba3 100644
|
||||
--- a/retroshare-gui/src/retroshare-gui.pro
|
||||
+++ b/retroshare-gui/src/retroshare-gui.pro
|
||||
@@ -66,10 +66,7 @@ rs_gui_cmark {
|
||||
gencmarklib.CONFIG += target_predeps combine
|
||||
gencmarklib.variable_out = PRE_TARGETDEPS
|
||||
gencmarklib.commands = \
|
||||
- cd $${RS_SRC_PATH} && ( \
|
||||
- git submodule update --init supportlibs/cmark ; \
|
||||
- cd $${CMARK_SRC_PATH} ; \
|
||||
- true ) && \
|
||||
+ cd $${RS_SRC_PATH} && \
|
||||
mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \
|
||||
cmake \
|
||||
-DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
||||
29
pkgs/applications/networking/p2p/rqbit/default.nix
Normal file
29
pkgs/applications/networking/p2p/rqbit/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, Security }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "rqbit";
|
||||
version = "2.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ikatson";
|
||||
repo = "rqbit";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PkU3QJvAK2b1KQC1o5md35iucjq+SYoKAGxqiojf4rw=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-Jj2CK3nwktv2MU+EHXzQ/lKDUlC+4HkaItMTtoGF1Pw=";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isLinux [ openssl ]
|
||||
++ lib.optionals stdenv.isDarwin [ Security ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A bittorrent client in Rust";
|
||||
homepage = "https://github.com/ikatson/rqbit";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ marsam ];
|
||||
};
|
||||
}
|
||||
59
pkgs/applications/networking/p2p/soulseekqt/default.nix
Normal file
59
pkgs/applications/networking/p2p/soulseekqt/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ stdenv, lib, fetchzip, mkDerivation
|
||||
, appimageTools
|
||||
, autoPatchelfHook
|
||||
, desktop-file-utils
|
||||
, imagemagick
|
||||
, qtmultimedia
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "soulseekqt";
|
||||
version = "2018-1-30";
|
||||
name="${pname}-${version}";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://www.slsknet.org/SoulseekQt/Linux/SoulseekQt-${version}-64bit-appimage.tgz";
|
||||
sha256 = "16ncnvv8h33f161mgy7qc0wjvvqahsbwvby65qhgfh9pbbgb4xgg";
|
||||
};
|
||||
|
||||
appextracted = appimageTools.extractType2 {
|
||||
inherit name;
|
||||
src="${src}/SoulseekQt-2018-1-30-64bit.AppImage";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
nativeBuildInputs = [ imagemagick autoPatchelfHook desktop-file-utils ];
|
||||
buildInputs = [ qtmultimedia stdenv.cc.cc ];
|
||||
|
||||
installPhase = ''
|
||||
# directory in /nix/store so readonly
|
||||
cd $appextracted
|
||||
|
||||
binary="$(readlink AppRun)"
|
||||
install -Dm755 $binary -t $out/bin
|
||||
|
||||
# fixup and install desktop file
|
||||
desktop-file-install --dir $out/share/applications \
|
||||
--set-key Exec --set-value $binary \
|
||||
--set-key Comment --set-value "${meta.description}" \
|
||||
--set-key Categories --set-value Network default.desktop
|
||||
mv $out/share/applications/default.desktop $out/share/applications/SoulseekQt.desktop
|
||||
|
||||
#TODO: write generic code to read icon path from $binary.desktop
|
||||
icon="$(readlink .DirIcon)"
|
||||
for size in 16 32 48 64 72 96 128 192 256 512 1024; do
|
||||
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
|
||||
convert -resize "$size"x"$size" $icon $out/share/icons/hicolor/"$size"x"$size"/apps/$icon
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Official Qt SoulSeek client";
|
||||
homepage = "https://www.slsknet.org";
|
||||
license = licenses.unfree;
|
||||
maintainers = [ ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
59
pkgs/applications/networking/p2p/stig/default.nix
Normal file
59
pkgs/applications/networking/p2p/stig/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "stig";
|
||||
# This project has a different concept for pre release / alpha,
|
||||
# Read the project's README for details: https://github.com/rndusr/stig#stig
|
||||
version = "0.12.2a0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rndusr";
|
||||
repo = "stig";
|
||||
rev = "v${version}";
|
||||
sha256 = "0sk4vgj3cn75nyrng2d6q0pj1h968kcmbpr9sv1lj1g8fc7g0n4f";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
urwid
|
||||
urwidtrees
|
||||
aiohttp
|
||||
async-timeout
|
||||
pyxdg
|
||||
blinker
|
||||
natsort
|
||||
setproctitle
|
||||
];
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
asynctest
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
dontUseSetuptoolsCheck = true;
|
||||
|
||||
preCheck = ''
|
||||
export LC_ALL=C
|
||||
'';
|
||||
|
||||
pytestFlagsArray = [
|
||||
"tests"
|
||||
# TestScrollBarWithScrollable.test_wrapping_bug fails
|
||||
"--deselect=tests/tui_test/scroll_test.py::TestScrollBarWithScrollable::test_wrapping_bug"
|
||||
# https://github.com/rndusr/stig/issues/214
|
||||
"--deselect=tests/completion_test/classes_test.py::TestCandidates::test_candidates_are_sorted_case_insensitively"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"--deselect=tests/client_test/ttypes_test.py::TestTimestamp::test_string__month_day_hour_minute_second"
|
||||
"--deselect=tests/client_test/aiotransmission_test/api_torrent_test.py"
|
||||
"--deselect=tests/client_test/aiotransmission_test/rpc_test.py"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "TUI and CLI for the BitTorrent client Transmission";
|
||||
homepage = "https://github.com/rndusr/stig";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ doronbehar ];
|
||||
};
|
||||
}
|
||||
22
pkgs/applications/networking/p2p/storrent/default.nix
Normal file
22
pkgs/applications/networking/p2p/storrent/default.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "storrent-unstable";
|
||||
version = "2021-10-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jech";
|
||||
repo = "storrent";
|
||||
rev = "681733cf74de08bea251ada672ea8c666eb1b679";
|
||||
sha256 = "0grrqgawswb44fahf40060jl691rlyccwlqkljvgy8mzzw1kjzj4";
|
||||
};
|
||||
|
||||
vendorSha256 = "0sz2fz7bqgwd5i7sacyxs7bmb8ly6xrxrakqi9c446vzlkh898hj";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/jech/storrent";
|
||||
description = "An implementation of the BitTorrent protocol that is optimised for streaming media";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.marsam ];
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/networking/p2p/synapse-bt/default.nix
Normal file
28
pkgs/applications/networking/p2p/synapse-bt/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, CoreServices, Security }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "synapse-bt";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Luminarys";
|
||||
repo = "synapse";
|
||||
rev = version;
|
||||
sha256 = "01npv3zwia5d534zdwisd9xfng507adv4qkljf8z0zm0khqqn71a";
|
||||
};
|
||||
|
||||
cargoSha256 = "0sy0vlpkj967g9lyyh7ska8cpw5xh0g04kj071a32idrqc3dcjb1";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ openssl ]
|
||||
++ lib.optionals stdenv.isDarwin [ CoreServices Security ];
|
||||
|
||||
cargoBuildFlags = [ "--all" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Flexible and fast BitTorrent daemon";
|
||||
homepage = "https://synapse-bt.org/";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ dywedir ];
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/networking/p2p/tixati/default.nix
Normal file
30
pkgs/applications/networking/p2p/tixati/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchurl, glib, zlib, dbus, dbus-glib, gtk2, gdk-pixbuf, cairo, pango }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tixati";
|
||||
version = "2.89";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
|
||||
sha256 = "sha256-fd7DMKoRxNmNjCxl2ViINjnCEXJrhJU4aaRT+NoB1vI=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath ${lib.makeLibraryPath [ glib zlib dbus dbus-glib gtk2 gdk-pixbuf cairo pango ]} \
|
||||
tixati
|
||||
install -D tixati $out/bin/tixati
|
||||
install -D tixati.desktop $out/share/applications/tixati.desktop
|
||||
install -D tixati.png $out/share/icons/tixati.png
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Torrent client";
|
||||
homepage = "http://www.tixati.com";
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ volth ];
|
||||
};
|
||||
}
|
||||
82
pkgs/applications/networking/p2p/torrential/default.nix
Normal file
82
pkgs/applications/networking/p2p/torrential/default.nix
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, python3
|
||||
, vala
|
||||
, wrapGAppsHook
|
||||
, curl
|
||||
, dht
|
||||
, glib
|
||||
, gtk3
|
||||
, libb64
|
||||
, libevent
|
||||
, libgee
|
||||
, libnatpmp
|
||||
, libtransmission
|
||||
, libutp
|
||||
, miniupnpc
|
||||
, openssl
|
||||
, pantheon
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "torrential";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "davidmhewitt";
|
||||
repo = "torrential";
|
||||
rev = version;
|
||||
sha256 = "sha256-W9Is6l8y5XSlPER2BLlf+cyMPPdEQuaP4xM59VhfDE0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
vala
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
curl
|
||||
dht
|
||||
glib
|
||||
gtk3
|
||||
libb64
|
||||
libevent
|
||||
libgee
|
||||
libnatpmp
|
||||
libtransmission
|
||||
libutp
|
||||
miniupnpc
|
||||
openssl
|
||||
pantheon.granite
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson/post_install.py
|
||||
patchShebangs meson/post_install.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
attrPath = pname;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Download torrents in style with this speedy, minimalist torrent client for elementary OS";
|
||||
homepage = "https://github.com/davidmhewitt/torrential";
|
||||
maintainers = with maintainers; [ xiorcale ] ++ teams.pantheon.members;
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2Plus;
|
||||
mainProgram = "com.github.davidmhewitt.torrential";
|
||||
};
|
||||
}
|
||||
78
pkgs/applications/networking/p2p/transgui/default.nix
Normal file
78
pkgs/applications/networking/p2p/transgui/default.nix
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, makeDesktopItem, fetchpatch, unzip
|
||||
, fpc, lazarus, libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "transgui";
|
||||
version = "unstable-2022-02-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "transmission-remote-gui";
|
||||
repo = "transgui";
|
||||
rev = "0e2c2a07c1b21b1704c0a4945a111a8aa1050a1a";
|
||||
sha256 = "1x9wzii3q9zanpik4xc99jqsfrqch8vjmlx12jrvczxcfy51b1ba";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# TDDO: remove when transgui updates for transmission-daemon v3 rpc protocol
|
||||
(fetchpatch {
|
||||
url = "https://github.com/transmission-remote-gui/transgui/commit/9275c3fb877dd753a1940d1b900630cdc09a0cc2.patch";
|
||||
sha256 = "0w2x7gcxp5kqczdz7ckfqhdz9hhkm62k8gcws54d6km7x9vc1023";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config unzip ];
|
||||
buildInputs = [
|
||||
fpc lazarus stdenv.cc libX11 glib gtk2 gdk-pixbuf
|
||||
pango atk cairo openssl
|
||||
];
|
||||
|
||||
NIX_LDFLAGS = ''
|
||||
-L${stdenv.cc.cc.lib}/lib -lX11 -lglib-2.0 -lgtk-x11-2.0
|
||||
-lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpango-1.0 -latk-1.0 -lcairo
|
||||
-lc -lcrypto
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace restranslator.pas --replace /usr/ $out/
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
FPCDIR=${fpc}/lib/fpc/${fpc.version} fpcmake -w
|
||||
lazbuild -B transgui.lpr --lazarusdir=${lazarus}/share/lazarus
|
||||
'';
|
||||
|
||||
makeFlags = [ "FPC=fpc" "PP=fpc" "INSTALL_PREFIX=$(out)" ];
|
||||
|
||||
LCL_PLATFORM = "gtk2";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = "${pname} %U";
|
||||
icon = pname;
|
||||
type = "Application";
|
||||
comment = meta.description;
|
||||
desktopName = "Transmission Remote GUI";
|
||||
genericName = "BitTorrent Client";
|
||||
categories = [ "Network" "FileTransfer" "P2P" "GTK" ];
|
||||
startupNotify = true;
|
||||
mimeTypes = [ "application/x-bittorrent" "x-scheme-handler/magnet" ];
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$out/share/applications"
|
||||
cp $desktopItem/share/applications/* $out/share/applications
|
||||
mkdir -p "$out/share/icons/hicolor/48x48/apps"
|
||||
cp transgui.png "$out/share/icons/hicolor/48x48/apps"
|
||||
mkdir -p "$out/share/transgui"
|
||||
cp -r "./lang" "$out/share/transgui"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A cross platform front-end for the Transmission BitTorrent client";
|
||||
homepage = "https://sourceforge.net/p/transgui";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ ramkromberg ];
|
||||
mainProgram = "transgui";
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, wrapGAppsHook, fetchFromGitHub, pkg-config, gtk3, json-glib, curl
|
||||
, glib, appstream-glib, desktop-file-utils, meson, ninja, geoip, gettext
|
||||
, libappindicator, libmrss, libproxy }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "transmission-remote-gtk";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "transmission-remote-gtk";
|
||||
repo = "transmission-remote-gtk";
|
||||
rev = version;
|
||||
sha256 = "4/ID12JukDDvJzWupc76r7W8Us5erwv8oXZhDnB6VDk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[ desktop-file-utils wrapGAppsHook meson ninja pkg-config appstream-glib ];
|
||||
|
||||
buildInputs =
|
||||
[ gtk3 json-glib curl glib gettext libmrss geoip libproxy libappindicator ];
|
||||
|
||||
doCheck = false; # Requires network access
|
||||
|
||||
meta = with lib; {
|
||||
description = "GTK remote control for the Transmission BitTorrent client";
|
||||
homepage =
|
||||
"https://github.com/transmission-remote-gtk/transmission-remote-gtk";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.ehmry ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
139
pkgs/applications/networking/p2p/transmission/default.nix
Normal file
139
pkgs/applications/networking/p2p/transmission/default.nix
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, openssl
|
||||
, curl
|
||||
, libevent
|
||||
, inotify-tools
|
||||
, systemd
|
||||
, zlib
|
||||
, pcre
|
||||
, libb64
|
||||
, libutp
|
||||
, miniupnpc
|
||||
, dht
|
||||
, libnatpmp
|
||||
# Build options
|
||||
, enableGTK3 ? false
|
||||
, gtk3
|
||||
, xorg
|
||||
, wrapGAppsHook
|
||||
, enableQt ? false
|
||||
, qt5
|
||||
, nixosTests
|
||||
, enableSystemd ? stdenv.isLinux
|
||||
, enableDaemon ? true
|
||||
, enableCli ? true
|
||||
, installLib ? false
|
||||
, apparmorRulesFromClosure
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.00";
|
||||
|
||||
in stdenv.mkDerivation {
|
||||
pname = "transmission";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "transmission";
|
||||
repo = "transmission";
|
||||
rev = version;
|
||||
sha256 = "0ccg0km54f700x9p0jsnncnwvfnxfnxf7kcm7pcx1cj0vw78924z";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
outputs = [ "out" "apparmor" ];
|
||||
|
||||
cmakeFlags =
|
||||
let
|
||||
mkFlag = opt: if opt then "ON" else "OFF";
|
||||
in
|
||||
[
|
||||
"-DENABLE_MAC=OFF" # requires xcodebuild
|
||||
"-DENABLE_GTK=${mkFlag enableGTK3}"
|
||||
"-DENABLE_QT=${mkFlag enableQt}"
|
||||
"-DENABLE_DAEMON=${mkFlag enableDaemon}"
|
||||
"-DENABLE_CLI=${mkFlag enableCli}"
|
||||
"-DINSTALL_LIB=${mkFlag installLib}"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
cmake
|
||||
]
|
||||
++ lib.optionals enableGTK3 [ wrapGAppsHook ]
|
||||
++ lib.optionals enableQt [ qt5.wrapQtAppsHook ]
|
||||
;
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
curl
|
||||
libevent
|
||||
zlib
|
||||
pcre
|
||||
libb64
|
||||
libutp
|
||||
miniupnpc
|
||||
dht
|
||||
libnatpmp
|
||||
]
|
||||
++ lib.optionals enableQt [ qt5.qttools qt5.qtbase ]
|
||||
++ lib.optionals enableGTK3 [ gtk3 xorg.libpthreadstubs ]
|
||||
++ lib.optionals enableSystemd [ systemd ]
|
||||
++ lib.optionals stdenv.isLinux [ inotify-tools ]
|
||||
;
|
||||
|
||||
postInstall = ''
|
||||
mkdir $apparmor
|
||||
cat >$apparmor/bin.transmission-daemon <<EOF
|
||||
include <tunables/global>
|
||||
$out/bin/transmission-daemon {
|
||||
include <abstractions/base>
|
||||
include <abstractions/nameservice>
|
||||
include <abstractions/ssl_certs>
|
||||
include "${apparmorRulesFromClosure { name = "transmission-daemon"; } ([
|
||||
curl libevent openssl pcre zlib libnatpmp miniupnpc
|
||||
] ++ lib.optionals enableSystemd [ systemd ]
|
||||
++ lib.optionals stdenv.isLinux [ inotify-tools ]
|
||||
)}"
|
||||
r @{PROC}/sys/kernel/random/uuid,
|
||||
r @{PROC}/sys/vm/overcommit_memory,
|
||||
r @{PROC}/@{pid}/environ,
|
||||
r @{PROC}/@{pid}/mounts,
|
||||
rwk /tmp/tr_session_id_*,
|
||||
|
||||
r $out/share/transmission/web/**,
|
||||
|
||||
include <local/bin.transmission-daemon>
|
||||
}
|
||||
EOF
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
apparmor = nixosTests.transmission; # starts the service with apparmor enabled
|
||||
smoke-test = nixosTests.bittorrent;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A fast, easy and free BitTorrent client";
|
||||
longDescription = ''
|
||||
Transmission is a BitTorrent client which features a simple interface
|
||||
on top of a cross-platform back-end.
|
||||
Feature spotlight:
|
||||
* Uses fewer resources than other clients
|
||||
* Native Mac, GTK and Qt GUI clients
|
||||
* Daemon ideal for servers, embedded systems, and headless use
|
||||
* All these can be remote controlled by Web and Terminal clients
|
||||
* Bluetack (PeerGuardian) blocklists with automatic updates
|
||||
* Full encryption, DHT, and PEX support
|
||||
'';
|
||||
homepage = "http://www.transmissionbt.com/";
|
||||
license = lib.licenses.gpl2Plus; # parts are under MIT
|
||||
maintainers = with lib.maintainers; [ astsmtl vcunat wizeman ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
|
||||
}
|
||||
59
pkgs/applications/networking/p2p/tremc/default.nix
Normal file
59
pkgs/applications/networking/p2p/tremc/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages
|
||||
, x11Support ? !stdenv.isDarwin
|
||||
, xclip ? null
|
||||
, pbcopy ? null
|
||||
, useGeoIP ? false # Require /var/lib/geoip-databases/GeoIP.dat
|
||||
}:
|
||||
let
|
||||
wrapperPath = with lib; makeBinPath (
|
||||
optional x11Support xclip ++
|
||||
optional stdenv.isDarwin pbcopy
|
||||
);
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "tremc";
|
||||
version = "0.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tremc";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1fqspp2ckafplahgba54xmx0sjidx1pdzyjaqjhz0ivh98dkx2n5";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when version >0.9.2 is released
|
||||
(fetchpatch {
|
||||
url = "https://github.com/tremc/tremc/commit/bdffff2bd76186a4e3488b83f719fc7f7e3362b6.patch";
|
||||
sha256 = "1zip2skh22v0yyv2hmszxn5jshp9m1jpw0fsyfvmqfxzq7m3czy5";
|
||||
name = "replace-decodestring-with-decodebytes.patch";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = with python3Packages; [
|
||||
python
|
||||
wrapPython
|
||||
];
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
ipy
|
||||
pyperclip
|
||||
] ++
|
||||
lib.optional useGeoIP GeoIP;
|
||||
|
||||
dontBuild = true;
|
||||
doCheck = false;
|
||||
|
||||
makeWrapperArgs = ["--prefix PATH : ${lib.escapeShellArg wrapperPath}"];
|
||||
|
||||
installPhase = ''
|
||||
make DESTDIR=$out install
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Curses interface for transmission";
|
||||
homepage = "https://github.com/tremc/tremc";
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
102
pkgs/applications/networking/p2p/tribler/default.nix
Normal file
102
pkgs/applications/networking/p2p/tribler/default.nix
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, python3
|
||||
, makeWrapper
|
||||
, libtorrent-rasterbar-1_2_x
|
||||
, qt5
|
||||
}:
|
||||
|
||||
let
|
||||
libtorrent = (python3.pkgs.toPythonModule (
|
||||
libtorrent-rasterbar-1_2_x.override { python = python3; })).python;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tribler";
|
||||
version = "7.11.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
|
||||
sha256 = "0ffh8chb47iaar8872gvalgm84fjzyxph16nixsxknnprqdxyrkx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.wrapPython
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
python3.pkgs.python
|
||||
];
|
||||
|
||||
pythonPath = [
|
||||
libtorrent
|
||||
] ++ (with python3.pkgs; [
|
||||
aiohttp
|
||||
aiohttp-apispec
|
||||
asynctest
|
||||
chardet
|
||||
cherrypy
|
||||
configobj
|
||||
cryptography
|
||||
decorator
|
||||
faker
|
||||
feedparser
|
||||
libnacl
|
||||
lz4
|
||||
m2crypto
|
||||
netifaces
|
||||
networkx
|
||||
pillow
|
||||
pony
|
||||
psutil
|
||||
pyasn1
|
||||
pycrypto
|
||||
pyqt5
|
||||
pyqtgraph
|
||||
pytest-asyncio
|
||||
pytest-timeout
|
||||
pyyaml
|
||||
requests
|
||||
sentry-sdk
|
||||
service-identity
|
||||
twisted
|
||||
yappi
|
||||
pydantic
|
||||
anyio
|
||||
]);
|
||||
|
||||
installPhase = ''
|
||||
mkdir -pv $out
|
||||
# Nasty hack; call wrapPythonPrograms to set program_PYTHONPATH.
|
||||
wrapPythonPrograms
|
||||
cp -prvd ./* $out/
|
||||
makeWrapper ${python3.pkgs.python}/bin/python $out/bin/tribler \
|
||||
--set QT_QPA_PLATFORM_PLUGIN_PATH ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms \
|
||||
--set QT_PLUGIN_PATH "${qt5.qtsvg.bin}/${qt5.qtbase.qtPluginPrefix}" \
|
||||
--set _TRIBLERPATH "$out/src" \
|
||||
--set PYTHONPATH $out/src/tribler-core:$out/src/tribler-common:$out/src/tribler-gui:$program_PYTHONPATH \
|
||||
--set NO_AT_BRIDGE 1 \
|
||||
--chdir "$out/src" \
|
||||
--add-flags "-O $out/src/run_tribler.py"
|
||||
|
||||
mkdir -p $out/share/applications $out/share/icons
|
||||
cp $out/build/debian/tribler/usr/share/applications/org.tribler.Tribler.desktop $out/share/applications/
|
||||
cp $out/build/debian/tribler/usr/share/pixmaps/tribler_big.xpm $out/share/icons/tribler.xpm
|
||||
'';
|
||||
|
||||
shellHook = ''
|
||||
wrapPythonPrograms || true
|
||||
export QT_QPA_PLATFORM_PLUGIN_PATH=$(echo ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms)
|
||||
export PYTHONPATH=./tribler-core:./tribler-common:./tribler-gui:$program_PYTHONPATH
|
||||
export QT_PLUGIN_PATH="${qt5.qtsvg.bin}/${qt5.qtbase.qtPluginPrefix}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Decentralised P2P filesharing client based on the Bittorrent protocol";
|
||||
homepage = "https://www.tribler.org/";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ xvapx viric ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/networking/p2p/vuze/default.nix
Normal file
30
pkgs/applications/networking/p2p/vuze/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchsvn, jdk, jre, ant, swt, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vuze";
|
||||
version = "5750";
|
||||
|
||||
src = fetchsvn {
|
||||
url = "http://svn.vuze.com/public/client/tags/RELEASE_${version}";
|
||||
sha256 = "07w6ipyiy8hi88d6yxbbf3vkv26mj7dcz9yr8141hb2ig03v0h0p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ jdk ant ];
|
||||
|
||||
buildPhase = "ant";
|
||||
|
||||
installPhase = ''
|
||||
install -D dist/Vuze_0000-00.jar $out/share/java/Vuze_${version}-00.jar
|
||||
makeWrapper ${jre}/bin/java $out/bin/vuze \
|
||||
--add-flags "-Xmx256m -Djava.library.path=${swt}/lib -cp $out/share/java/Vuze_${version}-00.jar:${swt}/jars/swt.jar org.gudy.azureus2.ui.swt.Main"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Torrent client";
|
||||
homepage = "http://www.vuze.com";
|
||||
license = licenses.unfree;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ volth ];
|
||||
};
|
||||
}
|
||||
29
pkgs/applications/networking/p2p/xd/default.nix
Normal file
29
pkgs/applications/networking/p2p/xd/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ pkgs, buildGoModule, fetchFromGitHub, lib, perl }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "XD";
|
||||
version = "0.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "majestrate";
|
||||
repo = "XD";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-AavNiFZlpX6XZQLP1kl9igA833i0gxOTYGubo3MvpSU=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-mJZRk3p+D3tCKIYggD5jVBXcKqJotEexljDzLKpn4/E=";
|
||||
|
||||
checkInputs = [ perl ];
|
||||
|
||||
postInstall = ''
|
||||
ln -s $out/bin/XD $out/bin/XD-CLI
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "i2p bittorrent client";
|
||||
homepage = "https://xd-torrent.github.io";
|
||||
maintainers = with maintainers; [ nixbitcoin ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3Packages
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "zeronet-conservancy";
|
||||
version = "0.7.5";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zeronet-conservancy";
|
||||
repo = "zeronet-conservancy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-cq0q5hXEhazHPJODNJ8iL0qAB5DJW6ANST4r/rslvXk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket-client
|
||||
gevent-websocket rencode bitcoinlib maxminddb pyopenssl rich
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
${python3Packages.python.interpreter} -O -m compileall .
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share
|
||||
cp -r plugins src *.py $out/share/
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper "$out/share/zeronet.py" "$out/bin/zeronet" \
|
||||
--set PYTHONPATH "$PYTHONPATH" \
|
||||
--set PATH ${python3Packages.python}/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fork/continuation of the ZeroNet project";
|
||||
longDescription = ''
|
||||
zeronet-conservancy is a fork/continuation of ZeroNet project (that has
|
||||
been abandoned by its creator) that is dedicated to sustaining existing
|
||||
p2p network and developing its values of decentralization and freedom,
|
||||
while gradually switching to a better designed network.
|
||||
'';
|
||||
homepage = "https://github.com/zeronet-conservancy/zeronet-conservancy";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
};
|
||||
}
|
||||
45
pkgs/applications/networking/p2p/zeronet/default.nix
Normal file
45
pkgs/applications/networking/p2p/zeronet/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ lib, fetchFromGitHub, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "zeronet";
|
||||
version = "0.7.1";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "HelloZeroNet";
|
||||
repo = "ZeroNet";
|
||||
rev = "v${version}";
|
||||
sha256 = "04prgicm0yjh2klcxdgwx1mvlsxxi2bdkzfcvysvixbgq20wjvdk";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket-client
|
||||
gevent-websocket rencode bitcoinlib maxminddb pyopenssl
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
${python3Packages.python.interpreter} -O -m compileall .
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share
|
||||
cp -r plugins src tools *.py $out/share/
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper "$out/share/zeronet.py" "$out/bin/zeronet" \
|
||||
--set PYTHONPATH "$PYTHONPATH" \
|
||||
--set PATH ${python3Packages.python}/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Decentralized websites using Bitcoin crypto and BitTorrent network";
|
||||
homepage = "https://zeronet.io/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
knownVulnerabilities = [ ''
|
||||
Unmaintained. Probable XSS/code injection vulnerability.
|
||||
Switching to the maintained zeronet-conservancy package is recommended
|
||||
'' ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue