push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchzip,
perl,
read-edid,
}:
stdenv.mkDerivation rec {
pname = "i2c-tools";
version = "4.4";
src = fetchzip {
url = "https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/snapshot/i2c-tools-v${version}.tar.gz";
sha256 = "sha256-Zm83gxdZH2XQCc/Dihp7vumF9WAvKgt6OORns5Mua7M=";
};
buildInputs = [ perl ];
postPatch = ''
substituteInPlace eeprom/decode-edid \
--replace "/usr/sbin/parse-edid" "${read-edid}/bin/parse-edid"
substituteInPlace stub/i2c-stub-from-dump \
--replace "/sbin/" ""
'';
makeFlags = [ "PREFIX=${placeholder "out"}" ];
outputs = [
"out"
"man"
];
postInstall = ''
rm -rf $out/include/linux/i2c-dev.h # conflics with kernel headers
'';
meta = with lib; {
description = "Set of I2C tools for Linux";
homepage = "https://i2c.wiki.kernel.org/index.php/I2C_Tools";
# library is LGPL 2.1 or later; "most tools" GPL 2 or later
license = with licenses; [
lgpl21Plus
gpl2Plus
];
maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,130 @@
{
lib,
stdenv,
fetchzip,
jdk,
ant,
gettext,
which,
dbip-country-lite,
java-service-wrapper,
makeWrapper,
gmp,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "i2p";
version = "2.10.0";
src = fetchzip {
urls = [
"https://github.com/i2p/i2p.i2p/archive/i2p-${finalAttrs.version}.tar.gz"
]
++ (map (mirror: "${mirror}${finalAttrs.version}/i2psource_${finalAttrs.version}.tar.bz2") [
"https://download.i2p2.de/releases/"
"https://files.i2p-projekt.de/"
"https://download.i2p2.no/releases/"
]);
hash = "sha256-Ogok7s5sawG27ucstG+NYiIAF66Pb3ExOYsL8mfNav8=";
};
strictDeps = true;
nativeBuildInputs = [
makeWrapper
ant
gettext
jdk
which
];
buildInputs = [ gmp ];
postConfigure = ''
rm -r installer/lib
mkdir -p installer/lib/wrapper/all/
# The java-service-wrapper is needed for build but not really used in runtime
ln -s ${java-service-wrapper}/lib/wrapper.jar installer/lib/wrapper/all/wrapper.jar
# Don't use the bundled geoip data
echo "with-geoip-database=true" >> override.properties
'';
buildPhase = ''
# When this variable exists we can build the .so files only.
export DEBIANVERSION=1
pushd core/c/jcpuid
./build.sh
popd
pushd core/c/jbigi
./build_jbigi.sh dynamic
popd
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
SOURCE_DATE_EPOCH=0 ant preppkg-unix
'';
installPhase = ''
mkdir -p $out/{bin,share,geoip}
mv pkg-temp/* $out
mv core/c/jbigi/*.so $out/lib
mv $out/man $out/share/
rm $out/{osid,postinstall.sh,INSTALL-headless.txt}
for jar in $out/lib/*.jar; do
if [ ! -z $CP ]; then
CP=$CP:$jar;
else
CP=$jar
fi
done
makeWrapper ${jdk}/bin/java $out/bin/i2prouter \
--add-flags "-cp $CP -Djava.library.path=$out/lib/ -Di2p.dir.base=$out -DloggerFilenameOverride=logs/log-router-@.txt" \
--add-flags "net.i2p.router.RouterLaunch"
ln -s ${dbip-country-lite.mmdb} $out/geoip/GeoLite2-Country.mmdb
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
# Check if jbigi is used
java -cp $out/lib/i2p.jar -Djava.library.path=$out/lib/ net.i2p.util.NativeBigInteger \
| tee /dev/stderr | grep -Fw "Found native library" || exit 1
runHook postInstallCheck
'';
meta = with lib; {
description = "Applications and router for I2P, anonymity over the Internet";
homepage = "https://geti2p.net";
changelog = "https://github.com/i2p/i2p.i2p/releases/tag/i2p-${finalAttrs.version}";
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
];
license = with licenses; [
asl20
boost
bsd2
bsd3
cc-by-30
cc0
epl10
gpl2
gpl3
lgpl21Only
lgpl3Only
mit
publicDomain
];
platforms = [
"x86_64-linux"
"i686-linux"
"aarch64-linux"
];
maintainers = with maintainers; [ linsui ];
mainProgram = "i2prouter-plain";
};
})

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
boost,
fetchFromGitHub,
openssl,
zlib,
}:
stdenv.mkDerivation {
pname = "i2pd-tools";
version = "2.56.0";
#tries to access the network during the tests, which fails
src = fetchFromGitHub {
owner = "PurpleI2P";
repo = "i2pd-tools";
rev = "33fce4b087d92ee90653460bbe7a07cdc0c7b121";
hash = "sha256-mmCs8AHHKhx1/rDp/Vc1p2W3pufoTa4FcJyJwD919zw=";
fetchSubmodules = true;
};
buildInputs = [
zlib
openssl
boost
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
for bin in \
routerinfo keygen vain keyinfo regaddr \
regaddr_3ld regaddralias x25519 famtool autoconf;
do
install -Dm755 $bin -t $out/bin
done
runHook postInstall
'';
meta = {
description = "Toolsuite to work with keys and eepsites";
homepage = "https://github.com/PurpleI2P/i2pd-tools";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ MulliganSecurity ];
mainProgram = "i2pd-tools";
};
}

View File

@@ -0,0 +1,60 @@
{
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
boost,
zlib,
openssl,
upnpSupport ? true,
miniupnpc,
}:
stdenv.mkDerivation rec {
pname = "i2pd";
version = "2.58.0";
src = fetchFromGitHub {
owner = "PurpleI2P";
repo = "i2pd";
tag = version;
hash = "sha256-moUcivW3YIE2SvjS7rCXTjeCKUW/u/NXWH3VmJ9x6jg=";
};
postPatch = lib.optionalString (!stdenv.hostPlatform.isx86) ''
substituteInPlace Makefile.osx \
--replace-fail "-msse" ""
'';
buildInputs = [
boost
zlib
openssl
]
++ lib.optional upnpSupport miniupnpc;
nativeBuildInputs = [
installShellFiles
];
makeFlags = [
"USE_UPNP=${if upnpSupport then "yes" else "no"}"
];
enableParallelBuilding = true;
installPhase = ''
install -D i2pd $out/bin/i2pd
install --mode=444 -D 'contrib/i2pd.service' "$out/etc/systemd/system/i2pd.service"
installManPage 'debian/i2pd.1'
'';
meta = with lib; {
homepage = "https://i2pd.website";
description = "Minimal I2P router written in C++";
license = licenses.bsd3;
maintainers = with maintainers; [ edwtjo ];
platforms = platforms.unix;
mainProgram = "i2pd";
};
}