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,37 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation rec {
pname = "re-flex";
version = "6.0.0";
src = fetchFromGitHub {
owner = "Genivia";
repo = "RE-flex";
rev = "v${version}";
hash = "sha256-p04o2e7Dxx7N6ByCwERz4hKz+vfTIuuZ//AoWSC1qao=";
};
outputs = [
"out"
"bin"
"dev"
];
nativeBuildInputs = [
cmake
];
meta = with lib; {
homepage = "https://www.genivia.com/doc/reflex/html";
description = "Regex-centric, fast lexical analyzer generator for C++ with full Unicode support";
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with lib.maintainers; [ prrlvr ];
mainProgram = "reflex";
};
}

View File

@@ -0,0 +1,64 @@
From 9fc97ea817762e2575954cd31aa735b2cfec7a5e Mon Sep 17 00:00:00 2001
From: OPNA2608 <opna2608@protonmail.com>
Date: Sun, 3 Aug 2025 19:08:30 +0200
Subject: [PATCH] build/Makefile: Fix recursive make & parallelism
- Recursively calling make should be done by using the special `MAKE` variable, which will preserve parallelism across calls
- Don't hardcode parallelism in recursive make calls, inherit user-supplied ones instead
---
build/Makefile | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/build/Makefile b/build/Makefile
index 6633ebd..807bfd9 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -2,36 +2,36 @@ UNAME := $(shell uname)
all:
ifeq ($(UNAME), Darwin)
- make -j 5 -f Makefile.MacOS-OMP $(MFLAGS)
+ $(MAKE) -f Makefile.MacOS-OMP $(MFLAGS)
endif
ifeq ($(UNAME), Linux)
- make -j 3 -f Makefile.ubuntu $(MFLAGS)
+ $(MAKE) -f Makefile.ubuntu $(MFLAGS)
endif
ifeq ($(UNAME), Solaris)
- make -f Makefile.solaris $(MFLAGS)
+ $(MAKE) -f Makefile.solaris $(MFLAGS)
endif
install:
ifeq ($(UNAME), Darwin)
- make -j 5 -f Makefile.MacOS-OMP $(MFLAGS) install
+ $(MAKE) -f Makefile.MacOS-OMP $(MFLAGS) install
endif
ifeq ($(UNAME), Linux)
- make -j 3 -f Makefile.ubuntu $(MFLAGS) install
+ $(MAKE) -f Makefile.ubuntu $(MFLAGS) install
endif
ifeq ($(UNAME), Solaris)
- make -f Makefile.solaris $(MFLAGS) install
+ $(MAKE) -f Makefile.solaris $(MFLAGS) install
endif
plugins:
ifeq ($(UNAME), Darwin)
- make -j 5 -f Makefile.MacOS $(MFLAGS) plugins
+ $(MAKE) -f Makefile.MacOS $(MFLAGS) plugins
endif
ifeq ($(UNAME), Linux)
- make -j 3 -f Makefile.ubuntu $(MFLAGS) plugins
+ $(MAKE) -f Makefile.ubuntu $(MFLAGS) plugins
endif
ifeq ($(UNAME), Solaris)
- make -f Makefile.solaris $(MFLAGS) plugins
+ $(MAKE) -f Makefile.solaris $(MFLAGS) plugins
endif
--
2.50.1

View File

@@ -0,0 +1,90 @@
{
stdenv,
fetchFromGitHub,
lib,
db,
file,
libnsl,
writableTmpDirAsHomeHook,
nix-update-script,
}:
stdenv.mkDerivation {
pname = "re-Isearch";
version = "2.20220925.4.0a-unstable-2025-09-22";
src = fetchFromGitHub {
owner = "re-Isearch";
repo = "re-Isearch";
rev = "d2e16c1f62aa4951d331668908f8dd17638be351";
hash = "sha256-6sBIrmngdNG7hCg6NS3MkghVIf58ZNZFITpTBtfZ5RA=";
};
patches = [
# https://github.com/re-Isearch/re-Isearch/pull/12
./1001-Fix-resurcive-make-parallelism.patch
];
postPatch = ''
# Fix gcc-13 build due to missing <cstdint> include.
# https://github.com/re-Isearch/re-Isearch/pull/13
sed -e '1i #include <cstdint>' -i src/mmap.cxx
# These flags are not supported on all architectures
# https://github.com/re-Isearch/re-Isearch/issues/14
substituteInPlace build/Makefile.ubuntu \
--replace-fail "-msse2" "" \
--replace-fail "-m64" ""
'';
nativeBuildInputs = [ writableTmpDirAsHomeHook ];
buildinputs = [
db
file # libmagic
libnsl
];
makeFlags = [
"CC=${stdenv.cc.targetPrefix}c++"
"cc=${stdenv.cc.targetPrefix}cc"
"LD=${stdenv.cc.targetPrefix}c++"
];
preBuild = ''
cd build
makeFlagsArray+=(
EXTRA_INC="-I${lib.getDev db}/include -I${lib.getDev file}/include"
LD_PATH="-L../lib -L${db.out}/lib -L${file}/lib -L${libnsl}/lib"
)
'';
# Handwritten Makefiles, doesn't properly ensure that libraries are built before they're used in linking
# ld: cannot find -libUtils: No such file or directory
# ld: cannot find -libLocal: No such file or directory
enableParallelBuilding = false;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib}
cp ../bin/{Iindex,Isearch,Iutil,Idelete,zpresent,Iwatch,zipper} $out/bin
cp ../lib/*.so $out/lib/
runHook postInstall
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
meta = {
description = "Novel multimodal search and retrieval engine";
homepage = "https://nlnet.nl/project/Re-iSearch/";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.astro ];
teams = [ lib.teams.ngi ];
};
}

View File

@@ -0,0 +1,78 @@
{
abseil-cpp,
chromium,
cmake,
fetchFromGitHub,
gbenchmark,
grpc,
gtest,
haskellPackages,
icu,
lib,
mercurial,
ninja,
python3Packages,
stdenv,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "re2";
version = "2025-08-12";
src = fetchFromGitHub {
owner = "google";
repo = "re2";
rev = finalAttrs.version;
hash = "sha256-3cWbw8Wlnl1OMPIcbNlc3HnCsuL4VT7psuHWtldsWoQ=";
};
outputs = [
"out"
"dev"
];
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [
gbenchmark
gtest
];
propagatedBuildInputs = [ abseil-cpp ] ++ lib.optionals (!stdenv.hostPlatform.isStatic) [ icu ];
cmakeFlags = [
(lib.cmakeBool "RE2_BUILD_TESTING" true)
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--timeout;999999")
]
++ lib.optionals (!stdenv.hostPlatform.isStatic) [
(lib.cmakeBool "RE2_USE_ICU" true)
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
];
doCheck = true;
passthru.tests = {
inherit chromium grpc mercurial;
inherit (python3Packages) fb-re2 google-re2;
haskell-re2 = haskellPackages.re2;
};
meta = with lib; {
description = "Regular expression library";
longDescription = ''
RE2 is a fast, safe, thread-friendly alternative to backtracking regular
expression engines like those used in PCRE, Perl, and Python. It is a C++
library.
'';
license = licenses.bsd3;
homepage = "https://github.com/google/re2";
maintainers = with maintainers; [
azahi
networkexception
];
platforms = platforms.all;
};
})

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
nix-update-script,
python3,
# for passthru.tests
ninja,
php,
spamassassin,
}:
stdenv.mkDerivation rec {
pname = "re2c";
version = "4.3";
src = fetchFromGitHub {
owner = "skvadrik";
repo = "re2c";
rev = version;
hash = "sha256-zPOENMfXXgTwds1t+Lrmz9+GTHJf2yRpQsGT7nLRvcg=";
};
nativeBuildInputs = [
autoreconfHook
python3
];
doCheck = true;
enableParallelBuilding = true;
preCheck = ''
patchShebangs run_tests.py
'';
passthru = {
updateScript = nix-update-script {
# Skip non-release tags like `python-experimental`.
extraArgs = [
"--version-regex"
"([0-9.]+)"
];
};
tests = {
inherit ninja php spamassassin;
};
};
meta = with lib; {
description = "Tool for writing very fast and very flexible scanners";
homepage = "https://re2c.org";
license = licenses.publicDomain;
platforms = platforms.all;
maintainers = with maintainers; [ thoughtpolice ];
};
}

View File

@@ -0,0 +1,123 @@
{
lib,
stdenv,
fetchurl,
unzip,
cairo,
xorg,
gdk-pixbuf,
fontconfig,
pango,
atk,
at-spi2-atk,
at-spi2-core,
gtk3,
glib,
freetype,
dbus,
nss,
nspr,
alsa-lib,
cups,
expat,
udev,
makeDesktopItem,
libdrm,
libxkbcommon,
libgbm,
makeWrapper,
}:
let
rpath = lib.makeLibraryPath [
cairo
stdenv.cc.cc
gdk-pixbuf
fontconfig
pango
atk
gtk3
glib
freetype
dbus
nss
nspr
alsa-lib
cups
expat
udev
at-spi2-atk
at-spi2-core
libdrm
libxkbcommon
libgbm
xorg.libX11
xorg.libXcursor
xorg.libXtst
xorg.libxcb
xorg.libXext
xorg.libXi
xorg.libXdamage
xorg.libXrandr
xorg.libXcomposite
xorg.libXfixes
xorg.libXrender
xorg.libXScrnSaver
];
in
stdenv.mkDerivation rec {
pname = "react-native-debugger";
version = "0.14.0";
src = fetchurl {
url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip";
sha256 = "sha256-RioBe0MAR47M84aavFaTJikGsJtcZDak8Tkg3WtX2l0=";
};
nativeBuildInputs = [
makeWrapper
unzip
];
buildCommand = ''
shopt -s extglob
mkdir -p $out
unzip $src -d $out
mkdir $out/{lib,bin,share}
mv $out/{libEGL,libGLESv2,libvk_swiftshader,libffmpeg}.so $out/lib
mv $out/!(lib|share|bin) $out/share
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--set-rpath ${rpath}:$out/lib \
$out/share/react-native-debugger
wrapProgram $out/share/react-native-debugger \
--add-flags --no-sandbox
ln -s $out/share/react-native-debugger $out/bin/react-native-debugger
install -Dm644 "${desktopItem}/share/applications/"* \
-t $out/share/applications/
'';
desktopItem = makeDesktopItem {
name = "rndebugger";
exec = "react-native-debugger";
desktopName = "React Native Debugger";
genericName = "React Native Debugger";
categories = [
"Development"
"Debugger"
];
};
meta = with lib; {
homepage = "https://github.com/jhen0409/react-native-debugger";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.mit;
description = "Standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools";
mainProgram = "react-native-debugger";
maintainers = [ ];
};
}

View File

@@ -0,0 +1,154 @@
{
"name": "react-static",
"description": "A progressive static site generator for React",
"version": "7.6.2",
"license": "MIT",
"repository": "https://github.com/react-static/react-static",
"main": "lib/index.js",
"types": "src/index.d.ts",
"engines": {
"node": ">=8.9.0"
},
"bin": {
"react-static": "./bin/react-static"
},
"scripts": {
"prebuild": "rimraf lib",
"build": "cross-env REACT_STATIC_INTERNAL=true babel src --out-dir lib --ignore \"**/__tests__/*\" --ignore \"**/__mocks__/*\" --source-maps inline",
"watch": "yarn build --watch",
"watch:link": "onchange './lib/**/*' -- yalc push --changed",
"start": "yarn watch",
"test": "yarn format && yarn lint && yarn unitTest",
"lint": "eslint src",
"format": "prettier README.md {src,templates/*/src}/**/*.js --write",
"unitTest": "cross-env NODE_ENV=test yarn jest ./src",
"unitTestWatch": "cross-env NODE_ENV=test yarn jest src --watch",
"preversion": "yarn build && yarn test",
"publishLink": "echo '{{event}} to {{changed}}' && yalc publish"
},
"peerDependencies": {
"react": "^16.9.0",
"react-dom": "^16.9.0",
"react-hot-loader": "^4.12.11"
},
"dependencies": {
"@babel/cli": "^7.5.5",
"@babel/core": "^7.5.5",
"@babel/plugin-proposal-class-properties": "^7.5.5",
"@babel/plugin-proposal-export-default-from": "^7.5.2",
"@babel/plugin-proposal-optional-chaining": "^7.2.0",
"@babel/plugin-syntax-dynamic-import": "^7.2.0",
"@babel/plugin-transform-destructuring": "^7.5.0",
"@babel/plugin-transform-modules-commonjs": "^7.5.0",
"@babel/plugin-transform-runtime": "^7.5.5",
"@babel/preset-env": "^7.5.5",
"@babel/preset-react": "^7.0.0",
"@babel/preset-stage-0": "^7.0.0",
"@babel/register": "^7.5.5",
"@babel/runtime": "^7.5.5",
"@reach/router": "^1.3.1",
"autoprefixer": "^9.7.4",
"axios": "^0.21.1",
"babel-core": "7.0.0-bridge.0",
"babel-loader": "^8.0.6",
"babel-plugin-macros": "^2.6.1",
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
"babel-plugin-universal-import": "^4.0.0",
"case-sensitive-paths-webpack-plugin": "^2.2.0",
"chalk": "^2.4.2",
"chokidar": "^3.0.2",
"circular-dependency-plugin": "^5.2.0",
"cors": "^2.8.5",
"css-loader": "^2.1.1",
"download-git-repo": "^2.0.0",
"extract-css-chunks-webpack-plugin": "^4.6.0",
"file-loader": "3.0.1",
"fs-extra": "^7.0.1",
"git-promise": "^1.0.0",
"glob": "^7.1.4",
"gunzip-maybe": "^1.4.1",
"html-webpack-plugin": "^3.2.0",
"inquirer": "^6.5.1",
"inquirer-autocomplete-prompt": "^1.0.1",
"intersection-observer": "^0.7.0",
"jsesc": "^2.5.2",
"match-sorter": "^3.1.1",
"minimist": "^1.2.0",
"mutation-observer": "^1.0.3",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"portfinder": "^1.0.21",
"postcss-flexbugs-fixes": "^4.1.0",
"postcss-loader": "^3.0.0",
"pretty-error": "^2.1.1",
"progress": "^2.0.3",
"prop-types": "^15.7.2",
"raf": "^3.4.1",
"raw-loader": "^3.1.0",
"react-helmet": "^6.1.0",
"react-universal-component": "^4.0.0",
"resolve-from": "^5.0.0",
"serve": "^11.1.0",
"shorthash": "^0.0.2",
"slash": "^2.0.0",
"socket.io": "^2.2.0",
"socket.io-client": "^2.2.0",
"style-loader": "0.23.1",
"swimmer": "^1.4.0",
"tar-fs": "^2.0.0",
"terser-webpack-plugin": "^1.4.1",
"upath": "^1.1.2",
"url-loader": "^2.1.0",
"webpack": "^4.39.2",
"webpack-bundle-analyzer": "^3.4.1",
"webpack-dev-server": "^3.8.0",
"webpack-flush-chunks": "^2.0.3",
"webpack-node-externals": "^1.7.2"
},
"devDependencies": {
"@types/react": "^16.9.1",
"@types/react-helmet": "^6.1.0",
"babel-jest": "^24.8.0",
"cors": "^2.8.5",
"cross-env": "^5.2.0",
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.14.0",
"enzyme-to-json": "^3.4.0",
"eslint": "^6.1.0",
"eslint-config-prettier": "^6.0.0",
"eslint-config-react-tools": "^1.1.7",
"eslint-plugin-babel": "^5.3.0",
"eslint-plugin-import": "^2.18.2",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-react": "^7.14.3",
"express": "^4.17.1",
"husky": "^3.0.3",
"jest": "^24.8.0",
"lerna": "^3.16.4",
"onchange": "^6.0.0",
"prettier": "1.18.2",
"react": "^16.9.0",
"react-dev-utils": "^9.0.3",
"react-dom": "^16.9.0",
"react-hot-loader": "^4.12.11",
"rimraf": "^2.7.0",
"webpack-hot-middleware": "^2.25.0"
},
"jest": {
"verbose": true,
"moduleDirectories": [
"node_modules",
"src"
],
"testRegex": "(/__tests__/.*\\.(test))\\.jsx?$",
"moduleNameMapper": {
"static.config.js$": "<rootDir>/src/static/__mocks__/static.config.js.mock.js"
},
"setupFiles": [
"<rootDir>/setupTests.js"
],
"snapshotSerializers": [
"enzyme-to-json/serializer"
]
},
"gitHead": "875004e6e75d36043382b8ec8bba27a766c1a83a"
}

View File

@@ -0,0 +1,56 @@
{
lib,
mkYarnPackage,
fetchFromGitHub,
fetchYarnDeps,
}:
mkYarnPackage rec {
pname = "react-static";
version = "7.6.2";
src = fetchFromGitHub {
owner = "react-static";
repo = "react-static";
rev = "v${version}";
hash = "sha256-dlYmD0vgEqWxYf7E0VYstZMAuNDGvQP7xDgHo/wmlUs=";
};
packageJSON = ./package.json;
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-SNnJPUzv+l2HXfA6NKYpJvn/DCX3a42JQ3N0+XYKbd8=";
};
buildPhase = ''
runHook preBuild
yarn --cwd deps/react-static/packages/react-static --offline build
runHook postBuild
'';
doDist = false;
installPhase = ''
runHook preInstall
mkdir -p "$out/lib/node_modules"
mv deps/react-static/packages/react-static "$out/lib/node_modules"
mv node_modules "$out/lib/node_modules/react-static"
ln -s "$out/lib/node_modules/react-static/bin" "$out"
runHook postInstall
'';
meta = {
changelog = "https://github.com/react-static/react-static/blob/${src.rev}/CHANGELOG.md";
description = "Progressive static site generator for React";
homepage = "https://github.com/react-static/react-static";
license = lib.licenses.mit;
mainProgram = "react-static";
maintainers = [ ];
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
fetchFromGitLab,
rustPlatform,
nix-update-script,
installShellFiles,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "reaction";
version = "2.2.1";
src = fetchFromGitLab {
domain = "framagit.org";
owner = "ppom";
repo = "reaction";
tag = "v${finalAttrs.version}";
hash = "sha256-81i0bkrf86adQWxeZgIoZp/zQQbRJwPqQqZci0ANRFw=";
};
cargoHash = "sha256-Bf9XmlY0IMPY4Convftd0Hv8mQbYoiE8WrkkAeaS6Z8=";
nativeBuildInputs = [
installShellFiles
];
checkFlags = [
# Those time-based tests behave poorly in low-resource environments (CI...)
"--skip=daemon::filter::tests"
"--skip=treedb::raw::tests::write_then_read_1000"
"--skip=ip_pattern_matches"
];
cargoTestFlags = [
# Skip integration tests for the same reason
"--lib"
];
postInstall = ''
installBin $releaseDir/ip46tables $releaseDir/nft46
installManPage $releaseDir/reaction*.1
installShellCompletion --cmd reaction \
--bash $releaseDir/reaction.bash \
--fish $releaseDir/reaction.fish \
--zsh $releaseDir/_reaction
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Scan logs and take action: an alternative to fail2ban";
homepage = "https://framagit.org/ppom/reaction";
changelog = "https://framagit.org/ppom/reaction/-/releases/v${finalAttrs.version}";
license = lib.licenses.agpl3Plus;
mainProgram = "reaction";
maintainers = with lib.maintainers; [ ppom ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,29 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "reactphysics3d";
version = "0.10.2";
src = fetchFromGitHub {
owner = "DanielChappuis";
repo = "reactphysics3d";
rev = "v${finalAttrs.version}";
hash = "sha256-ZwV3mh/onlHPHeT6tky2CpawLZxEikY6hq4FVn6i5hI=";
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = "Open source C++ physics engine library";
homepage = "https://www.reactphysics3d.com";
changelog = "https://github.com/DanielChappuis/reactphysics3d/releases/tag/${finalAttrs.src.rev}";
maintainers = with maintainers; [ rexxDigital ];
license = licenses.zlib;
platforms = platforms.all;
};
})

View File

@@ -0,0 +1,22 @@
--- a/get-edid/classic.c
+++ b/get-edid/classic.c
@@ -26,7 +26,7 @@ typedef byte* real_ptr;
#define dosmemput(buffer,length,offset) memcpy(offset,buffer,length)
#define display(...) if (quiet == 0) { fprintf(stderr, __VA_ARGS__); }
-int quiet;
+extern int quiet;
real_ptr far_ptr_to_real_ptr( uint32 farptr )
{
--- a/get-edid/i2c.c
+++ b/get-edid/i2c.c
@@ -15,7 +15,7 @@
//Ideas (but not too much actual code) taken from i2c-tools. Thanks guys.
-int quiet;
+extern int quiet;
#define display(...) if (quiet == 0) { fprintf(stderr, __VA_ARGS__); }

View File

@@ -0,0 +1,39 @@
{
stdenv,
lib,
fetchurl,
cmake,
libx86,
}:
stdenv.mkDerivation rec {
pname = "read-edid";
version = "3.0.2";
src = fetchurl {
url = "http://www.polypux.org/projects/read-edid/${pname}-${version}.tar.gz";
sha256 = "0vqqmwsgh2gchw7qmpqk6idgzcm5rqf2fab84y7gk42v1x2diin7";
};
patches = [ ./fno-common.patch ];
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail 'COPYING' 'LICENSE'
# cmake 4 compatibility, upstream is dead
substituteInPlace CMakeLists.txt --replace-fail "cmake_minimum_required (VERSION 2.6)" "cmake_minimum_required (VERSION 3.10)"
'';
nativeBuildInputs = [ cmake ];
buildInputs = lib.optional stdenv.hostPlatform.isx86 libx86;
cmakeFlags = [ "-DCLASSICBUILD=${if stdenv.hostPlatform.isx86 then "ON" else "OFF"}" ];
meta = with lib; {
description = "Tool for reading and parsing EDID data from monitors";
homepage = "http://www.polypux.org/projects/read-edid/";
license = licenses.bsd2; # Quoted: "This is an unofficial license. Let's call it BSD-like."
maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitLab,
rustPlatform,
meson,
ninja,
pkg-config,
rustc,
cargo,
wrapGAppsHook4,
desktop-file-utils,
libxml2,
libadwaita,
openssl,
libsoup_3,
webkitgtk_6_0,
sqlite,
}:
stdenv.mkDerivation rec {
pname = "read-it-later";
version = "0.6.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "read-it-later";
tag = version;
hash = "sha256-ia65XGJonf/327o7L/862tOh04DOM2oXbKq86cCaVp4=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-mn3Jl5XEHYbCCFjLd8TBqtZKEdevH95IWKdgHwAtXk0=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
rustPlatform.cargoSetupHook
rustc
cargo
wrapGAppsHook4
desktop-file-utils
libxml2.bin # xmllint
];
buildInputs = [
libadwaita
openssl
libsoup_3
webkitgtk_6_0
sqlite
];
meta = {
description = "Simple Wallabag client with basic features to manage articles";
homepage = "https://gitlab.gnome.org/World/read-it-later";
changelog = "https://gitlab.gnome.org/World/read-it-later/-/releases/${src.tag}";
license = lib.licenses.gpl3Plus;
mainProgram = "read-it-later";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,148 @@
diff --git a/package-lock.json b/package-lock.json
index 094c6d9..fba3807 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,19 +1,19 @@
{
"name": "readability-cli",
- "version": "2.4.4",
+ "version": "2.4.5",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "readability-cli",
- "version": "2.4.4",
+ "version": "2.4.5",
"license": "GPL-3.0-only",
"dependencies": {
"@mozilla/readability": "^0.4.4",
- "dompurify": "^3.0.1",
- "jsdom": "^21.0.0",
+ "dompurify": "^3.0.5",
+ "jsdom": "^22.1.0",
"y18n": "^5.0.8",
- "yargs": "^17.7.1"
+ "yargs": "^17.7.2"
},
"bin": {
"readable": "index.js"
@@ -271,9 +271,13 @@
}
},
"node_modules/dompurify": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.1.tgz",
- "integrity": "sha512-60tsgvPKwItxZZdfLmamp0MTcecCta3avOhsLgPZ0qcWt96OasFfhkeIRbJ6br5i0fQawT1/RBGB5L58/Jpwuw=="
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
+ "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
+ "license": "(MPL-2.0 OR Apache-2.0)",
+ "optionalDependencies": {
+ "@types/trusted-types": "^2.0.7"
+ }
},
"node_modules/emoji-regex": {
"version": "8.0.0",
@@ -532,9 +536,10 @@
"dev": true
},
"node_modules/jsdom": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.1.tgz",
- "integrity": "sha512-Jjgdmw48RKcdAIQyUD1UdBh2ecH7VqwaXPN3ehoZN6MqgVbMn+lRm1aAT1AsdJRAJpwfa4IpwgzySn61h2qu3w==",
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz",
+ "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==",
+ "license": "MIT",
"dependencies": {
"abab": "^2.0.6",
"acorn": "^8.8.2",
@@ -549,7 +554,7 @@
"http-proxy-agent": "^5.0.0",
"https-proxy-agent": "^5.0.1",
"is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.2",
+ "nwsapi": "^2.2.4",
"parse5": "^7.1.2",
"rrweb-cssom": "^0.6.0",
"saxes": "^6.0.0",
@@ -564,7 +569,7 @@
"xml-name-validator": "^4.0.0"
},
"engines": {
- "node": ">=14"
+ "node": ">=16"
},
"peerDependencies": {
"canvas": "^2.5.0"
@@ -691,9 +696,10 @@
}
},
"node_modules/nwsapi": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz",
- "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw=="
+ "version": "2.2.20",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz",
+ "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==",
+ "license": "MIT"
},
"node_modules/optionator": {
"version": "0.8.3",
@@ -1198,9 +1204,10 @@
"dev": true
},
"node_modules/yargs": {
- "version": "17.7.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
- "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "license": "MIT",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -1423,9 +1430,12 @@
}
},
"dompurify": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.1.tgz",
- "integrity": "sha512-60tsgvPKwItxZZdfLmamp0MTcecCta3avOhsLgPZ0qcWt96OasFfhkeIRbJ6br5i0fQawT1/RBGB5L58/Jpwuw=="
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz",
+ "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==",
+ "requires": {
+ "@types/trusted-types": "^2.0.7"
+ }
},
"emoji-regex": {
"version": "8.0.0",
@@ -1611,9 +1621,9 @@
"dev": true
},
"jsdom": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.1.tgz",
- "integrity": "sha512-Jjgdmw48RKcdAIQyUD1UdBh2ecH7VqwaXPN3ehoZN6MqgVbMn+lRm1aAT1AsdJRAJpwfa4IpwgzySn61h2qu3w==",
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz",
+ "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==",
"requires": {
"abab": "^2.0.6",
"acorn": "^8.8.2",
@@ -2098,9 +2108,9 @@
"dev": true
},
"yargs": {
- "version": "17.7.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
- "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"requires": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
buildNpmPackage,
fetchFromGitLab,
installShellFiles,
nix-update-script,
}:
buildNpmPackage (finalAttrs: {
pname = "readability-cli";
version = "2.4.5";
src = fetchFromGitLab {
owner = "gardenappl";
repo = "readability-cli";
rev = "v${finalAttrs.version}";
hash = "sha256-fkXhAXbvCj5eRkPcv0Q7ryZeGdERI/lHHg64EDyK2F4=";
};
patches = [
./lockfile.patch
];
postPatch = ''
# Set a script name to avoid yargs using index.js as $0
substituteInPlace common.mjs \
--replace-fail '.version(false)' '.version(false).scriptName("readable")'
'';
npmDepsHash = "sha256-9sN1TgyOjgGLQsAlnI/fVbez7Oy2r6QwfaUTKyLQRVc=";
nativeBuildInputs = [ installShellFiles ];
dontNpmBuild = true;
postInstall = ''
installManPage readability-cli.1
''
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd readable \
--bash <(SHELL=bash $out/bin/readable --completion) \
--zsh <(SHELL=zsh $out/bin/readable --completion)
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Firefox Reader Mode in your terminal - get useful text from a web page using Mozilla's Readability library";
homepage = "https://gitlab.com/gardenappl/readability-cli";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ juliusfreudenberger ];
mainProgram = "readable";
};
})

View File

@@ -0,0 +1,29 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "readability-extractor";
version = "0.0.11";
src = fetchFromGitHub {
owner = "ArchiveBox";
repo = "readability-extractor";
tag = "v${version}";
hash = "sha256-QzxwPonPrCDdVYHZ9rEfw8ok56lVZE82VykrfkdFh5I=";
};
dontNpmBuild = true;
npmDepsHash = "sha256-F5lOGkhFlFVB8zTxrebWsPWRNfHgZ4Y2DqKED/z5riw=";
meta = with lib; {
homepage = "https://github.com/ArchiveBox/readability-extractor";
description = "Javascript wrapper around Mozilla Readability for ArchiveBox to call as a oneshot CLI to extract article text";
license = licenses.mit;
maintainers = with maintainers; [ viraptor ];
mainProgram = "readability-extractor";
};
}

View File

@@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchurl,
libmediainfo,
sqlite,
curl,
makeWrapper,
icu,
dotnet-runtime,
openssl,
nixosTests,
zlib,
}:
let
os = if stdenv.hostPlatform.isDarwin then "osx" else "linux";
arch =
{
x86_64-linux = "x64";
aarch64-linux = "arm64";
x86_64-darwin = "x64";
}
."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
hash =
{
x64-linux_hash = "sha256-hCqxH6xPLhA+V7reqsHi1EY2sU3HJ6ESMJiiWXrcUUE=";
arm64-linux_hash = "sha256-7NpH32tkEOYVyfwIBq9LCKAo0IQ1IehYfKi+qiBzf8o=";
x64-osx_hash = "sha256-ypzOWXxtzvOTgTmU7pQ1cS+FcyNCOo5R2Z4l5Mk+4wA=";
}
."${arch}-${os}_hash";
in
stdenv.mkDerivation rec {
pname = "readarr";
version = "0.4.18.2805";
src = fetchurl {
url = "https://github.com/Readarr/Readarr/releases/download/v${version}/Readarr.develop.${version}.${os}-core-${arch}.tar.gz";
sha256 = hash;
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/${pname}-${version}}
cp -r * $out/share/${pname}-${version}/.
makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Readarr \
--add-flags "$out/share/${pname}-${version}/Readarr.dll" \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
curl
sqlite
libmediainfo
icu
openssl
zlib
]
}
runHook postInstall
'';
passthru = {
updateScript = ./update.sh;
tests.smoke-test = nixosTests.readarr;
};
meta = {
description = "Usenet/BitTorrent ebook downloader";
homepage = "https://readarr.com";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [
jocelynthode
devusb
];
mainProgram = "Readarr";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
];
};
}

View File

@@ -0,0 +1,44 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused nix-prefetch jq
set -e
dirname="$(dirname "$0")"
updateHash()
{
version=$1
arch=$2
os=$3
hashKey="${arch}-${os}_hash"
url="https://github.com/Readarr/Readarr/releases/download/v$version/Readarr.develop.$version.$os-core-$arch.tar.gz"
hash=$(nix-prefetch-url --type sha256 $url)
sriHash="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 $hash)"
sed -i "s|$hashKey = \"[a-zA-Z0-9\/+-=]*\";|$hashKey = \"$sriHash\";|g" "$dirname/package.nix"
}
updateVersion()
{
sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/package.nix"
}
currentVersion=$(cd $dirname && nix eval --raw -f ../../../.. readarr.version)
# We cannot use the latest releases as in the past Readarr released old version with v2.0 and then went back to 0.1
latestTag=$(curl https://api.github.com/repos/Readarr/Readarr/releases | jq -r ".[0].tag_name")
latestVersion="$(expr $latestTag : 'v\(.*\)')"
if [[ "$currentVersion" == "$latestVersion" ]]; then
echo "Readarr is up-to-date: ${currentVersion}"
exit 0
fi
updateVersion $latestVersion
updateHash $latestVersion x64 linux
updateHash $latestVersion arm64 linux
updateHash $latestVersion x64 osx

View File

@@ -0,0 +1,96 @@
{
lib,
fetchFromGitea,
fetchNpmDeps,
buildGo125Module,
nodejs,
npmHooks,
python3,
}:
let
file-compose = buildGo125Module {
pname = "file-compose";
version = "unstable-2023-10-21";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "readeck";
repo = "file-compose";
rev = "afa938655d412556a0db74b202f9bcc1c40d8579";
hash = "sha256-rMANRqUQRQ8ahlxuH1sWjlGpNvbReBOXIkmBim/wU2o=";
};
vendorHash = "sha256-Qwixx3Evbf+53OFeS3Zr7QCkRMfgqc9hUA4eqEBaY0c=";
};
in
buildGo125Module rec {
pname = "readeck";
version = "0.20.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "readeck";
repo = "readeck";
tag = version;
hash = "sha256-7ZLEAMma0eLrcCbwbeK8EPDY1+ZOJy3i4Rz+obDsuko=";
};
nativeBuildInputs = [
nodejs
npmHooks.npmConfigHook
(python3.withPackages (ps: with ps; [ babel ]))
];
npmRoot = "web";
NODE_PATH = "$npmDeps";
preBuild = ''
make web-build
python3 locales/messages.py compile
${file-compose}/bin/file-compose -format json docs/api/api.yaml docs/assets/api.json
go run ./tools/docs docs/src docs/assets
'';
subPackages = [ "." ];
tags = [
"netgo"
"osusergo"
"sqlite_omit_load_extension"
"sqlite_foreign_keys"
"sqlite_json1"
"sqlite_fts5"
"sqlite_secure_delete"
];
ldflags = [
"-X"
"codeberg.org/readeck/readeck/configs.version=${version}"
];
overrideModAttrs = oldAttrs: {
# Do not add `npmConfigHook` to `goModules`
nativeBuildInputs = lib.remove npmHooks.npmConfigHook oldAttrs.nativeBuildInputs;
# Do not run `preBuild` when building `goModules`
preBuild = null;
};
npmDeps = fetchNpmDeps {
src = "${src}/web";
hash = "sha256-/imn3IoRh6aoQFNH0yMmgYNktfkN647H4KfpcVVC728=";
};
vendorHash = "sha256-8SdDuMsFKpEhJ3qnH/9nly54A/PJCCh5xIyKNLDs740=";
meta = {
description = "Web application that lets you save the readable content of web pages you want to keep forever";
mainProgram = "readeck";
homepage = "https://readeck.org/";
changelog = "https://codeberg.org/readeck/readeck/releases/tag/${version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ julienmalka ];
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule (finalAttrs: {
pname = "reader";
version = "0.5.0";
src = fetchFromGitHub {
owner = "mrusme";
repo = "reader";
tag = "v${finalAttrs.version}";
hash = "sha256-qu48ikqm4EmoeL9j67tGkX3EFBd1JdrLWhhmoElCoJY=";
};
vendorHash = "sha256-8IjN7hm5Rg9ItkxE9pbnkVr5t+tG95W9vvXyGaWmEIA=";
meta = {
description = "Lightweight tool offering better readability of web pages on the CLI";
homepage = "https://github.com/mrusme/reader";
changelog = "https://github.com/mrusme/reader/releases";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ theobori ];
mainProgram = "reader";
};
})

View File

@@ -0,0 +1,32 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "readerwriterqueue";
# Not using a stable version since this one produces
# readerwriterqueueConfig.cmake needed by dependent packages.
version = "1.0.6-2024-07-09";
src = fetchFromGitHub {
owner = "cameron314";
repo = "readerwriterqueue";
rev = "16b48ae1148284e7b40abf72167206a4390a4592";
hash = "sha256-m4cUIXiDFxTguDZ7d0svjlOSkUNYY0bbUp3t7adBwOo=";
};
nativeBuildInputs = [
cmake
];
meta = {
description = "Fast single-producer, single-consumer lock-free queue for C";
homepage = "https://github.com/cameron314/readerwriterqueue";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ doronbehar ];
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,108 @@
{
rustPlatform,
pnpm_9,
cargo-tauri,
nodejs,
pkg-config,
webkitgtk_4_1,
wrapGAppsHook3,
fetchFromGitHub,
gtk3,
librsvg,
openssl,
autoPatchelfHook,
lib,
nix-update-script,
moreutils,
jq,
gst_all_1,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "readest";
version = "0.9.82";
src = fetchFromGitHub {
owner = "readest";
repo = "readest";
tag = "v${finalAttrs.version}";
hash = "sha256-vdmWmSh0JqEAkgH9k3ZCjzBvUyNpt+ZH1uDtYiKHxRA=";
fetchSubmodules = true;
};
postUnpack = ''
# pnpm.configHook has to write to ../.., as our sourceRoot is set to apps/readest-app
chmod -R +w .
'';
sourceRoot = "${finalAttrs.src.name}/apps/readest-app";
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 1;
hash = "sha256-sRa1IO8JmMsA0/7dMuYF0as/MYHpclEwAknZIycNQ3Y=";
};
pnpmRoot = "../..";
cargoHash = "sha256-oNzgsxJb8N++AGCkXuJmK+51iF7XZ0xmShPlOpkAQEg=";
cargoRoot = "../..";
buildAndTestSubdir = "src-tauri";
postPatch = ''
substituteInPlace src-tauri/tauri.conf.json \
--replace-fail '"createUpdaterArtifacts": true' '"createUpdaterArtifacts": false' \
--replace-fail '"Readest"' '"readest"'
jq 'del(.plugins."deep-link")' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
substituteInPlace src/services/constants.ts \
--replace-fail "autoCheckUpdates: true" "autoCheckUpdates: false" \
--replace-fail "telemetryEnabled: true" "telemetryEnabled: false"
'';
nativeBuildInputs = [
cargo-tauri.hook
nodejs
pnpm_9.configHook
pkg-config
wrapGAppsHook3
autoPatchelfHook
moreutils
jq
];
buildInputs = [
webkitgtk_4_1
gtk3
librsvg
openssl
# TTS
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
];
preBuild = ''
pnpm setup-pdfjs
'';
preFixup = ''
gappsWrapperArgs+=(
--set-default WEBKIT_DISABLE_DMABUF_RENDERER 1
)
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Modern, feature-rich ebook reader";
homepage = "https://github.com/readest/readest";
changelog = "https://github.com/readest/readest/releases/tag/v${finalAttrs.version}";
mainProgram = "readest";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ eljamm ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,31 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "readexe";
version = "0.1.3";
src = fetchFromGitHub {
owner = "segin";
repo = "readexe";
tag = "v${finalAttrs.version}";
hash = "sha256-CT1EZQ3t7+5onmcUz5yGxDI24dyelUwYZFcL8YWZgPw=";
};
nativeBuildInputs = [ autoreconfHook ];
meta = with lib; {
description = "Reads out structural information on Microsoft .exe formats";
homepage = "https://github.com/segin/readexe";
license = with licenses; [
isc
bsd3
];
maintainers = [ ];
mainProgram = "readexe";
};
})

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchurl,
expat,
zlib,
validatePkgConfig,
}:
stdenv.mkDerivation rec {
pname = "readosm";
version = "1.1.0a";
src = fetchurl {
url = "https://www.gaia-gis.it/gaia-sins/readosm-${version}.tar.gz";
hash = "sha256-23wFHSVs7H7NTDd1q5vIINpaS/cv/U6fQLkR15dw8UU=";
};
nativeBuildInputs = [ validatePkgConfig ];
buildInputs = [
expat
zlib
];
enableParallelBuilding = true;
doCheck = true;
meta = with lib; {
description = "Open source library to extract valid data from within an Open Street Map input file";
homepage = "https://www.gaia-gis.it/fossil/readosm";
license = with licenses; [
mpl11
gpl2Plus
lgpl21Plus
];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
ncurses,
rtl-sdr,
zlib,
zstd,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "readsb";
version = "3.16.3";
src = fetchFromGitHub {
owner = "wiedehopf";
repo = "readsb";
tag = "v${finalAttrs.version}";
hash = "sha256-IjARj2qC1/kwoVvc5SXkJmoDN2m1fjPWj7jVgHG8cWI=";
};
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
ncurses
rtl-sdr
zlib
zstd
];
# remove version string magic that utilizes git and current time
postPatch = ''
sed --in-place '/^READSB_VERSION :=/d' Makefile
'';
enableParallelBuilding = true;
makeFlags = [
# set something for version, we removed the original value in postPatch
"READSB_VERSION=${finalAttrs.version}"
]
++ (lib.lists.optional (rtl-sdr != null) "RTLSDR=yes");
doCheck = true;
checkTarget = "cprtest";
# TODO there is a crctests target in Make, it describes how to compile ./crctests, but doesn't run
# it. Compilation also fails with:
#
# ld: /build/cc9NI2Fd.o: in function `malloc_or_exit':
# > /build/source/readsb.h:407:(.text+0xbad): undefined reference to `setExit'
#
# Comment this test in once this has been fixed upstream.
# postCheck = ''
# make crctests && ./crctests
# '';
installPhase = ''
runHook preInstall
mkdir --parent -- $out/bin
mv readsb viewadsb $out/bin
runHook postInstall
'';
meta = {
description = "ADS-B decoder swiss knife";
homepage = "https://github.com/wiedehopf/readsb";
license = with lib.licenses; [ gpl3Plus ];
maintainers = with lib.maintainers; [ wucke13 ];
platforms = lib.platforms.linux; # uses epoll, hence its linux only
};
})

View File

@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
pkg-config,
libtool,
}:
stdenv.mkDerivation rec {
pname = "readstat";
version = "1.1.9";
src = fetchFromGitHub {
owner = "WizardMac";
repo = "ReadStat";
rev = "v${version}";
sha256 = "sha256-4lRJgZPB2gfaQ9fQKvDDpGhy1eDNT/nT1QmeZlCmCis=";
};
patches = [
# Remove `gettext` requirement
# https://github.com/WizardMac/ReadStat/issues/341
(fetchpatch {
url = "https://github.com/WizardMac/ReadStat/pull/342/commits/b5512b32d3b3c39e2f0c322df1339a3c61f73712.patch";
hash = "sha256-k1yeplrx3pFPl5qzLfsAaj+qunv1BqOZypA05xSolaQ=";
})
# Add (void) to remove -Wstrict-prototypes warnings
(fetchpatch {
url = "https://github.com/WizardMac/ReadStat/commit/211c342a1cfe46fb7fb984730dd7a29ff4752f35.patch";
hash = "sha256-nkaEgusylVu7NtzSzBklBuOnqO9qJPovf0qn9tTE6ls=";
})
# Backport use-after-free:
# https://github.com/WizardMac/ReadStat/pull/298
(fetchpatch {
url = "https://github.com/WizardMac/ReadStat/commit/718d49155e327471ed9bf4a8c157f849f285b46c.patch";
hash = "sha256-9hmuFa05b4JlxSzquIxXArOGhbi27A+3y5gH1IDg+R0=";
})
];
nativeBuildInputs = [
pkg-config
autoreconfHook
libtool
];
enableParallelBuilding = true;
meta = {
homepage = "https://github.com/WizardMac/ReadStat";
description = "Command-line tool (+ C library) for converting SAS, Stata, and SPSS files";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ swflint ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "ready-check";
version = "1.2.6";
pyproject = true;
src = fetchFromGitHub {
owner = "sesh";
repo = "ready";
tag = "v${version}";
hash = "sha256-j0UY2Q1jYGRtjvaWMwgMJrNaQZQnEJ5ST4o4PAVYWVc=";
};
nativeBuildInputs = with python3.pkgs; [
setuptools
];
propagatedBuildInputs = with python3.pkgs; [
beautifulsoup4
thttp
tld
];
pythonImportsCheck = [
"ready"
];
meta = {
description = "Tool to check readiness of websites";
homepage = "https://github.com/sesh/ready";
changelog = "https://github.com/sesh/ready/releases/tag/v${version}";
license = lib.licenses.isc;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "ready";
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
perlPackages,
makeWrapper,
}:
stdenv.mkDerivation {
pname = "realTimeConfigQuickScan";
version = "0-unstable-2020-07-23";
src = fetchFromGitHub {
owner = "raboof";
repo = "realTimeConfigQuickScan";
rev = "4697ba093d43d512b74a73b89531cb8c5adaa274";
sha256 = "16kanzp5i353x972zjkwgi3m8z90wc58613mlfzb0n01djdnm6k5";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perlPackages.perl ];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mkdir -p $out/share/$pname
mkdir -p $out/share/doc/$pname
# Install Script Files:
# *.pm files
for i in *.pm; do
install -Dm 755 "$i" "$out/share/$pname/$i"
done
# Install doc files:
install -D COPYING "$out/share/doc/$pname/COPYING"
install -D README.md "$out/share/doc/$pname/README.md"
# Install Executable scripts:
install -Dm 755 realTimeConfigQuickScan.pl "$out/bin/realTimeConfigQuickScan"
install -Dm 755 QuickScan.pl "$out/bin/QuickScan"
runHook postInstall
'';
postFixup = ''
wrapProgram $out/bin/realTimeConfigQuickScan \
--set PERL5LIB "$out/share/$pname"
wrapProgram $out/bin/QuickScan \
--set PERL5LIB "$out/share/$pname:${with perlPackages; makePerlPath [ Tk ]}"
'';
meta = with lib; {
description = "Linux configuration checker for systems to be used for real-time audio";
homepage = "https://github.com/raboof/realtimeconfigquickscan";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ magnetophon ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,27 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dac535d..59f6e5b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -62,20 +62,13 @@ if(USE_SYSTEM_NCNN)
message(STATUS "Using glslang install located at ${GLSLANG_TARGET_DIR}")
find_package(Threads)
+ find_package(glslang REQUIRED)
+ find_package(SPIRV-Tools-opt REQUIRED)
- include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
- include("${GLSLANG_TARGET_DIR}/OGLCompilerTargets.cmake")
if(EXISTS "${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
# hlsl support can be optional
include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
endif()
- include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
- include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
-
- if (NOT TARGET glslang OR NOT TARGET SPIRV)
- message(WARNING "glslang or SPIRV target not found! USE_SYSTEM_NCNN will be turned off.")
- set(USE_SYSTEM_NCNN OFF)
- endif()
endif()
endif()

View File

@@ -0,0 +1,22 @@
diff --git a/main.cpp b/main.cpp
index bd78c99..75f162f 100644
--- a/main.cpp
+++ b/main.cpp
@@ -109,7 +109,7 @@ static void print_usage()
fprintf(stdout, " -s scale upscale ratio (1/2/3/4, default=2)\n");
fprintf(stdout, " -t tile-size tile size (>=32/0=auto, default=0) can be 0,0,0 for multi-gpu\n");
fprintf(stdout, " -c syncgap-mode sync gap mode (0/1/2/3, default=3)\n");
- fprintf(stdout, " -m model-path realcugan model path (default=models-se)\n");
+ fprintf(stdout, " -m model-path realcugan model path (default=REPLACE_MODELS)\n");
fprintf(stdout, " -g gpu-id gpu device to use (-1=cpu, default=auto) can be 0,1,2 for multi-gpu\n");
fprintf(stdout, " -j load:proc:save thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu\n");
fprintf(stdout, " -x enable tta mode\n");
@@ -442,7 +442,7 @@ int main(int argc, char** argv)
int noise = -1;
int scale = 2;
std::vector<int> tilesize;
- path_t model = PATHSTR("models-se");
+ path_t model = PATHSTR("REPLACE_MODELS");
std::vector<int> gpuid;
int jobs_load = 1;
std::vector<int> jobs_proc;

View File

@@ -0,0 +1,71 @@
{
lib,
stdenv,
fetchzip,
fetchFromGitHub,
cmake,
vulkan-headers,
vulkan-loader,
glslang,
libwebp,
ncnn,
}:
stdenv.mkDerivation rec {
pname = "realcugan-ncnn-vulkan";
version = "20220728";
src = fetchFromGitHub {
owner = "nihui";
repo = "realcugan-ncnn-vulkan";
rev = version;
hash = "sha256-P3Y1B8m1+mpFinacwnvBE2vU150jj6Q12IS6QYNRZ6A=";
};
sourceRoot = "${src.name}/src";
models = fetchzip {
url = "https://github.com/nihui/realcugan-ncnn-vulkan/releases/download/20220728/realcugan-ncnn-vulkan-20220728-ubuntu.zip";
sha256 = "sha256-71C6taL2Zr1exG5HEXOLy1j9ZMKgkMJjTgNi2hiA7xk=";
};
patches = [
./cmakelists.patch
./models_path.patch
];
cmakeFlags = [
(lib.cmakeBool "USE_SYSTEM_NCNN" true)
(lib.cmakeBool "USE_SYSTEM_WEBP" true)
(lib.cmakeFeature "GLSLANG_TARGET_DIR" "${glslang}/lib/cmake")
];
nativeBuildInputs = [ cmake ];
buildInputs = [
vulkan-headers
vulkan-loader
glslang
libwebp
ncnn
];
postPatch = ''
substituteInPlace main.cpp --replace REPLACE_MODELS $out/share/models-se
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share
cp realcugan-ncnn-vulkan $out/bin/
cp -r ${models}/models-{nose,pro,se} $out/share
runHook postInstall
'';
meta = with lib; {
description = "Real-cugan converter ncnn version, runs fast on intel / amd / nvidia / apple-silicon GPU with vulkan";
homepage = "https://github.com/nihui/realcugan-ncnn-vulkan";
license = licenses.mit;
maintainers = with maintainers; [ iynaix ];
mainProgram = "realcugan-ncnn-vulkan";
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,27 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1e7b71a..2ac2826 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -106,20 +106,13 @@ if(USE_SYSTEM_NCNN)
message(STATUS "Using glslang install located at ${GLSLANG_TARGET_DIR}")
find_package(Threads)
+ find_package(glslang REQUIRED)
+ find_package(SPIRV-Tools-opt REQUIRED)
- include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
- include("${GLSLANG_TARGET_DIR}/OGLCompilerTargets.cmake")
if(EXISTS "${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
# hlsl support can be optional
include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
endif()
- include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
- include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
-
- if (NOT TARGET glslang OR NOT TARGET SPIRV)
- message(WARNING "glslang or SPIRV target not found! USE_SYSTEM_NCNN will be turned off.")
- set(USE_SYSTEM_NCNN OFF)
- endif()
endif()
endif()

View File

@@ -0,0 +1,22 @@
diff --git a/main.cpp b/main.cpp
index ebe0e62..ef3a1ed 100644
--- a/main.cpp
+++ b/main.cpp
@@ -109,7 +109,7 @@ static void print_usage()
fprintf(stderr, " -o output-path output image path (jpg/png/webp) or directory\n");
fprintf(stderr, " -s scale upscale ratio (can be 2, 3, 4. default=4)\n");
fprintf(stderr, " -t tile-size tile size (>=32/0=auto, default=0) can be 0,0,0 for multi-gpu\n");
- fprintf(stderr, " -m model-path folder path to the pre-trained models. default=models\n");
+ fprintf(stderr, " -m model-path folder path to the pre-trained models. default=REPLACE_MODELS\n");
fprintf(stderr, " -n model-name model name (default=realesr-animevideov3, can be realesr-animevideov3 | realesrgan-x4plus | realesrgan-x4plus-anime | realesrnet-x4plus)\n");
fprintf(stderr, " -g gpu-id gpu device to use (default=auto) can be 0,1,2 for multi-gpu\n");
fprintf(stderr, " -j load:proc:save thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu\n");
@@ -438,7 +438,7 @@ int main(int argc, char** argv)
path_t outputpath;
int scale = 4;
std::vector<int> tilesize;
- path_t model = PATHSTR("models");
+ path_t model = PATHSTR("REPLACE_MODELS");
path_t modelname = PATHSTR("realesr-animevideov3");
std::vector<int> gpuid;
int jobs_load = 1;

View File

@@ -0,0 +1,80 @@
{
lib,
stdenv,
fetchzip,
fetchFromGitHub,
cmake,
vulkan-headers,
vulkan-loader,
glslang,
libwebp,
ncnn,
}:
stdenv.mkDerivation rec {
pname = "Real-ESRGAN-ncnn-vulkan";
version = "0.2.0";
src = fetchFromGitHub {
owner = "xinntao";
repo = "Real-ESRGAN-ncnn-vulkan";
rev = "v${version}";
sha256 = "sha256-F+NfkAbk8UtAKzsF42ppPF2UGjK/M6iFfBsRRBbCmcI=";
};
sourceRoot = "${src.name}/src";
models = fetchzip {
# Choose the newst release from https://github.com/xinntao/Real-ESRGAN/releases to update
url = "https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesrgan-ncnn-vulkan-20220424-ubuntu.zip";
stripRoot = false;
sha256 = "sha256-1YiPzv1eGnHrazJFRvl37+C1F2xnoEbN0UQYkxLT+JQ=";
};
patches = [
./cmakelists.patch
./models_path.patch
];
cmakeFlags = [
"-DUSE_SYSTEM_NCNN=1"
"-DUSE_SYSTEM_WEBP=1"
"-DGLSLANG_TARGET_DIR=${glslang}/lib/cmake"
];
nativeBuildInputs = [ cmake ];
buildInputs = [
vulkan-headers
vulkan-loader
glslang
libwebp
ncnn
];
postPatch = ''
substituteInPlace main.cpp --replace REPLACE_MODELS $out/share/models
'';
installPhase = ''
mkdir -p $out/bin $out/share
cp realesrgan-ncnn-vulkan $out/bin/
cp -r ${models}/models $out/share
'';
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
patchelf $out/bin/realesrgan-ncnn-vulkan --add-needed libvulkan.so
'';
meta = with lib; {
description = "NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration";
homepage = "https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan";
license = licenses.mit;
maintainers = with maintainers; [
tilcreator
iynaix
];
platforms = platforms.all;
mainProgram = "realesrgan-ncnn-vulkan";
};
}

View File

@@ -0,0 +1,36 @@
{
stdenvNoCC,
lib,
fetchurl,
unzip,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "realm-studio";
version = "15.2.1";
src = fetchurl {
url = "https://static.realm.io/downloads/realm-studio/Realm%20Studio-${finalAttrs.version}-mac.zip";
hash = "sha256-Vvc432P7VQxCVcS7i7JwOx7ByhX+Ea0Oz7ogvAH8Xoo=";
};
sourceRoot = ".";
nativeBuildInputs = [ unzip ];
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
cp -r "Realm Studio.app" $out/Applications/
runHook postInstall
'';
meta = {
description = "Visual tool to view, edit, and model Realm databases";
homepage = "https://www.mongodb.com/docs/atlas/device-sdks/studio/";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ matteopacini ];
platforms = lib.platforms.darwin;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})

View File

@@ -0,0 +1,36 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
nixosTests,
}:
rustPlatform.buildRustPackage rec {
pname = "realm";
version = "2.8.0";
src = fetchFromGitHub {
owner = "zhboner";
repo = "realm";
rev = "v${version}";
hash = "sha256-7hOy+bqWoVyI2xGJ0eY7GvyIYykr6VP8d3ZYtY/jGPI=";
};
cargoHash = "sha256-yR+ayseoUYpK9lUFRP0OLrp1+LUrtPnxiPRvjDFSNgo=";
env.RUSTC_BOOTSTRAP = 1;
passthru = {
updateScript = nix-update-script { };
tests = { inherit (nixosTests) realm; };
};
meta = with lib; {
description = "Simple, high performance relay server written in rust";
homepage = "https://github.com/zhboner/realm";
mainProgram = "realm";
license = licenses.mit;
maintainers = with maintainers; [ ocfox ];
};
}

View File

@@ -0,0 +1,80 @@
{
autoreconfHook,
fetchFromGitLab,
glib,
lib,
libkrb5,
nix-update-script,
openldap,
pkg-config,
polkit,
samba,
stdenv,
systemdLibs,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "realmd";
version = "0.17.1";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "realmd";
repo = "realmd";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-lmNlrXOOUSDk/8H/ge0IRA64bnau9nYUIkW6OyVxbBg=";
};
patches = [
# Remove unused tap driver/valgrind checks to make tests work
./remove-tap-driver.patch
];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
glib
libkrb5
openldap
polkit
samba
systemdLibs
];
configureFlags = [
"--sysconfdir=${placeholder "out"}/etc"
"--with-private-dir=${placeholder "out"}/lib/realmd"
"--with-systemd-unit-dir=${placeholder "out"}/lib/systemd/system"
# realmd doesn't fails without proper defaults and distro configuration files
# These settings will be overridden by the NixOS module
"--with-distro=redhat"
# Documentation is disabled
# We need to run gdbus-codegen & xmlto in **offline mode** to make it work
# See https://github.com/NixOS/nixpkgs/pull/301631
"--disable-doc"
];
hardeningDisable = [
# causes redefinition of _FORTIFY_SOURCE
"fortify3"
];
doCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://gitlab.freedesktop.org/realmd/realmd/-/blob/${finalAttrs.version}/NEWS";
description = "DBus service for configuring Kerberos and other online identities";
homepage = "https://gitlab.freedesktop.org/realmd/realmd";
license = lib.licenses.lgpl21Only;
mainProgram = "realm";
maintainers = [ lib.maintainers.anthonyroussel ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,40 @@
diff --git a/Makefile.am b/Makefile.am
index 1df20d1..b355d59 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -152,35 +152,6 @@ uninstall-doc:
@true
endif
-# ------------------------------------------------------------
-# Testing
-#
-
-LOG_DRIVER = $(top_srcdir)/build/tap-driver
-LOG_COMPILER = sh -c '"$$0" "$$@" --tap'
-
-VALGRIND_ARGS = --trace-children=no --quiet --error-exitcode=33 \
- --suppressions=valgrind-suppressions --gen-suppressions=all \
- --num-callers=16
-
-VALGRIND_SUPPRESSIONS = \
- build/glib.supp \
- $(NULL)
-
-valgrind-suppressions: $(VALGRIND_SUPPRESSIONS)
- $(AM_V_GEN) cat $^ > $@
-
-check-memory: valgrind-suppressions
- $(MAKE) LOG_FLAGS="-- libtool --mode=execute valgrind $(VALGRIND_ARGS)" \
- $(AM_MAKEFLAGS) check
-recheck-memory: valgrind-suppressions
- $(MAKE) LOG_FLAGS="-- libtool --mode=execute valgrind $(VALGRIND_ARGS)" \
- $(AM_MAKEFLAGS) recheck
-
-EXTRA_DIST += \
- $(LOG_DRIVER) \
- $(VALGRIND_SUPPRESSIONS) \
- $(NULL)
if WITH_COVERAGE
coverage:

View File

@@ -0,0 +1,29 @@
{
stdenvNoCC,
fetchurl,
undmg,
pname,
version,
meta,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname version meta;
src = fetchurl rec {
name = "VNC-Viewer-${finalAttrs.version}-MacOSX-universal.dmg";
url = "https://downloads.realvnc.com/download/file/viewer.files/${name}";
hash = "sha256-SiBlw9ihKDLDWBPUxn3cfM0jbUaWDxQ9JDaeDNczQ7c=";
};
sourceRoot = ".";
nativeBuildInputs = [ undmg ];
installPhase = ''
runHook preInstall
mkdir -p $out/Applications
cp -r *.app $out/Applications
runHook postInstall
'';
})

View File

@@ -0,0 +1,58 @@
{
stdenv,
fetchurl,
autoPatchelfHook,
rpmextract,
libX11,
libXext,
pname,
version,
meta,
}:
stdenv.mkDerivation (finalAttrs: {
inherit pname version;
src =
{
"x86_64-linux" = fetchurl rec {
name = "VNC-Viewer-${finalAttrs.version}-Linux-x64.rpm";
url = "https://downloads.realvnc.com/download/file/viewer.files/${name}";
hash = "sha256-fwMfQdOyLnYVfdBj80JHWT+CnKpq/9oM5oNF3aP+jgo=";
};
}
.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
nativeBuildInputs = [
autoPatchelfHook
rpmextract
];
buildInputs = [
libX11
libXext
stdenv.cc.cc.libgcc or null
];
unpackPhase = ''
rpmextract $src
'';
postPatch = ''
substituteInPlace ./usr/share/applications/realvnc-vncviewer.desktop \
--replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
substituteInPlace ./usr/share/mimelnk/application/realvnc-vncviewer-mime.desktop \
--replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
'';
installPhase = ''
runHook preInstall
mv usr $out
runHook postInstall
'';
meta = meta // {
mainProgram = "vncviewer";
};
})

View File

@@ -0,0 +1,30 @@
{
lib,
stdenv,
callPackage,
}:
let
pname = "realvnc-vnc-viewer";
version = "7.12.1";
meta = {
description = "VNC remote desktop client software by RealVNC";
homepage = "https://www.realvnc.com/en/connect/download/viewer/";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = {
fullName = "VNC Connect End User License Agreement";
url = "https://static.realvnc.com/media/documents/LICENSE-4.0a_en.pdf";
free = false;
};
maintainers = with lib.maintainers; [
emilytrau
onedragon
];
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
mainProgram = "vncviewer";
};
in
if stdenv.hostPlatform.isDarwin then
callPackage ./darwin.nix { inherit pname version meta; }
else
callPackage ./linux.nix { inherit pname version meta; }

View File

@@ -0,0 +1,32 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "reap";
version = "0.3-unreleased";
src = fetchFromGitHub {
owner = "leahneukirchen";
repo = "reap";
rev = "0e68d09804fb9ec82af37045fb37c2ceefa391d5";
hash = "sha256-4Bv7stW5PKcODQanup37YbiUWrEGR6BuSFXibAHmwn0=";
};
makeFlags = [ "PREFIX=${placeholder "out"}" ];
postInstall = ''
install -dm755 "$out/share/licenses/reap/"
'';
meta = with lib; {
homepage = "https://github.com/leahneukirchen/reap";
description = "Run process until all its spawned processes are dead";
mainProgram = "reap";
license = with licenses; [ publicDomain ];
platforms = platforms.linux;
maintainers = [ maintainers.leahneukirchen ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule (finalAttrs: {
pname = "reaper-go";
version = "0.2.3";
src = fetchFromGitHub {
owner = "ghostsecurity";
repo = "reaper";
tag = "v${finalAttrs.version}";
hash = "sha256-NXRqKO76RoxEvR7slMmUDdesRFMxDJpX/IGxoTDwJVU=";
};
vendorHash = "sha256-PxZ+fx5wkYuggMfpTfkc8quSssCzXdIcwjdR4qhDbqE=";
ldflags = [
"-s"
"-w"
"-X=github.com/ghostsecurity/reaper/version.Date=1970-01-01T00:00:00Z"
"-X=github.com/ghostsecurity/reaper/version.Version=${finalAttrs.version}"
];
meta = {
description = "Application security testing framework";
homepage = "https://github.com/ghostsecurity/reaper";
changelog = "https://github.com/ghostsecurity/reaper/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "reaper";
};
})

View File

@@ -0,0 +1,36 @@
{
stdenvNoCC,
fetchurl,
pname,
version,
meta,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
inherit
pname
version
meta
;
src = fetchurl {
url =
let
arch = if stdenvNoCC.hostPlatform.system == "x86_64-darwin" then "x86_64" else "arm64";
in
"https://github.com/cfillion/reapack/releases/download/v${finalAttrs.version}/reaper_reapack-${arch}.dylib";
hash =
{
x86_64-darwin = "sha256-slLzjIWpEzOn4GAcRwb6WdJSVExuQK0cVgHgd7qM4oE=";
aarch64-darwin = "sha256-eFKEUuTUWE4Wp/vWVrvTbK78U6TicvRXSWggVAH2Og4=";
}
.${stdenvNoCC.hostPlatform.system};
};
dontUnpack = true;
installPhase = ''
runHook preInstall
install -D * -t $out/UserPlugins
runHook postInstall
'';
})

View File

@@ -0,0 +1,57 @@
{
boost,
catch2_3,
cmake,
curl,
fetchFromGitHub,
git,
libxml2,
openssl,
php,
ruby,
sqlite,
stdenv,
zlib,
pname,
version,
meta,
}:
stdenv.mkDerivation (finalAttrs: {
inherit
pname
version
meta
;
src = fetchFromGitHub {
owner = "cfillion";
repo = "reapack";
tag = "v${finalAttrs.version}";
hash = "sha256-RhXAjTNAJegeCJaYkvwJedZrXRA92dQ0EeHJr9ngeCg=";
fetchSubmodules = true;
};
strictDeps = true;
nativeBuildInputs = [
cmake
git
php
ruby
];
buildInputs = [
boost
catch2_3
curl
libxml2
openssl
sqlite
zlib
];
cmakeFlags = [ "-Wno-dev" ];
})

View File

@@ -0,0 +1,27 @@
{
lib,
stdenvNoCC,
callPackage,
}:
let
p = if stdenvNoCC.hostPlatform.isDarwin then ./darwin.nix else ./linux.nix;
in
callPackage p {
pname = "reaper-reapack-extension";
version = "1.2.5";
meta = {
description = "Package manager for REAPER";
homepage = "https://reapack.com/";
license = with lib.licenses; [
lgpl3Plus
gpl3Plus
];
maintainers = with lib.maintainers; [ pancaek ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
}

View File

@@ -0,0 +1,52 @@
{
stdenvNoCC,
fetchurl,
pname,
version,
meta,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
inherit
pname
version
meta
;
srcs =
let
plugin = fetchurl {
url =
let
arch = if stdenvNoCC.hostPlatform.system == "x86_64-darwin" then "x86_64" else "arm64";
in
"https://github.com/reaper-oss/sws/releases/download/v${finalAttrs.version}/reaper_sws-${arch}.dylib";
hash =
{
x86_64-darwin = "sha256-B185QWS9FaC/0XDhxUBbgr9zu2Ot8OIsfaPQ3sUHh4s=";
aarch64-darwin = "sha256-8gbyPlnIXdWtSD+Aj70xzacJhO34edTTG2IOryB67os=";
}
.${stdenvNoCC.hostPlatform.system};
};
in
[
plugin
(fetchurl {
url = "https://github.com/reaper-oss/sws/releases/download/v${finalAttrs.version}/sws_python64.py";
hash = "sha256-Yujj60+jOEfdSZ74cRU1Wxoh7RL2fo/IhJIpa+BDYV0=";
})
(fetchurl {
url = "https://github.com/reaper-oss/sws/releases/download/v${finalAttrs.version}/sws_python32.py";
hash = "sha256-QktzdIDpTvNs9IrH7TOI6LTIBkfuQ3cqw06iqLxSSTI=";
})
];
dontUnpack = true;
installPhase = ''
runHook preInstall
install -D *.py -t $out/Scripts
install -D *.dylib -t $out/UserPlugins
runHook postInstall
'';
})

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
php,
perl,
git,
pkg-config,
gtk3,
pname,
version,
meta,
}:
stdenv.mkDerivation (finalAttrs: {
inherit pname version meta;
src = fetchFromGitHub {
owner = "reaper-oss";
repo = "sws";
tag = "v${finalAttrs.version}";
hash = "sha256-37pBbNACQuuEk1HJTiUHdb0mDiR2+ZsEQUOhz7mrPPg=";
fetchSubmodules = true;
};
strictDeps = true;
nativeBuildInputs = [
cmake
git
perl
php
pkg-config
];
buildInputs = [ gtk3 ];
})

View File

@@ -0,0 +1,29 @@
{
lib,
stdenvNoCC,
callPackage,
}:
let
p = if stdenvNoCC.hostPlatform.isDarwin then ./darwin.nix else ./linux.nix;
in
callPackage p {
pname = "reaper-sws-extension";
version = "2.14.0.3";
meta = {
description = "Reaper Plugin Extension";
longDescription = ''
The SWS / S&M extension is a collection of features that seamlessly integrate into REAPER, the Digital Audio Workstation (DAW) software by Cockos, Inc.
It is a collaborative and open source project.
'';
homepage = "https://www.sws-extension.org/";
maintainers = with lib.maintainers; [ pancaek ];
license = lib.licenses.mit;
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
}:
rustPlatform.buildRustPackage rec {
pname = "reason";
version = "0.3.10";
src = fetchFromGitHub {
owner = "jaywonchung";
repo = "reason";
rev = "v${version}";
hash = "sha256-oytRquZJgb1sfpZil1bSGwIIvm+5N4mkVmIMzWyzDco=";
};
cargoHash = "sha256-LXVP8cAbPCPCE3DNBX2znyFn/E/cN2civX0qT0B5FVw=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
openssl
];
meta = with lib; {
description = "Shell for research papers";
mainProgram = "reason";
homepage = "https://github.com/jaywonchung/reason";
changelog = "https://github.com/jaywonchung/reason/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
stdenv,
fetchFromGitHub,
libpcap,
pixiewps,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "reaver-wps-t6x";
version = "1.6.6";
src = fetchFromGitHub {
owner = "t6x";
repo = "reaver-wps-fork-t6x";
rev = "v${version}";
sha256 = "sha256-7g4ZRkyu0TIOUw68dSPP4RyIRyeq1GgUMYFVSQB8/1I=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
libpcap
pixiewps
];
sourceRoot = "${src.name}/src";
meta = with lib; {
description = "Online and offline brute force attack against WPS";
homepage = "https://github.com/t6x/reaver-wps-fork-t6x";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ nico202 ];
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
stdenv,
fetchurl,
libpcap,
sqlite,
makeWrapper,
}:
stdenv.mkDerivation rec {
version = "1.4";
pname = "reaver-wps";
confdir = "/var/db/${pname}-${version}"; # the sqlite database is at "${confdir}/reaver/reaver.db"
src = fetchurl {
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/reaver-wps/reaver-${version}.tar.gz";
sha256 = "0bdjai4p8xbsw8zdkkk43rgsif79x0nyx4djpyv0mzh59850blxd";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
libpcap
sqlite
];
# Workaround build failure on -fno-common toolchains:
# ld: crypto/dh_groups.o:src/crypto/../globule.h:141: multiple definition of
# `globule'; /build/ccrzO6vA.o:src/globule.h:141: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
setSourceRoot = ''
sourceRoot=$(echo */src)
'';
configureFlags = [ "--sysconfdir=${confdir}" ];
installPhase = ''
mkdir -p $out/{bin,etc}
cp reaver.db $out/etc/
cp reaver wash $out/bin/
wrapProgram $out/bin/reaver --run "[ -s ${confdir}/reaver/reaver.db ] || install -D $out/etc/reaver.db ${confdir}/reaver/reaver.db"
wrapProgram $out/bin/wash --run "[ -s ${confdir}/reaver/reaver.db ] || install -D $out/etc/reaver.db ${confdir}/reaver/reaver.db"
'';
enableParallelBuilding = true;
patches = [ ./parallel-build.patch ];
meta = with lib; {
description = "Brute force attack against Wifi Protected Setup";
homepage = "https://code.google.com/archive/p/reaver-wps/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ nico202 ];
};
}

View File

@@ -0,0 +1,11 @@
--- src/Makefile.in 2012-01-18 10:02:40.000000000 +0100
+++ src/Makefile.in 2022-01-27 19:29:19.324662149 +0100
@@ -63,7 +63,7 @@
80211.o: globule.o sql.o builder.o crc.o
$(CC) $(CFLAGS) $(INC) 80211.c -c
-iface.o: globule.o
+iface.o: globule.o libiw
$(CC) $(CFLAGS) iface.c -c
sigalrm.o: globule.o

View File

@@ -0,0 +1,25 @@
diff --git a/assets/data/stream_data.json b/assets/data/stream_data.json
index c049ec7..fe51488 100644
--- a/assets/data/stream_data.json
+++ b/assets/data/stream_data.json
@@ -1,18 +1 @@
-[
- {
- "name": "Radio Frittura",
- "url_string": "https://radio.frittura.org/frittura.ogg"
- },
- {
- "name": "Matt Johnson radio",
- "url_string": "https://us2.internet-radio.com/proxy/mattjohnsonradio?mp=/stream"
- },
- {
- "name" : "Lofi 24/7",
- "url_string": "http://usa9.fastcast4u.com/proxy/jamz?mp=/1"
- },
- {
- "name" : "Radio Sarajevo",
- "url_string": "https://cast2.asurahosting.com/proxy/balkanhi/stream"
- }
-]
\ No newline at end of file
+[]

View File

@@ -0,0 +1,78 @@
{
stdenv,
lib,
fetchFromGitHub,
rustPlatform,
cmake,
pkg-config,
alsa-lib,
nix-update-script,
writableTmpDirAsHomeHook,
versionCheckHook,
withRadio ? false,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rebels-in-the-sky";
version = "1.0.31";
src = fetchFromGitHub {
owner = "ricott1";
repo = "rebels-in-the-sky";
tag = "v${finalAttrs.version}";
hash = "sha256-0/Vsb6GMl0XH7uxyFSUO18kKoz49MXbOEQChhZZJL24=";
};
cargoHash = "sha256-DI6BAfbIEGCq3GaBoQz/nn9AZYWUDWBD2osgm1K44+w=";
patches = lib.optionals (!withRadio) [
./disable-radio.patch
];
nativeBuildInputs = [
cmake
pkg-config
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
rustPlatform.bindgenHook
];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ alsa-lib ];
nativeCheckInputs = [
# Save system tests write to home dir
writableTmpDirAsHomeHook
];
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/rebels";
versionCheckProgramArg = "--version";
# Darwin: "Error: Operation not permitted (os error 1)"
doInstallCheck = !stdenv.hostPlatform.isDarwin;
passthru.updateScript = nix-update-script { };
meta = {
description = "P2P terminal game about spacepirates playing basketball across the galaxy";
longDescription = ''
It's the year 2101. Corporations have taken over the world. The only way to be free is
to join a pirate crew and start plundering the galaxy. The only means of survival is
to play basketball.
Now it's your turn to go out there and make a name for yourself. Create your crew and
start wandering the galaxy in search of worthy basketball opponents.
'';
homepage = "https://frittura.org/";
changelog = "https://github.com/ricott1/rebels-in-the-sky/releases/tag/v${finalAttrs.version}";
license =
with lib.licenses;
[ gpl3Only ]
# The original game soundtrack was generated using AI so its licensing is unclear.
# I couldn't find licensing information regarding other radio stations, so I'm
# assuming they're nonfree.
++ lib.optionals withRadio [ unfree ];
maintainers = with lib.maintainers; [ marcin-serwin ];
mainProgram = "rebels";
};
})

View File

@@ -0,0 +1,119 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
shared-mime-info,
installShellFiles,
scdoc,
bzip2,
openssl,
sqlite,
xz,
zstd,
stdenv,
buildPackages,
versionCheckHook,
nixosTests,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rebuilderd";
version = "0.25.0";
src = fetchFromGitHub {
owner = "kpcyrd";
repo = "rebuilderd";
tag = "v${finalAttrs.version}";
hash = "sha256-BuL9s3ewZ1NvR9GG51TVrAncB0PR78Wuw8by+loSP8Q=";
};
postPatch = ''
substituteInPlace tools/src/args.rs \
--replace-fail "/etc/rebuilderd-sync.conf" '${placeholder "out"}/etc/rebuilderd-sync.conf'
substituteInPlace worker/src/config.rs \
--replace-fail 'from("/etc/rebuilderd-worker.conf")' 'from("${placeholder "out"}/etc/rebuilderd-worker.conf")'
substituteInPlace worker/src/proc.rs \
--replace-fail '/bin/echo' 'echo'
'';
cargoHash = "sha256-4M5uWgksYsV8PGe0zn9ADv06q3Ga/GVoQ8HjS7GCnwo=";
nativeBuildInputs = [
pkg-config
installShellFiles
scdoc
];
buildInputs = [
bzip2
openssl
shared-mime-info
sqlite
xz
zstd
];
postInstall =
let
emulator = stdenv.hostPlatform.emulator buildPackages;
in
''
mkdir -p $out/etc
# install config files
install -Dm 644 -t "$out/etc" contrib/confs/rebuilderd-sync.conf
install -Dm 640 -t "$out/etc" contrib/confs/rebuilderd-worker.conf contrib/confs/rebuilderd.conf
installShellCompletion --cmd rebuildctl \
--bash <(${emulator} $out/bin/rebuildctl completions bash) \
--fish <(${emulator} $out/bin/rebuildctl completions fish) \
--zsh <(${emulator} $out/bin/rebuildctl completions zsh)
for f in contrib/docs/*.scd; do
local page="contrib/docs/$(basename "$f" .scd)"
scdoc < "$f" > "$page"
installManPage "$page"
done
'';
checkFlags = [
# Failing tests
"--skip=decompress::tests::decompress_bzip2_compression"
"--skip=decompress::tests::decompress_gzip_compression"
"--skip=decompress::tests::decompress_xz_compression"
"--skip=decompress::tests::decompress_zstd_compression"
"--skip=decompress::tests::detect_bzip2_compression"
"--skip=decompress::tests::detect_gzip_compression"
"--skip=decompress::tests::detect_xz_compression"
"--skip=decompress::tests::detect_zstd_compression"
"--skip=proc::tests::hello_world"
"--skip=proc::tests::size_limit_kill"
"--skip=proc::tests::size_limit_no_kill"
"--skip=proc::tests::size_limit_no_kill_but_timeout"
"--skip=proc::tests::timeout"
];
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.tests = {
rebuilderd = nixosTests.rebuilderd;
};
passthru.updateScript = nix-update-script { };
meta = {
description = "Independent verification of binary packages - reproducible builds";
homepage = "https://github.com/kpcyrd/rebuilderd";
license = lib.licenses.gpl3Plus;
maintainers = [ ];
mainProgram = "rebuilderd";
};
})

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchurl,
buildFHSEnv,
}:
let
version = "0.8.1";
jar = fetchurl {
url = "https://github.com/Col-E/Recaf-Launcher/releases/download/${version}/recaf-gui-${version}.jar";
hash = "sha256-RHsI8z/orwR9b9s+LrrOHpxpr82J6YOpnfik3dnlsvI=";
};
in
buildFHSEnv {
pname = "recaf-launcher";
inherit version;
targetPkgs =
p: with p; [
jar
openjdk23
xorg.libX11
at-spi2-atk
cairo
gdk-pixbuf
glib
gtk3
pango
xorg.libXtst
xorg.libX11
xorg_sys_opengl
];
runScript = "java -jar ${jar}";
meta = {
description = "Simple launcher for Recaf 4.X and above - a modern Java bytecode editor";
homepage = "https://recaf.coley.software";
changelog = "https://github.com/Col-E/Recaf-Launcher/releases/tag/${version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ tudbut ];
mainProgram = "recaf-launcher";
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
};
}

View File

@@ -0,0 +1,88 @@
{
lib,
python3,
fetchFromGitHub,
appstream-glib,
desktop-file-utils,
gettext,
glib,
gobject-introspection,
gtk3,
gst_all_1,
libnotify,
librsvg,
meson,
ninja,
pkg-config,
slop,
wrapGAppsHook3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "recapp";
version = "1.1.1";
format = "other";
src = fetchFromGitHub {
owner = "amikha1lov";
repo = "RecApp";
rev = "v${version}";
sha256 = "08bpfcqgw0lj6j7y5b2i18kffawlzp6pfk4wdpmk29vwmgk9s9yc";
};
postPatch = ''
patchShebangs build-aux/meson
'';
nativeBuildInputs = [
appstream-glib
desktop-file-utils
gettext
glib
gtk3
meson
ninja
pkg-config
wrapGAppsHook3
gobject-introspection
];
buildInputs = [
libnotify
librsvg
gtk3
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
];
propagatedBuildInputs = with python3.pkgs; [
pulsectl
pydbus
pygobject3
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
"--prefix" "PATH" ":" "${
lib.makeBinPath [
gst_all_1.gstreamer.dev
slop
]
}"
)
'';
meta = with lib; {
description = "User friendly Open Source screencaster for Linux written in GTK";
homepage = "https://github.com/amikha1lov/RecApp";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dotlambda ];
mainProgram = "recapp";
};
}

View File

@@ -0,0 +1,51 @@
{
stdenv,
lib,
fetchFromGitHub,
cmake,
libGL,
SDL2,
libGLU,
catch2_3,
}:
stdenv.mkDerivation {
pname = "recastai";
# use latest revision for CMake v4
# OpenMW use e75adf86f91eb3082220085e42dda62679f9a3ea
version = "unstable-2025-08-12";
src = fetchFromGitHub {
owner = "recastnavigation";
repo = "recastnavigation";
rev = "40ec6fcd6c0263a3d7798452aee531066072d15d";
hash = "sha256-4flJMJsuCecpHDtgAsnDU7WoAtUg/XJfRXx096Zw6bE=";
};
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
# Expects SDL2.framework in specific location, which we don't have
# Change where SDL2 headers are searched for to match what we do have
substituteInPlace RecastDemo/CMakeLists.txt \
--replace 'include_directories(''${SDL2_LIBRARY}/Headers)' 'include_directories(${lib.getInclude SDL2}/include/SDL2)'
'';
doCheck = true;
nativeBuildInputs = [ cmake ];
checkInputs = [ catch2_3 ];
buildInputs = [
libGL
SDL2
libGLU
];
meta = {
homepage = "https://github.com/recastnavigation/recastnavigation";
description = "Navigation-mesh Toolset for Games";
mainProgram = "RecastDemo";
license = lib.licenses.zlib;
maintainers = with lib.maintainers; [ marius851000 ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'reckon'

View File

@@ -0,0 +1,25 @@
GEM
remote: https://rubygems.org/
specs:
abbrev (0.1.2)
chronic (0.10.2)
csv (3.3.5)
highline (2.1.0)
matrix (0.4.2)
rchardet (1.8.0)
reckon (0.11.1)
abbrev (> 0.1)
chronic (>= 0.3.0)
csv (> 0.1)
highline (~> 2.0)
matrix (>= 0.4.2)
rchardet (= 1.8.0)
PLATFORMS
ruby
DEPENDENCIES
reckon
BUNDLED WITH
2.6.6

View File

@@ -0,0 +1,80 @@
{
abbrev = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0hj2qyx7rzpc7awhvqlm597x7qdxwi4kkml4aqnp5jylmsm4w6xd";
type = "gem";
};
version = "0.1.2";
};
chronic = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
type = "gem";
};
version = "0.10.2";
};
csv = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0gz7r2kazwwwyrwi95hbnhy54kwkfac5swh2gy5p5vw36fn38lbf";
type = "gem";
};
version = "3.3.5";
};
highline = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn";
type = "gem";
};
version = "2.1.0";
};
matrix = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i";
type = "gem";
};
version = "0.4.2";
};
rchardet = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1isj1b3ywgg2m1vdlnr41lpvpm3dbyarf1lla4dfibfmad9csfk9";
type = "gem";
};
version = "1.8.0";
};
reckon = {
dependencies = [
"abbrev"
"chronic"
"csv"
"highline"
"matrix"
"rchardet"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1y4iqjmgzj9nrp22pmayia54mpb4d6ga85q9xzqir7mhcd2bdca1";
type = "gem";
};
version = "0.11.1";
};
}

View File

@@ -0,0 +1,52 @@
{
stdenv,
lib,
bundlerEnv,
bundlerUpdateScript,
makeWrapper,
file,
testers,
reckon,
}:
stdenv.mkDerivation rec {
pname = "reckon";
version = (import ./gemset.nix).reckon.version;
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase =
let
env = bundlerEnv {
name = "${pname}-${version}-gems";
gemdir = ./.;
};
in
''
runHook preInstall
mkdir -p $out/bin
makeWrapper ${env}/bin/reckon $out/bin/reckon \
--prefix PATH : ${lib.makeBinPath [ file ]}
runHook postInstall
'';
passthru = {
tests.version = testers.testVersion {
package = reckon;
version = "${version}";
};
updateScript = bundlerUpdateScript "reckon";
};
meta = with lib; {
description = "Flexibly import bank account CSV files into Ledger for command line accounting";
mainProgram = "reckon";
license = licenses.mit;
maintainers = with maintainers; [ nicknovitski ];
platforms = platforms.unix;
changelog = "https://github.com/cantino/reckon/blob/v${version}/CHANGELOG.md";
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
vala,
wrapGAppsHook4,
libgee,
live-chart,
ryokucha,
pantheon,
gst_all_1,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "reco";
version = "5.0.2";
src = fetchFromGitHub {
owner = "ryonakano";
repo = "reco";
rev = finalAttrs.version;
hash = "sha256-uZAcZJLQH0MTI4NSJnZvzYPBFVXGBqAhsjVLAVP/ZwI=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
vala
wrapGAppsHook4
];
buildInputs = [
libgee
live-chart
ryokucha
pantheon.granite7
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-libav
];
mesonFlags = [ (lib.mesonBool "use_submodule" false) ];
meta = {
description = "Audio recorder focused on being concise and simple to use";
homepage = "https://github.com/ryonakano/reco";
license = lib.licenses.gpl3Plus;
mainProgram = "com.github.ryonakano.reco";
maintainers = with lib.maintainers; [ aleksana ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchurl,
python3Packages,
flex,
texinfo,
libiconv,
libintl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "recode";
version = "3.7.14";
# Use official tarball, avoid need to bootstrap/generate build system
src = fetchurl {
url = "https://github.com/rrthomas/recode/releases/download/v${finalAttrs.version}/recode-${finalAttrs.version}.tar.gz";
hash = "sha256-eGqv1USFGisTsKN36sFQD4IM5iYVzMLmMLUB53Q7nzM=";
};
nativeBuildInputs = [
python3Packages.python
flex
texinfo
libiconv
];
buildInputs = [ libintl ];
enableParallelBuilding = true;
doCheck = true;
nativeCheckInputs = with python3Packages; [
cython
setuptools
];
meta = {
homepage = "https://github.com/rrthomas/recode";
description = "Converts files between various character sets and usages";
mainProgram = "recode";
changelog = "https://github.com/rrthomas/recode/raw/v${finalAttrs.version}/NEWS";
platforms = lib.platforms.unix;
license = with lib.licenses; [
lgpl3Plus
gpl3Plus
];
maintainers = with lib.maintainers; [ jcumming ];
};
})

View File

@@ -0,0 +1,71 @@
{
lib,
fetchFromGitHub,
python3,
replaceVars,
fetchpatch,
}:
python3.pkgs.buildPythonApplication rec {
pname = "recon-ng";
version = "5.1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "lanmaster53";
repo = "recon-ng";
tag = "v${version}";
hash = "sha256-W7pL4Rl86i881V53SAwECAMp2Qj/azPM3mdvxvt+gjc=";
};
build-system = [
python3.pkgs.setuptools
];
dependencies = with python3.pkgs; [
pyyaml
dnspython
lxml
mechanize
requests
flask
flask-restful
flasgger
dicttoxml
xlsxwriter
unicodecsv
rq
];
patches = [
# Support python 3.12
# https://github.com/lanmaster53/recon-ng/pull/218
# This is merged and can be removed when updating
(fetchpatch {
name = "fix_python12.patch";
url = "https://github.com/lanmaster53/recon-ng/commit/e31c30e5c314cbc5e57a13f9d3ddf29afafc4cb3.patch";
hash = "sha256-e8BTRkwb42mTTwivZ0sTxVw1hnYCUVInmy91jyVc/tw=";
})
];
postPatch =
let
setup = replaceVars ./setup.py {
inherit pname version;
};
in
''
ln -s ${setup} setup.py
'';
postInstall = ''
cp VERSION $out/${python3.sitePackages}/
cp -R recon/core/web/{definitions.yaml,static,templates} $out/${python3.sitePackages}/recon/core/web/
'';
meta = {
description = "Full-featured framework providing a powerful environment to conduct web-based reconnaissance";
license = lib.licenses.gpl3Only;
homepage = "https://github.com/lanmaster53/recon-ng/";
maintainers = with lib.maintainers; [ gamedungeon ];
};
}

View File

@@ -0,0 +1,25 @@
from setuptools import setup
setup(
name='@pname@',
version='@version@',
install_requires=[
"pyyaml",
"dnspython",
"lxml",
"mechanize",
"requests",
"flask",
"flask-restful",
"flasgger",
"dicttoxml",
"xlsxwriter",
"unicodecsv",
"rq"
],
scripts=[
'recon-ng',
"recon-cli",
"recon-web"
],
)

View File

@@ -0,0 +1,126 @@
{
lib,
stdenv,
appstream-glib,
blueprint-compiler,
cargo,
dbus,
desktop-file-utils,
fetchFromGitea,
glib,
glycin-loaders,
gst_all_1,
gtk4,
hicolor-icon-theme,
lcms2,
libadwaita,
libseccomp,
libxml2,
meson,
ninja,
nix-update-script,
pkg-config,
rustPlatform,
rustc,
sqlite,
wrapGAppsHook4,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "recordbox";
version = "0.10.4";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "edestcroix";
repo = "Recordbox";
tag = "v${finalAttrs.version}";
hash = "sha256-9rrVlD+ODl+U9bPzbXGLQBLkbnfAm4SmJHRcVife33A=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-W60X69/fEq/X6AK1sbT6rb+SsF/oPzfUvrar0fihr88=";
};
strictDeps = true;
nativeBuildInputs = [
appstream-glib # For `appstream-util`
blueprint-compiler
cargo
desktop-file-utils # For `desktop-file-validate`
glib # For `glib-compile-schemas`
gtk4 # For `gtk-update-icon-cache`
libxml2 # For `xmllint`
meson
ninja
pkg-config
rustPlatform.cargoCheckHook
rustPlatform.cargoSetupHook
rustc
wrapGAppsHook4
];
buildInputs = [
dbus
gtk4
hicolor-icon-theme
lcms2
libadwaita
libseccomp
sqlite
]
++ (with gst_all_1; [
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-rs
gst-plugins-ugly
gstreamer
]);
mesonBuildType = "release";
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
cargoCheckType = if (finalAttrs.mesonBuildType != "debug") then "release" else "debug";
# Workaround copied from https://github.com/NixOS/nixpkgs/blob/e39fe935fc7537bee0440935c12f5c847735a291/pkgs/by-name/lo/loupe/package.nix#L60-L74
preConfigure = ''
# Dirty approach to add patches after cargoSetupPostUnpackHook
# We should eventually use a cargo vendor patch hook instead
pushd ../$(stripHash $cargoDeps)/glycin-2.*
patch -p3 < ${glycin-loaders.passthru.glycinPathsPatch}
popd
'';
preFixup = ''
# Needed for the glycin crate to find loaders.
# https://gitlab.gnome.org/sophie-h/glycin/-/blob/0.1.beta.2/glycin/src/config.rs#L44
gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${glycin-loaders}/share"
)
'';
checkPhase = ''
runHook preCheck
mesonCheckPhase
cargoCheckHook
runHook postCheck
'';
passthru = {
updateScript = nix-update-script { extraArgs = [ "--generate-lockfile" ]; };
};
meta = {
description = "Relatively simple music player";
homepage = "https://codeberg.org/edestcroix/Recordbox";
changelog = "https://codeberg.org/edestcroix/Recordbox/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ getchoo ];
mainProgram = "recordbox";
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,121 @@
From 9b46e151b9fdaf5684618482e69ef4a307c0d47c Mon Sep 17 00:00:00 2001
From: annalee <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
Date: Sun, 18 Feb 2024 19:54:21 +0000
Subject: [PATCH] darwin build fixes
---
compat.h | 14 ++++++++++++++
dev.c | 1 +
error.c | 1 +
io.c | 1 +
mergebad.c | 1 +
recoverdm.c | 1 +
utils.c | 1 +
utils.h | 1 +
8 files changed, 21 insertions(+)
create mode 100644 src/compat.h
diff --git a/compat.h b/compat.h
new file mode 100644
index 0000000..181c8ea
--- /dev/null
+++ b/compat.h
@@ -0,0 +1,14 @@
+#pragma once
+#ifdef __APPLE__
+#include <unistd.h>
+_Static_assert(sizeof(off_t) == 8, "off_t must be 8 bytes");
+typedef off_t off64_t;
+#define stat64 stat
+#define lseek64 lseek
+#define open64 open
+#define POSIX_FADV_SEQUENTIAL 1
+static inline int posix_fadvise(int fd, off_t offset, off_t len, int advice)
+{
+ return 0;
+}
+#endif
diff --git a/dev.c b/dev.c
index c1ce748..ae3ce2c 100644
--- a/dev.c
+++ b/dev.c
@@ -18,6 +18,7 @@
#include <scsi/scsi_ioctl.h>
#include <linux/cdrom.h>
#endif
+#include "compat.h"
#include "dev.h"
diff --git a/error.c b/error.c
index d2f8acf..550e1af 100644
--- a/error.c
+++ b/error.c
@@ -4,6 +4,7 @@
#include <stdlib.h>
#include <sys/types.h>
#include <signal.h>
+#include "compat.h"
void error_exit(char *format, ...)
{
diff --git a/io.c b/io.c
index 9d66534..e784d75 100644
--- a/io.c
+++ b/io.c
@@ -7,6 +7,7 @@
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include "compat.h"
#include "io.h"
#include "error.h"
diff --git a/mergebad.c b/mergebad.c
index 34a6ef7..580c3bc 100644
--- a/mergebad.c
+++ b/mergebad.c
@@ -7,6 +7,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
+#include "compat.h"
#include "io.h"
#include "dev.h"
diff --git a/recoverdm.c b/recoverdm.c
index 8b71ae1..5dddeb3 100644
--- a/recoverdm.c
+++ b/recoverdm.c
@@ -7,6 +7,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
+#include "compat.h"
#include "io.h"
#include "dev.h"
diff --git a/utils.c b/utils.c
index 5791404..ee42a0a 100644
--- a/utils.c
+++ b/utils.c
@@ -7,6 +7,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
+#include "compat.h"
#include "io.h"
#include "dev.h"
diff --git a/utils.h b/utils.h
index c749c2e..acb0888 100644
--- a/utils.h
+++ b/utils.h
@@ -1,3 +1,4 @@
+#include "compat.h"
void * mymalloc(size_t size, char *what);
void * myrealloc(void *oldp, size_t newsize, char *what);
off64_t get_filesize(char *filename);
--
2.43.0

View File

@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchFromGitLab,
installShellFiles,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "recoverdm";
version = "0.20-9";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "pkg-security-team";
repo = "recoverdm";
rev = "debian/${finalAttrs.version}";
hash = "sha256-HLaiTeeqXn0mgRnG5FZflkPiDiB8CGzq4FR7lDj5oHI=";
};
patches =
let
patch = name: "./debian/patches/${name}";
in
[
(patch "10_fix-makefile.patch")
(patch "20_fix-typo-binary.patch")
(patch "30-fix-BTS-mergebad-crash.patch")
(patch "40_dev-c.patch")
(patch "50_ftbfs-with-gcc-14.patch")
./0001-darwin-build-fixes.patch
];
postPatch = ''
substituteInPlace Makefile \
--replace-fail '$(DESTDIR)/usr/bin' $out/bin
'';
nativeBuildInputs = [
installShellFiles
];
preInstall = ''
mkdir -p $out/bin
'';
postInstall = ''
installManPage recoverdm.1
'';
meta = with lib; {
description = "Recover damaged CD DVD and disks with bad sectors";
mainProgram = "recoverdm";
homepage = "https://salsa.debian.org/pkg-security-team/recoverdm";
changelog = "https://salsa.debian.org/pkg-security-team/recoverdm/-/blob/debian/master/debian/changelog";
maintainers = with maintainers; [ d3vil0p3r ];
platforms = platforms.unix;
license = licenses.gpl1Only;
};
})

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchurl,
makeWrapper,
python3,
exif,
imagemagick,
}:
stdenv.mkDerivation rec {
pname = "recoverjpeg";
version = "2.6.3";
src = fetchurl {
url = "https://www.rfc1149.net/download/recoverjpeg/recoverjpeg-${version}.tar.gz";
sha256 = "009jgxi8lvdp00dwfj0n4x5yqrf64x00xdkpxpwgl2v8wcqn56fv";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ python3 ];
postFixup = ''
wrapProgram $out/bin/sort-pictures \
--prefix PATH : ${
lib.makeBinPath [
exif
imagemagick
]
}
'';
meta = with lib; {
homepage = "https://rfc1149.net/devel/recoverjpeg.html";
description = "Recover lost JPEGs and MOV files on a bogus memory card or disk";
license = licenses.gpl2Only;
maintainers = with maintainers; [ dotlambda ];
platforms = with platforms; linux;
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenvNoCC,
fetchurl,
undmg,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "rectangle-pro";
version = "3.0.37";
src = fetchurl {
url = "https://rectangleapp.com/pro/downloads/Rectangle%20Pro%20${finalAttrs.version}.dmg";
hash = "sha256-1/guAVppL6AwC9luqPZZscz38U4irN1vyGesN8q2leM=";
};
sourceRoot = ".";
nativeBuildInputs = [ undmg ];
installPhase = ''
runHook preInstall
mkdir -p "$out/Applications"
cp -r *.app "$out/Applications"
runHook postInstall
'';
meta = {
changelog = "https://rectangleapp.com/pro/versions";
description = "Move and resize windows in macOS using keyboard shortcuts or snap areas";
homepage = "https://rectangleapp.com/pro";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ emilytrau ];
platforms = lib.platforms.darwin;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})

View File

@@ -0,0 +1,44 @@
{
lib,
stdenvNoCC,
fetchurl,
undmg,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "rectangle";
version = "0.91";
src = fetchurl {
url = "https://github.com/rxhanson/Rectangle/releases/download/v${finalAttrs.version}/Rectangle${finalAttrs.version}.dmg";
hash = "sha256-MOpg8N2mMNB81dmtgQc7KRax+g4d1Xedh9dkC/zYhLw=";
};
sourceRoot = ".";
nativeBuildInputs = [ undmg ];
installPhase = ''
runHook preInstall
mkdir -p "$out/Applications"
mv Rectangle.app "$out/Applications"
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Move and resize windows in macOS using keyboard shortcuts or snap areas";
homepage = "https://rectangleapp.com/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
Intuinewin
wegank
];
platforms = lib.platforms.darwin;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})

View File

@@ -0,0 +1,28 @@
{
lib,
fetchzip,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation rec {
pname = "recursive";
version = "1.085";
src = fetchzip {
url = "https://github.com/arrowtype/recursive/releases/download/v${version}/ArrowType-Recursive-${version}.zip";
sha256 = "sha256-hnGnKnRoQN8vFStW8TjLrrTL1dWsthUEWxfaGF0b0vM=";
};
installPhase = ''
install -D -t $out/share/fonts/opentype/ $(find $src -type f -name '*.otf')
install -D -t $out/share/fonts/truetype/ $(find $src -type f -name '*.ttf')
'';
meta = with lib; {
homepage = "https://recursive.design/";
description = "Variable font family for code & UI";
license = licenses.ofl;
maintainers = [ maintainers.eadwu ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,87 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
bc,
check,
curl,
withEncryption ? true,
libgcrypt,
libgpg-error,
withUuid ? true,
libuuid,
withBashBuiltins ? true,
bash,
}:
stdenv.mkDerivation rec {
pname = "recutils";
version = "1.9";
src = fetchurl {
url = "mirror://gnu/recutils/recutils-${version}.tar.gz";
hash = "sha256-YwFZKwAgwUtFZ1fvXUNNSfYCe45fOkmdEzYvIFxIbg4=";
};
patches = [
(fetchpatch {
name = "configure-big_sur.diff";
url = "https://github.com/Homebrew/formula-patches/raw/03cf8088210822aa2c1ab544ed58ea04c897d9c4/libtool/configure-big_sur.diff";
hash = "sha256-NazWrrwZhD8aKzpj6IC6zrD1J4qxrOZh5XpQLZ14yTw=";
})
];
hardeningDisable = lib.optional stdenv.cc.isClang "format";
configureFlags = lib.optionals withBashBuiltins [
"--with-bash-headers=${bash.dev}/include/bash"
];
buildInputs = [
curl
]
++ lib.optionals withEncryption [
libgpg-error.dev
libgcrypt.dev
]
++ lib.optionals withUuid [
libuuid
]
++ lib.optionals withBashBuiltins [
bash.dev
];
env.NIX_CFLAGS_COMPILE = toString (
lib.optionals stdenv.cc.isClang [
"-Wno-error=implicit-function-declaration"
]
++ lib.optionals stdenv.cc.isGNU [
"-Wno-error=implicit-function-declaration"
"-Wno-error=incompatible-pointer-types"
]
);
nativeCheckInputs = [
bc
check
];
doCheck = true;
meta = with lib; {
homepage = "https://www.gnu.org/software/recutils/";
description = "Tools and libraries to access human-editable, text-based databases";
longDescription = ''
GNU Recutils is a set of tools and libraries to access human-editable,
text-based databases called recfiles. The data is stored as a sequence of
records, each record containing an arbitrary number of named fields.
'';
license = licenses.gpl3Plus;
maintainers = [ ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,14 @@
diff --git a/Directory.Build.props b/Directory.Build.props
index af8e3b12..07dd1898 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -9,7 +9,7 @@
<RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
<TestDirectory>$(RepositoryRoot)tests\</TestDirectory>
<GitVersionBaseDirectory>$(RepositoryRoot)</GitVersionBaseDirectory>
- <!--<DisableGitVersionTask>true</DisableGitVersionTask>-->
+ <DisableGitVersionTask>true</DisableGitVersionTask>
</PropertyGroup>
<!--

962
pkgs/by-name/re/recyclarr/deps.json generated Normal file
View File

@@ -0,0 +1,962 @@
[
{
"pname": "AgileObjects.NetStandardPolyfills",
"version": "1.6.0",
"hash": "sha256-hC5WLhpWNZrIxdPnK8yQUNfJHSne5JROopCs7JhA2uk="
},
{
"pname": "AgileObjects.ReadableExpressions",
"version": "4.1.3",
"hash": "sha256-Ms116jLkYhnYIFPRUJ4S2Dide+KUWDzS7eYJ48sdqDw="
},
{
"pname": "Autofac",
"version": "8.2.0",
"hash": "sha256-RxW2Gpg2xpg+PLf/BEBfewrdi3z7b61Xp19FZy9zbWw="
},
{
"pname": "Autofac.Extras.AggregateService",
"version": "6.1.2",
"hash": "sha256-n0oHD3nD6apZfuAfZDKjH59LN7QOkoowm9BPeFDK5lw="
},
{
"pname": "Autofac.Extras.Ordering",
"version": "4.0.0",
"hash": "sha256-vMw1sKUK4rUW7Csno0h5XVnS7lUkGO1/hLmGqVwSIKM="
},
{
"pname": "AutofacContrib.NSubstitute",
"version": "7.0.0",
"hash": "sha256-T65WDUM7QkU+658wWZ1kh/3hilwyzR05K1cpYgx7BGc="
},
{
"pname": "AutoFixture",
"version": "5.0.0-preview0012",
"hash": "sha256-wVx6zoK5jOL5e2MZftBKuYY2Da1or5Uy1k/PANgCUsk="
},
{
"pname": "AutoFixture.AutoNSubstitute",
"version": "5.0.0-preview0012",
"hash": "sha256-vuCtQanhc/VAWLNczlIBzIY/dUY6UVI3QumO+BMUUs4="
},
{
"pname": "AutoFixture.NUnit4",
"version": "5.0.0-preview0012",
"hash": "sha256-iwEVJWdFXqp55Fgm8PIypNfdJ647VZdYEjvnbDiZ2r8="
},
{
"pname": "AutoMapper",
"version": "13.0.1",
"hash": "sha256-3rlsVaouPVH3BD0SobUbVojHuZzNUThQnwbteDtWQ2g="
},
{
"pname": "AutoMapper.Contrib.Autofac.DependencyInjection",
"version": "8.1.0",
"hash": "sha256-ZhZSp318GeOLd6VVqrARhRPGJiVHXySkQiSiYEcKOtQ="
},
{
"pname": "Castle.Core",
"version": "4.4.1",
"hash": "sha256-J4NS8p9KqbuLl6JMmNwptsfccH37TfhAhPwX2mVQso0="
},
{
"pname": "Castle.Core",
"version": "5.1.1",
"hash": "sha256-oVkQB+ON7S6Q27OhXrTLaxTL0kWB58HZaFFuiw4iTrE="
},
{
"pname": "CliWrap",
"version": "3.7.1",
"hash": "sha256-e0snh/9Ai6/Gw5ycQox2H5nGrPhKfT2sH9dQNjbrrCI="
},
{
"pname": "coverlet.collector",
"version": "6.0.4",
"hash": "sha256-ieiUl7G5pVKQ4V6rxhEe0ehep0/u1RBD3EAI63AQTI0="
},
{
"pname": "Fare",
"version": "2.2.1",
"hash": "sha256-k+RPTDQYgDQHu98V5GPqWhttrk8gjqCnG6SxjocAHfY="
},
{
"pname": "FluentAssertions",
"version": "8.0.1",
"hash": "sha256-jxcp/4MGqvRkzgIk8CCqdlMDlEsrI8CazHieX6Pogik="
},
{
"pname": "FluentAssertions.Analyzers",
"version": "0.34.1",
"hash": "sha256-4n26IoSLJRLxyPDyJwF7T+za5xbHO27qM7CarniTADk="
},
{
"pname": "FluentValidation",
"version": "11.11.0",
"hash": "sha256-w9daZPAevu5HK6NTPmifH9k5TozWx85uZJ2GBj7I4Jo="
},
{
"pname": "Flurl",
"version": "4.0.0",
"hash": "sha256-qCbO6ELAw+OP/RyrJhrxys5b+Kk2xR4RbzpLOsZYheg="
},
{
"pname": "Flurl.Http",
"version": "4.0.2",
"hash": "sha256-V1tlyjoCB9ZyTiwEV3ZYiSP/0q2R2+bqRI+wZLVJATA="
},
{
"pname": "GitHubActionsTestLogger",
"version": "2.4.1",
"hash": "sha256-bY8RXB3fIsgYIrlLeEuq8dsOfIn8zcbZ0dj2Ra1sFZg="
},
{
"pname": "GitVersion.MsBuild",
"version": "6.1.0",
"hash": "sha256-iwhlcv+hmNwd80XWiO0GuXCWgjx/+330qIOfUsnPsYk="
},
{
"pname": "Microsoft.ApplicationInsights",
"version": "2.22.0",
"hash": "sha256-mUQ63atpT00r49ca50uZu2YCiLg3yd6r3HzTryqcuEA="
},
{
"pname": "Microsoft.Bcl.HashCode",
"version": "1.1.1",
"hash": "sha256-gP6ZhEsjjbmw6a477sm7UuOvGFFTxZYfRE2kKxK8jnc="
},
{
"pname": "Microsoft.CodeCoverage",
"version": "17.13.0",
"hash": "sha256-GKrIxeyQo5Az1mztfQgea1kGtJwonnNOrXK/0ULfu8o="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "6.0.0",
"hash": "sha256-SZke0jNKIqJvvukdta+MgIlGsrP2EdPkkS8lfLg7Ju4="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "6.0.0",
"hash": "sha256-DxnEgGiCXpkrxFkxXtOXqwaiAtoIjA8VSSWCcsW0FwE="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "6.0.0",
"hash": "sha256-AgvysszpQ11AiTBJFkvSy8JnwIWTj15Pfek7T7ThUc4="
},
{
"pname": "Microsoft.NET.Test.Sdk",
"version": "17.13.0",
"hash": "sha256-sc2wvyV8cGm1FrNP2GGHEI584RCvRPu15erYCsgw5QY="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.1",
"hash": "sha256-8hLiUKvy/YirCWlFwzdejD2Db3DaXhHxT7GSZx/znJg="
},
{
"pname": "Microsoft.NETCore.Targets",
"version": "1.1.0",
"hash": "sha256-0AqQ2gMS8iNlYkrD+BxtIg7cXMnr9xZHtKAuN4bjfaQ="
},
{
"pname": "Microsoft.NETCore.Targets",
"version": "1.1.3",
"hash": "sha256-WLsf1NuUfRWyr7C7Rl9jiua9jximnVvzy6nk2D2bVRc="
},
{
"pname": "Microsoft.Testing.Extensions.Telemetry",
"version": "1.5.3",
"hash": "sha256-bIXwPSa3jkr2b6xINOqMUs6/uj/r4oVFM7xq3uVIZDU="
},
{
"pname": "Microsoft.Testing.Extensions.TrxReport.Abstractions",
"version": "1.5.3",
"hash": "sha256-IfMRfcyaIKEMRtx326ICKtinDBEfGw/Sv8ZHawJ96Yc="
},
{
"pname": "Microsoft.Testing.Extensions.VSTestBridge",
"version": "1.5.3",
"hash": "sha256-XpM/yFjhLSsuzyDV+xKubs4V1zVVYiV05E0+N4S1h0g="
},
{
"pname": "Microsoft.Testing.Platform",
"version": "1.5.3",
"hash": "sha256-y61Iih6w5D79dmrj2V675mcaeIiHoj1HSa1FRit2BLM="
},
{
"pname": "Microsoft.Testing.Platform.MSBuild",
"version": "1.5.3",
"hash": "sha256-YspvjE5Jfi587TAfsvfDVJXNrFOkx1B3y1CKV6m7YLY="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "17.10.0",
"hash": "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "17.12.0",
"hash": "sha256-3XBHBSuCxggAIlHXmKNQNlPqMqwFlM952Av6RrLw1/w="
},
{
"pname": "Microsoft.TestPlatform.ObjectModel",
"version": "17.13.0",
"hash": "sha256-6S0fjfj8vA+h6dJVNwLi6oZhYDO/I/6hBZaq2VTW+Uk="
},
{
"pname": "Microsoft.TestPlatform.TestHost",
"version": "17.13.0",
"hash": "sha256-L/CJzou7dhmShUgXq3aXL3CaLTJll17Q+JY2DBdUUpo="
},
{
"pname": "Microsoft.Win32.Primitives",
"version": "4.3.0",
"hash": "sha256-mBNDmPXNTW54XLnPAUwBRvkIORFM7/j0D0I2SyQPDEg="
},
{
"pname": "NETStandard.Library",
"version": "1.6.1",
"hash": "sha256-iNan1ix7RtncGWC9AjAZ2sk70DoxOsmEOgQ10fXm4Pw="
},
{
"pname": "Newtonsoft.Json",
"version": "13.0.1",
"hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="
},
{
"pname": "NSubstitute",
"version": "5.3.0",
"hash": "sha256-fa6Hn9Qmpia2labWOs1Xp2LnJBOHfrWIwxvqKRRccs0="
},
{
"pname": "NSubstitute.Analyzers.CSharp",
"version": "1.0.17",
"hash": "sha256-HyMhNJMze3ALJbl71pprjuLCqS+KLA/bOeX4Sng/eb4="
},
{
"pname": "NUnit",
"version": "4.3.2",
"hash": "sha256-0RWe8uFoxYp6qhPlDDEghOMcKJgyw2ybvEoAqBLebeE="
},
{
"pname": "NUnit.Analyzers",
"version": "4.6.0",
"hash": "sha256-zMAPQiSPSAUNOd7t5RyJs1iRZMMzFH09p3/53CN8i/8="
},
{
"pname": "NUnit3TestAdapter",
"version": "5.0.0",
"hash": "sha256-7jZM4qAbIzne3AcdFfMbvbgogqpxvVe6q2S7Ls8xQy0="
},
{
"pname": "ReferenceTrimmer",
"version": "3.3.10",
"hash": "sha256-RhAYdxLLOj+6CP65pRjPkpPyY1V631Jei8K3yVsXYU4="
},
{
"pname": "Rocket.Surgery.MSBuild.JetBrains.Annotations",
"version": "1.2.1",
"hash": "sha256-QSnSeubNnBJZfjsSQBKiP5dlodBYfN8MYTQKl3CZypM="
},
{
"pname": "runtime.any.System.Collections",
"version": "4.3.0",
"hash": "sha256-4PGZqyWhZ6/HCTF2KddDsbmTTjxs2oW79YfkberDZS8="
},
{
"pname": "runtime.any.System.Diagnostics.Tools",
"version": "4.3.0",
"hash": "sha256-8yLKFt2wQxkEf7fNfzB+cPUCjYn2qbqNgQ1+EeY2h/I="
},
{
"pname": "runtime.any.System.Diagnostics.Tracing",
"version": "4.3.0",
"hash": "sha256-dsmTLGvt8HqRkDWP8iKVXJCS+akAzENGXKPV18W2RgI="
},
{
"pname": "runtime.any.System.Globalization",
"version": "4.3.0",
"hash": "sha256-PaiITTFI2FfPylTEk7DwzfKeiA/g/aooSU1pDcdwWLU="
},
{
"pname": "runtime.any.System.Globalization.Calendars",
"version": "4.3.0",
"hash": "sha256-AYh39tgXJVFu8aLi9Y/4rK8yWMaza4S4eaxjfcuEEL4="
},
{
"pname": "runtime.any.System.IO",
"version": "4.3.0",
"hash": "sha256-vej7ySRhyvM3pYh/ITMdC25ivSd0WLZAaIQbYj/6HVE="
},
{
"pname": "runtime.any.System.Reflection",
"version": "4.3.0",
"hash": "sha256-ns6f++lSA+bi1xXgmW1JkWFb2NaMD+w+YNTfMvyAiQk="
},
{
"pname": "runtime.any.System.Reflection.Extensions",
"version": "4.3.0",
"hash": "sha256-Y2AnhOcJwJVYv7Rp6Jz6ma0fpITFqJW+8rsw106K2X8="
},
{
"pname": "runtime.any.System.Reflection.Primitives",
"version": "4.3.0",
"hash": "sha256-LkPXtiDQM3BcdYkAm5uSNOiz3uF4J45qpxn5aBiqNXQ="
},
{
"pname": "runtime.any.System.Resources.ResourceManager",
"version": "4.3.0",
"hash": "sha256-9EvnmZslLgLLhJ00o5MWaPuJQlbUFcUF8itGQNVkcQ4="
},
{
"pname": "runtime.any.System.Runtime",
"version": "4.3.0",
"hash": "sha256-qwhNXBaJ1DtDkuRacgHwnZmOZ1u9q7N8j0cWOLYOELM="
},
{
"pname": "runtime.any.System.Runtime.Handles",
"version": "4.3.0",
"hash": "sha256-PQRACwnSUuxgVySO1840KvqCC9F8iI9iTzxNW0RcBS4="
},
{
"pname": "runtime.any.System.Runtime.InteropServices",
"version": "4.3.0",
"hash": "sha256-Kaw5PnLYIiqWbsoF3VKJhy7pkpoGsUwn4ZDCKscbbzA="
},
{
"pname": "runtime.any.System.Text.Encoding",
"version": "4.3.0",
"hash": "sha256-Q18B9q26MkWZx68exUfQT30+0PGmpFlDgaF0TnaIGCs="
},
{
"pname": "runtime.any.System.Text.Encoding.Extensions",
"version": "4.3.0",
"hash": "sha256-6MYj0RmLh4EVqMtO/MRqBi0HOn5iG4x9JimgCCJ+EFM="
},
{
"pname": "runtime.any.System.Threading.Tasks",
"version": "4.3.0",
"hash": "sha256-agdOM0NXupfHbKAQzQT8XgbI9B8hVEh+a/2vqeHctg4="
},
{
"pname": "runtime.any.System.Threading.Timer",
"version": "4.3.0",
"hash": "sha256-BgHxXCIbicVZtpgMimSXixhFC3V+p5ODqeljDjO8hCs="
},
{
"pname": "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-EbnOqPOrAgI9eNheXLR++VnY4pHzMsEKw1dFPJ/Fl2c="
},
{
"pname": "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-mVg02TNvJc1BuHU03q3fH3M6cMgkKaQPBxraSHl/Btg="
},
{
"pname": "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-g9Uiikrl+M40hYe0JMlGHe/lrR0+nN05YF64wzLmBBA="
},
{
"pname": "runtime.native.System",
"version": "4.3.0",
"hash": "sha256-ZBZaodnjvLXATWpXXakFgcy6P+gjhshFXmglrL5xD5Y="
},
{
"pname": "runtime.native.System.IO.Compression",
"version": "4.3.0",
"hash": "sha256-DWnXs4vlKoU6WxxvCArTJupV6sX3iBbZh8SbqfHace8="
},
{
"pname": "runtime.native.System.Net.Http",
"version": "4.3.0",
"hash": "sha256-c556PyheRwpYhweBjSfIwEyZHnAUB8jWioyKEcp/2dg="
},
{
"pname": "runtime.native.System.Security.Cryptography.Apple",
"version": "4.3.0",
"hash": "sha256-2IhBv0i6pTcOyr8FFIyfPEaaCHUmJZ8DYwLUwJ+5waw="
},
{
"pname": "runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-Jy01KhtcCl2wjMpZWH+X3fhHcVn+SyllWFY8zWlz/6I="
},
{
"pname": "runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-xqF6LbbtpzNC9n1Ua16PnYgXHU0LvblEROTfK4vIxX8="
},
{
"pname": "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-aJBu6Frcg6webvzVcKNoUP1b462OAqReF2giTSyBzCQ="
},
{
"pname": "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-Mpt7KN2Kq51QYOEVesEjhWcCGTqWckuPf8HlQ110qLY="
},
{
"pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple",
"version": "4.3.0",
"hash": "sha256-serkd4A7F6eciPiPJtUyJyxzdAtupEcWIZQ9nptEzIM="
},
{
"pname": "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-JvMltmfVC53mCZtKDHE69G3RT6Id28hnskntP9MMP9U="
},
{
"pname": "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-QfFxWTVRNBhN4Dm1XRbCf+soNQpy81PsZed3x6op/bI="
},
{
"pname": "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-EaJHVc9aDZ6F7ltM2JwlIuiJvqM67CKRq682iVSo+pU="
},
{
"pname": "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-PHR0+6rIjJswn89eoiWYY1DuU8u6xRJLrtjykAMuFmA="
},
{
"pname": "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl",
"version": "4.3.2",
"hash": "sha256-LFkh7ua7R4rI5w2KGjcHlGXLecsncCy6kDXLuy4qD/Q="
},
{
"pname": "runtime.unix.Microsoft.Win32.Primitives",
"version": "4.3.0",
"hash": "sha256-LZb23lRXzr26tRS5aA0xyB08JxiblPDoA7HBvn6awXg="
},
{
"pname": "runtime.unix.System.Console",
"version": "4.3.1",
"hash": "sha256-dxyn/1Px4FKLZ2QMUrkFpW619Y1lhPeTiGLWYM6IbpY="
},
{
"pname": "runtime.unix.System.Diagnostics.Debug",
"version": "4.3.0",
"hash": "sha256-ReoazscfbGH+R6s6jkg5sIEHWNEvjEoHtIsMbpc7+tI="
},
{
"pname": "runtime.unix.System.IO.FileSystem",
"version": "4.3.0",
"hash": "sha256-Pf4mRl6YDK2x2KMh0WdyNgv0VUNdSKVDLlHqozecy5I="
},
{
"pname": "runtime.unix.System.Net.Primitives",
"version": "4.3.0",
"hash": "sha256-pHJ+I6i16MV6m77uhTC6GPY6jWGReE3SSP3fVB59ti0="
},
{
"pname": "runtime.unix.System.Net.Sockets",
"version": "4.3.0",
"hash": "sha256-IvgOeA2JuBjKl5yAVGjPYMPDzs9phb3KANs95H9v1w4="
},
{
"pname": "runtime.unix.System.Private.Uri",
"version": "4.3.0",
"hash": "sha256-c5tXWhE/fYbJVl9rXs0uHh3pTsg44YD1dJvyOA0WoMs="
},
{
"pname": "runtime.unix.System.Runtime.Extensions",
"version": "4.3.0",
"hash": "sha256-l8S9gt6dk3qYG6HYonHtdlYtBKyPb29uQ6NDjmrt3V4="
},
{
"pname": "Serilog",
"version": "4.2.0",
"hash": "sha256-7f3EpCsEbDxXgsuhE430KVI14p7oDUuCtwRpOCqtnbs="
},
{
"pname": "Serilog.Expressions",
"version": "5.0.0",
"hash": "sha256-xpAT8U0pzTvRGa/qBd2M3YOQDD1xgAHCMVN9NEz0L4E="
},
{
"pname": "Serilog.Sinks.Console",
"version": "6.0.0",
"hash": "sha256-QH8ykDkLssJ99Fgl+ZBFBr+RQRl0wRTkeccQuuGLyro="
},
{
"pname": "Serilog.Sinks.File",
"version": "6.0.0",
"hash": "sha256-KQmlUpG9ovRpNqKhKe6rz3XMLUjkBqjyQhEm2hV5Sow="
},
{
"pname": "Serilog.Sinks.NUnit",
"version": "1.0.3",
"hash": "sha256-jhxTlr1619NQ+CLfsbW4hybKjaSo0WfcvWT2jP3++As="
},
{
"pname": "Serilog.Sinks.Observable",
"version": "3.0.0",
"hash": "sha256-3+tzeJRZakI9PrpC/+v4c5mxcoWWCQ5yHBjRFVeHvc0="
},
{
"pname": "Spectre.Console",
"version": "0.49.1",
"hash": "sha256-tqSVojyuQjuB34lXo759NOcyLgNIw815mKXJPq5JFDo="
},
{
"pname": "Spectre.Console.Analyzer",
"version": "1.0.0",
"hash": "sha256-Om2PRAfm4LoPImty4zpGo/uoqha6ZnuCU6iNcAvKiUE="
},
{
"pname": "Spectre.Console.Cli",
"version": "0.49.1",
"hash": "sha256-sar9rhft1ivDMj1kU683+4KxUPUZL+Fb++ewMA6RD4Q="
},
{
"pname": "Spectre.Console.Testing",
"version": "0.49.1",
"hash": "sha256-NFZE0ubRmjeOOnkf8EXCp8lya0XK1tclMmtodxJPt1I="
},
{
"pname": "SuperLinq",
"version": "6.3.0",
"hash": "sha256-owmFnHV/fy5f+vyWCSjrFPqNpuQzQQ7Cc5L3KreCv6M="
},
{
"pname": "System.AppContext",
"version": "4.3.0",
"hash": "sha256-yg95LNQOwFlA1tWxXdQkVyJqT4AnoDc+ACmrNvzGiZg="
},
{
"pname": "System.Buffers",
"version": "4.3.0",
"hash": "sha256-XqZWb4Kd04960h4U9seivjKseGA/YEIpdplfHYHQ9jk="
},
{
"pname": "System.Collections",
"version": "4.3.0",
"hash": "sha256-afY7VUtD6w/5mYqrce8kQrvDIfS2GXDINDh73IjxJKc="
},
{
"pname": "System.Collections.Concurrent",
"version": "4.3.0",
"hash": "sha256-KMY5DfJnDeIsa13DpqvyN8NkReZEMAFnlmNglVoFIXI="
},
{
"pname": "System.Collections.NonGeneric",
"version": "4.3.0",
"hash": "sha256-8/yZmD4jjvq7m68SPkJZLBQ79jOTOyT5lyzX4SCYAx8="
},
{
"pname": "System.Collections.Specialized",
"version": "4.3.0",
"hash": "sha256-QNg0JJNx+zXMQ26MJRPzH7THdtqjrNtGLUgaR1SdvOk="
},
{
"pname": "System.ComponentModel",
"version": "4.3.0",
"hash": "sha256-i00uujMO4JEDIEPKLmdLY3QJ6vdSpw6Gh9oOzkFYBiU="
},
{
"pname": "System.ComponentModel.Annotations",
"version": "4.4.0",
"hash": "sha256-jiIzWKF1uEjXUTHbiInJXvC6h8ELJK3BJk7yjeS7IbE="
},
{
"pname": "System.ComponentModel.Primitives",
"version": "4.3.0",
"hash": "sha256-IOMJleuIBppmP4ECB3uftbdcgL7CCd56+oAD/Sqrbus="
},
{
"pname": "System.ComponentModel.TypeConverter",
"version": "4.3.0",
"hash": "sha256-PSDiPYt8PgTdTUBz+GH6lHCaM1YgfObneHnZsc8Fz54="
},
{
"pname": "System.Console",
"version": "4.3.0",
"hash": "sha256-Xh3PPBZr0pDbDaK8AEHbdGz7ePK6Yi1ZyRWI1JM6mbo="
},
{
"pname": "System.Data.HashFunction.Core",
"version": "2.0.0",
"hash": "sha256-7d05O8ZY5mDRXeYxuXKXQeZTpuqQf9dte16JQYMuno8="
},
{
"pname": "System.Data.HashFunction.FNV",
"version": "2.0.0",
"hash": "sha256-EvX0Cosq4Qmjsny7DRANGDCZ+MtDr2L3kqfcc/8S16c="
},
{
"pname": "System.Data.HashFunction.Interfaces",
"version": "2.0.0",
"hash": "sha256-Zr9Nu3DNW4SXevkoXsP3/K7cTWuKlEj70WzAX8BFAsY="
},
{
"pname": "System.Diagnostics.Debug",
"version": "4.3.0",
"hash": "sha256-fkA79SjPbSeiEcrbbUsb70u9B7wqbsdM9s1LnoKj0gM="
},
{
"pname": "System.Diagnostics.DiagnosticSource",
"version": "9.0.1",
"hash": "sha256-nIIvVK+5uyOhAuU2sERNADK4N/A/x0MilBH/EAr1gOA="
},
{
"pname": "System.Diagnostics.EventLog",
"version": "6.0.0",
"hash": "sha256-zUXIQtAFKbiUMKCrXzO4mOTD5EUphZzghBYKXprowSM="
},
{
"pname": "System.Diagnostics.Tools",
"version": "4.3.0",
"hash": "sha256-gVOv1SK6Ape0FQhCVlNOd9cvQKBvMxRX9K0JPVi8w0Y="
},
{
"pname": "System.Diagnostics.TraceSource",
"version": "4.3.0",
"hash": "sha256-xpxwaXsRcgso8Gj0cqY4+Hvvz6vZkmEMh5/J204j3M8="
},
{
"pname": "System.Diagnostics.Tracing",
"version": "4.3.0",
"hash": "sha256-hCETZpHHGVhPYvb4C0fh4zs+8zv4GPoixagkLZjpa9Q="
},
{
"pname": "System.Dynamic.Runtime",
"version": "4.3.0",
"hash": "sha256-k75gjOYimIQtLBD5NDzwwi3ZMUBPRW3jmc3evDMMJbU="
},
{
"pname": "System.Globalization",
"version": "4.3.0",
"hash": "sha256-caL0pRmFSEsaoeZeWN5BTQtGrAtaQPwFi8YOZPZG5rI="
},
{
"pname": "System.Globalization.Calendars",
"version": "4.3.0",
"hash": "sha256-uNOD0EOVFgnS2fMKvMiEtI9aOw00+Pfy/H+qucAQlPc="
},
{
"pname": "System.Globalization.Extensions",
"version": "4.3.0",
"hash": "sha256-mmJWA27T0GRVuFP9/sj+4TrR4GJWrzNIk2PDrbr7RQk="
},
{
"pname": "System.IO",
"version": "4.3.0",
"hash": "sha256-ruynQHekFP5wPrDiVyhNiRIXeZ/I9NpjK5pU+HPDiRY="
},
{
"pname": "System.IO.Compression",
"version": "4.3.0",
"hash": "sha256-f5PrQlQgj5Xj2ZnHxXW8XiOivaBvfqDao9Sb6AVinyA="
},
{
"pname": "System.IO.Compression.ZipFile",
"version": "4.3.0",
"hash": "sha256-WQl+JgWs+GaRMeiahTFUbrhlXIHapzcpTFXbRvAtvvs="
},
{
"pname": "System.IO.FileSystem",
"version": "4.3.0",
"hash": "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="
},
{
"pname": "System.IO.FileSystem.Primitives",
"version": "4.3.0",
"hash": "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="
},
{
"pname": "System.Linq",
"version": "4.3.0",
"hash": "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="
},
{
"pname": "System.Linq.Expressions",
"version": "4.3.0",
"hash": "sha256-+3pvhZY7rip8HCbfdULzjlC9FPZFpYoQxhkcuFm2wk8="
},
{
"pname": "System.Memory",
"version": "4.5.5",
"hash": "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="
},
{
"pname": "System.Net.Http",
"version": "4.3.4",
"hash": "sha256-FMoU0K7nlPLxoDju0NL21Wjlga9GpnAoQjsFhFYYt00="
},
{
"pname": "System.Net.NameResolution",
"version": "4.3.0",
"hash": "sha256-eGZwCBExWsnirWBHyp2sSSSXp6g7I6v53qNmwPgtJ5c="
},
{
"pname": "System.Net.Primitives",
"version": "4.3.0",
"hash": "sha256-MY7Z6vOtFMbEKaLW9nOSZeAjcWpwCtdO7/W1mkGZBzE="
},
{
"pname": "System.Net.Sockets",
"version": "4.3.0",
"hash": "sha256-il7dr5VT/QWDg/0cuh+4Es2u8LY//+qqiY9BZmYxSus="
},
{
"pname": "System.ObjectModel",
"version": "4.3.0",
"hash": "sha256-gtmRkWP2Kwr3nHtDh0yYtce38z1wrGzb6fjm4v8wN6Q="
},
{
"pname": "System.Private.Uri",
"version": "4.3.2",
"hash": "sha256-jB2+W3tTQ6D9XHy5sEFMAazIe1fu2jrENUO0cb48OgU="
},
{
"pname": "System.Reactive",
"version": "6.0.1",
"hash": "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="
},
{
"pname": "System.Reflection",
"version": "4.3.0",
"hash": "sha256-NQSZRpZLvtPWDlvmMIdGxcVuyUnw92ZURo0hXsEshXY="
},
{
"pname": "System.Reflection.Emit",
"version": "4.3.0",
"hash": "sha256-5LhkDmhy2FkSxulXR+bsTtMzdU3VyyuZzsxp7/DwyIU="
},
{
"pname": "System.Reflection.Emit.ILGeneration",
"version": "4.3.0",
"hash": "sha256-mKRknEHNls4gkRwrEgi39B+vSaAz/Gt3IALtS98xNnA="
},
{
"pname": "System.Reflection.Emit.Lightweight",
"version": "4.3.0",
"hash": "sha256-rKx4a9yZKcajloSZHr4CKTVJ6Vjh95ni+zszPxWjh2I="
},
{
"pname": "System.Reflection.Extensions",
"version": "4.3.0",
"hash": "sha256-mMOCYzUenjd4rWIfq7zIX9PFYk/daUyF0A8l1hbydAk="
},
{
"pname": "System.Reflection.Metadata",
"version": "1.6.0",
"hash": "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="
},
{
"pname": "System.Reflection.Primitives",
"version": "4.3.0",
"hash": "sha256-5ogwWB4vlQTl3jjk1xjniG2ozbFIjZTL9ug0usZQuBM="
},
{
"pname": "System.Reflection.TypeExtensions",
"version": "4.3.0",
"hash": "sha256-4U4/XNQAnddgQIHIJq3P2T80hN0oPdU2uCeghsDTWng="
},
{
"pname": "System.Resources.ResourceManager",
"version": "4.3.0",
"hash": "sha256-idiOD93xbbrbwwSnD4mORA9RYi/D/U48eRUsn/WnWGo="
},
{
"pname": "System.Runtime",
"version": "4.3.0",
"hash": "sha256-51813WXpBIsuA6fUtE5XaRQjcWdQ2/lmEokJt97u0Rg="
},
{
"pname": "System.Runtime",
"version": "4.3.1",
"hash": "sha256-R9T68AzS1PJJ7v6ARz9vo88pKL1dWqLOANg4pkQjkA0="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.0.0",
"hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="
},
{
"pname": "System.Runtime.Extensions",
"version": "4.3.0",
"hash": "sha256-wLDHmozr84v1W2zYCWYxxj0FR0JDYHSVRaRuDm0bd/o="
},
{
"pname": "System.Runtime.Handles",
"version": "4.3.0",
"hash": "sha256-KJ5aXoGpB56Y6+iepBkdpx/AfaJDAitx4vrkLqR7gms="
},
{
"pname": "System.Runtime.InteropServices",
"version": "4.3.0",
"hash": "sha256-8sDH+WUJfCR+7e4nfpftj/+lstEiZixWUBueR2zmHgI="
},
{
"pname": "System.Runtime.InteropServices.RuntimeInformation",
"version": "4.3.0",
"hash": "sha256-MYpl6/ZyC6hjmzWRIe+iDoldOMW1mfbwXsduAnXIKGA="
},
{
"pname": "System.Runtime.Numerics",
"version": "4.3.0",
"hash": "sha256-P5jHCgMbgFMYiONvzmaKFeOqcAIDPu/U8bOVrNPYKqc="
},
{
"pname": "System.Security.Claims",
"version": "4.3.0",
"hash": "sha256-Fua/rDwAqq4UByRVomAxMPmDBGd5eImRqHVQIeSxbks="
},
{
"pname": "System.Security.Cryptography.Algorithms",
"version": "4.3.0",
"hash": "sha256-tAJvNSlczYBJ3Ed24Ae27a55tq/n4D3fubNQdwcKWA8="
},
{
"pname": "System.Security.Cryptography.Cng",
"version": "4.3.0",
"hash": "sha256-u17vy6wNhqok91SrVLno2M1EzLHZm6VMca85xbVChsw="
},
{
"pname": "System.Security.Cryptography.Csp",
"version": "4.3.0",
"hash": "sha256-oefdTU/Z2PWU9nlat8uiRDGq/PGZoSPRgkML11pmvPQ="
},
{
"pname": "System.Security.Cryptography.Encoding",
"version": "4.3.0",
"hash": "sha256-Yuge89N6M+NcblcvXMeyHZ6kZDfwBv3LPMDiF8HhJss="
},
{
"pname": "System.Security.Cryptography.OpenSsl",
"version": "4.3.0",
"hash": "sha256-DL+D2sc2JrQiB4oAcUggTFyD8w3aLEjJfod5JPe+Oz4="
},
{
"pname": "System.Security.Cryptography.Primitives",
"version": "4.3.0",
"hash": "sha256-fnFi7B3SnVj5a+BbgXnbjnGNvWrCEU6Hp/wjsjWz318="
},
{
"pname": "System.Security.Cryptography.X509Certificates",
"version": "4.3.0",
"hash": "sha256-MG3V/owDh273GCUPsGGraNwaVpcydupl3EtPXj6TVG0="
},
{
"pname": "System.Security.Cryptography.X509Certificates",
"version": "4.3.2",
"hash": "sha256-skaAtIqikbBv1586EocSiwg+QqBs9t5jKUAr/Qb9yi0="
},
{
"pname": "System.Security.Principal",
"version": "4.3.0",
"hash": "sha256-rjudVUHdo8pNJg2EVEn0XxxwNo5h2EaYo+QboPkXlYk="
},
{
"pname": "System.Security.Principal.Windows",
"version": "4.3.0",
"hash": "sha256-mbdLVUcEwe78p3ZnB6jYsizNEqxMaCAWI3tEQNhRQAE="
},
{
"pname": "System.Text.Encoding",
"version": "4.3.0",
"hash": "sha256-GctHVGLZAa/rqkBNhsBGnsiWdKyv6VDubYpGkuOkBLg="
},
{
"pname": "System.Text.Encoding.Extensions",
"version": "4.3.0",
"hash": "sha256-vufHXg8QAKxHlujPHHcrtGwAqFmsCD6HKjfDAiHyAYc="
},
{
"pname": "System.Text.Json",
"version": "9.0.1",
"hash": "sha256-2dqE+Mx5eJZ8db74ofUiUXHOSxDCmXw5n9VC9w4fUr0="
},
{
"pname": "System.Text.RegularExpressions",
"version": "4.3.1",
"hash": "sha256-DxsEZ0nnPozyC1W164yrMUXwnAdHShS9En7ImD/GJMM="
},
{
"pname": "System.Threading",
"version": "4.3.0",
"hash": "sha256-ZDQ3dR4pzVwmaqBg4hacZaVenQ/3yAF/uV7BXZXjiWc="
},
{
"pname": "System.Threading.Tasks",
"version": "4.3.0",
"hash": "sha256-Z5rXfJ1EXp3G32IKZGiZ6koMjRu0n8C1NGrwpdIen4w="
},
{
"pname": "System.Threading.Tasks.Extensions",
"version": "4.3.0",
"hash": "sha256-X2hQ5j+fxcmnm88Le/kSavjiGOmkcumBGTZKBLvorPc="
},
{
"pname": "System.Threading.ThreadPool",
"version": "4.3.0",
"hash": "sha256-wW0QdvssRoaOfQLazTGSnwYTurE4R8FxDx70pYkL+gg="
},
{
"pname": "System.Threading.Timer",
"version": "4.3.0",
"hash": "sha256-pmhslmhQhP32TWbBzoITLZ4BoORBqYk25OWbru04p9s="
},
{
"pname": "System.ValueTuple",
"version": "4.4.0",
"hash": "sha256-LqpI3bSaXqVPqfEdfsWE2qX9tzFV6VPU6x4A/fVzzfM="
},
{
"pname": "System.Xml.ReaderWriter",
"version": "4.3.0",
"hash": "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="
},
{
"pname": "System.Xml.XDocument",
"version": "4.3.0",
"hash": "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="
},
{
"pname": "System.Xml.XmlDocument",
"version": "4.3.0",
"hash": "sha256-kbuV4Y7rVJkfMp2Kgoi8Zvdatm9CZNmlKB3GZgANvy4="
},
{
"pname": "SystemTextJson.JsonDiffPatch",
"version": "2.0.0",
"hash": "sha256-Waw7UmX8nCypgUgDdJbyRylvf+ACP9HpSpUjYOJFm0Q="
},
{
"pname": "TestableIO.System.IO.Abstractions",
"version": "21.3.1",
"hash": "sha256-qd1RLqBoX4uI58gsb2BiIrUEOL6nrhlXs9L7toFbgjk="
},
{
"pname": "TestableIO.System.IO.Abstractions.Extensions",
"version": "2.2.5",
"hash": "sha256-1+k24ptDespqTLYl9wCP4FcjjPgagpENDslEp3sXykE="
},
{
"pname": "TestableIO.System.IO.Abstractions.TestingHelpers",
"version": "21.3.1",
"hash": "sha256-cV8WGkV5QZg9rMJYlqlXWdD17AwsuSQTsu2s7HlOQdM="
},
{
"pname": "TestableIO.System.IO.Abstractions.Wrappers",
"version": "21.3.1",
"hash": "sha256-+z1R4Kn0hwjGQ6vC7NIgDS7/ccGd1/wy5sjmjvXCIIQ="
},
{
"pname": "YamlDotNet",
"version": "16.3.0",
"hash": "sha256-4Gi8wSQ8Rsi/3+LyegJr//A83nxn2fN8LN1wvSSp39Q="
}
]

View File

@@ -0,0 +1,73 @@
{
lib,
openssl,
git,
buildDotnetModule,
dotnetCorePackages,
fetchFromGitHub,
testers,
}:
buildDotnetModule (finalAttrs: {
pname = "recyclarr";
version = "7.4.1";
src = fetchFromGitHub {
owner = "recyclarr";
repo = "recyclarr";
tag = "v${finalAttrs.version}";
hash = "sha256-eutlnIHOcRnucgFDwJIheTPXA7avqvp4H0xUX2Cv2z8=";
};
projectFile = "Recyclarr.sln";
nugetDeps = ./deps.json;
prePatch = ''
substituteInPlace src/Recyclarr.Cli/Console/CliSetup.cs \
--replace-fail '$"v{GitVersionInformation.SemVer} ({GitVersionInformation.FullBuildMetaData})"' '"${finalAttrs.version}-nixpkgs"'
substituteInPlace src/Recyclarr.Cli/Console/Setup/ProgramInformationDisplayTask.cs \
--replace-fail 'GitVersionInformation.InformationalVersion' '"${finalAttrs.version}-nixpkgs"'
substituteInPlace Recyclarr.sln \
--replace-fail ".config\dotnet-tools.json = .config\dotnet-tools.json" ""
rm .config/dotnet-tools.json
'';
patches = [ ./001-Git-Version.patch ];
enableParallelBuilding = false;
doCheck = false;
dotnet-sdk = dotnetCorePackages.sdk_9_0;
dotnet-runtime = dotnetCorePackages.runtime_9_0;
dotnet-test-sdk = dotnetCorePackages.sdk_9_0;
executables = [ "recyclarr" ];
makeWrapperArgs = [
"--prefix PATH : ${
lib.makeBinPath [
git
openssl
]
}"
];
passthru = {
updateScript = ./update.sh;
tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
};
meta = {
description = "Automatically sync TRaSH guides to your Sonarr and Radarr instances";
homepage = "https://recyclarr.dev/";
changelog = "https://github.com/recyclarr/recyclarr/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
josephst
aldoborrero
];
mainProgram = "recyclarr";
sourceProvenance = with lib.sourceTypes; [ fromSource ];
};
})

View File

@@ -0,0 +1,20 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts gnused nix coreutils
#shellcheck shell=bash
#shellcheck source=/dev/null
set -euo pipefail
latestVersion=$(curl -s ${GITHUB_TOKEN:+ -H "Authorization: Bearer $GITHUB_TOKEN"} https://api.github.com/repos/recyclarr/recyclarr/releases?per_page=1 \
| jq -r ".[0].tag_name" \
| sed 's/^v//')
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; recyclarr.version or (lib.getVersion recyclarr)" | tr -d '"')
if [[ "$currentVersion" == "$latestVersion" ]]; then
echo "recyclarr is up-to-date: $currentVersion"
exit 0
fi
update-source-version recyclarr "$latestVersion"
. "$(nix-build . -A recyclarr.fetch-deps --no-out-link)"

View File

@@ -0,0 +1,106 @@
{
lib,
stdenv,
stdenv_32bit,
pkgsi686Linux,
fetchFromGitHub,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "red";
version = "0.6.4";
src = fetchFromGitHub {
rev = "755eb943ccea9e78c2cab0f20b313a52404355cb";
owner = "red";
repo = "red";
sha256 = "sha256:045rrg9666zczgrwyyyglivzdzja103s52b0fzj7hqmr1fz68q37";
};
rebol = fetchurl {
url = "http://www.rebol.com/downloads/v278/rebol-core-278-4-2.tar.gz";
sha256 = "1c1v0pyhf3d8z98qc93a5zmx0bbl0qq5lr8mbkdgygqsq2bv2xbz";
};
buildInputs = [
pkgsi686Linux.curl
stdenv_32bit
];
r2 = "./rebol/releases/rebol-core/rebol";
configurePhase = ''
# Download rebol
mkdir rebol/
tar -xzvf ${rebol} -C rebol/
patchelf --set-interpreter \
${stdenv_32bit.cc.libc.out}/lib/32/ld-linux.so.2 \
${r2}
'';
buildPhase = ''
# Do tests
#${r2} -qw run-all.r
# Build test
${r2} -qw red.r tests/hello.red
# Compiling the Red console...
${r2} -qw red.r -r environment/console/CLI/console.red
# Generating docs...
cd docs
../${r2} -qw makedoc2.r red-system-specs.txt
../${r2} -qw makedoc2.r red-system-quick-test.txt
cd ../
'';
installPhase = ''
mkdir $out
# Install
install -d $out/opt/red
find quick-test -type f -executable -print0 | xargs -0 rm
cp -R * $out/opt/red/
rm -rf $out/opt/red/rebol
install -Dm755 console $out/bin/red
install -Dm644 BSD-3-License.txt \
$out/share/licenses/${pname}-${version}/BSD-3-License.txt
install -Dm644 BSL-License.txt \
$out/share/licenses/${pname}-${version}/BSL-License.txt
install -Dm644 docs/red-system-quick-test.html \
$out/share/doc/${pname}-${version}/red-system-quick-test.html
install -Dm644 docs/red-system-specs.html \
$out/share/doc/${pname}-${version}/red-system-specs.html
# PathElf
patchelf --set-interpreter \
${stdenv_32bit.cc.libc.out}/lib/32/ld-linux.so.2 \
$out/opt/red/console
patchelf --set-rpath ${pkgsi686Linux.curl.out}/lib \
$out/opt/red/console
patchelf --set-interpreter \
${stdenv_32bit.cc.libc.out}/lib/32/ld-linux.so.2 \
$out/bin/red
patchelf --set-rpath ${pkgsi686Linux.curl.out}/lib \
$out/bin/red
'';
meta = with lib; {
description = ''
New programming language strongly inspired by Rebol, but with a
broader field of usage thanks to its native-code compiler, from system
programming to high-level scripting, while providing modern support for
concurrency and multi-core CPUs
'';
mainProgram = "red";
maintainers = with maintainers; [ uralbash ];
platforms = [
"i686-linux"
"x86_64-linux"
];
license = licenses.bsd3;
homepage = "https://www.red-lang.org/";
};
}

View File

@@ -0,0 +1,60 @@
{
lib,
fetchurl,
appimageTools,
makeWrapper,
writeScript,
}:
let
pname = "redact";
version = "0.18.0";
src = fetchurl {
url = "https://update-desktop.redact.dev/build/Redact-${version}.AppImage";
hash = "sha256-qqqf8BAwXEKgZwl6vsPw/0S+qItz5ZqB59DJkW9q1xc=";
};
appimageContents = appimageTools.extractType2 { inherit pname src version; };
in
appimageTools.wrapType2 {
inherit pname version src;
nativeBuildInputs = [ makeWrapper ];
extraInstallCommands = ''
wrapProgram $out/bin/${pname} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
install -Dm444 ${appimageContents}/redact.desktop -t $out/share/applications
install -Dm444 ${appimageContents}/redact.png -t $out/share/icons/hicolor/512x512/apps/redact.png
substituteInPlace $out/share/applications/redact.desktop \
--replace-fail 'Exec=AppRun' 'Exec=${pname}'
'';
passthru.updateScript =
writeScript "update.sh"
/**
Scraping the Windows URL for version is intentional, since
the download link for Linux on redact.dev points to an older version,
even though the Cloudflare bucket contains the latest Linux version.
*/
''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl coreutils gnused common-updater-scripts
set -eu -o pipefail
url="$(curl -ILs -w %{url_effective} -o /dev/null https://download.redact.dev/windows)"
version="$(echo $url | sed -n 's/.*Redact-Setup-\([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p')"
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; redact.version or (lib.getVersion redact)" | tr -d '"')
if [[ "$version" != "$currentVersion" ]]; then
hash=$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url "$url")")
update-source-version redact "$version" "$hash" --print-changes
fi
'';
meta = {
description = "Only platform that allows you to automatically clean up your old posts from services like Twitter, Reddit, Facebook, Discord, and more, all in one place";
homepage = "https://redact.dev/";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ reputable2772 ];
mainProgram = "redact";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,34 @@
{
buildGoModule,
fetchFromGitHub,
lib,
nix-update-script,
callPackage,
}:
buildGoModule (finalAttrs: {
pname = "reddit-tui";
version = "0.3.9";
src = fetchFromGitHub {
owner = "tonymajestro";
repo = "reddit-tui";
tag = "v${finalAttrs.version}";
hash = "sha256-dqmxY3AkJ03/zbn+6irh43luUrGaVQ/5lGzl5jeUNDE=";
};
vendorHash = "sha256-Yqo80adzA9gtSD3qzM+fObzRt3WbcMATQef0g7/z2Dw=";
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/tonymajestro/reddit-tui/releases/tag/${finalAttrs.src.tag}";
homepage = "https://github.com/tonymajestro/reddit-tui";
description = "Terminal UI for reddit";
longDescription = ''
Due to suspected throttling by reddit, it might be necessary to use a [redlib backend](https://github.com/redlib-org/redlib) to enable this package to work.
See [the Docs](https://github.com/tonymajestro/reddit-tui#configuration-files) on how to do that.
'';
license = lib.licenses.mit;
maintainers = [ lib.maintainers.LazilyStableProton ];
mainProgram = "reddittui";
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
fetchFromGitHub,
rustPlatform,
openssl,
pkg-config,
}:
rustPlatform.buildRustPackage rec {
pname = "reddsaver";
version = "0.4.0";
src = fetchFromGitHub {
owner = "manojkarthick";
repo = "reddsaver";
rev = "v${version}";
sha256 = "07xsrc0w0z7w2w0q44aqnn1ybf9vqry01v3xr96l1xzzc5mkqdzf";
};
cargoHash = "sha256-xYtdGhuieFudfJz+LxUjP7mV8uItaIvLahCH7vBWTtg=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
# package does not contain tests as of v0.3.3
docCheck = false;
meta = with lib; {
description = "CLI tool to download saved media from Reddit";
homepage = "https://github.com/manojkarthick/reddsaver";
license = with licenses; [
mit # or
asl20
];
maintainers = [ maintainers.manojkarthick ];
mainProgram = "reddsaver";
};
}

View File

@@ -0,0 +1,73 @@
{
lib,
stdenv,
fetchurl,
curl,
ed,
pkg-config,
freetype,
zlib,
libGL,
libX11,
SDL2,
SDL2_image,
SDL2_mixer,
}:
stdenv.mkDerivation rec {
pname = "redeclipse";
version = "2.0.0";
src = fetchurl {
url = "https://github.com/redeclipse/base/releases/download/v${version}/redeclipse_${version}_nix.tar.bz2";
sha256 = "143i713ggbk607qr4n39pi0pn8d93x9x6fcbh8rc51jb9qhi8p5i";
};
buildInputs = [
libGL
libX11
freetype
zlib
SDL2
SDL2_image
SDL2_mixer
];
nativeBuildInputs = [
curl
ed
pkg-config
];
makeFlags = [
"-C"
"src/"
"prefix=$(out)"
];
enableParallelBuilding = true;
installTargets = [ "system-install" ];
postInstall = ''
cp -R -t $out/share/redeclipse/data/ data/*
'';
meta = with lib; {
description = "First person arena shooter, featuring parkour, impulse boosts, and more";
longDescription = ''
Red Eclipse is a fun-filled new take on the first person arena shooter,
featuring parkour, impulse boosts, and more. The development is geared
toward balanced gameplay, with a general theme of agility in a variety of
environments.
'';
homepage = "https://www.redeclipse.net";
license = with licenses; [
licenses.zlib
cc-by-sa-30
];
maintainers = with maintainers; [ lambda-11235 ];
platforms = platforms.linux;
hydraPlatforms = [ ];
};
}

View File

@@ -0,0 +1,12 @@
diff --git a/fang.c b/fang.c
index cda61bf..52f9659 100755
--- a/fang.c
+++ b/fang.c
@@ -45,6 +45,7 @@
#include <sys/socket.h>
#include <asm/types.h>
#include <netinet/in.h>
+#include <pthread.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchFromGitLab,
fetchpatch,
bluez,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "redfang";
version = "2.5";
src = fetchFromGitLab {
group = "kalilinux";
owner = "packages";
repo = "redfang";
rev = "upstream/${finalAttrs.version}";
hash = "sha256-dF9QmBckyHAZ+JbLr0jTmp0eMu947unJqjrTMsJAfIE=";
};
patches = [
# make install rule
(fetchpatch {
url = "https://gitlab.com/kalilinux/packages/redfang/-/merge_requests/1.diff";
sha256 = "sha256-oxIrUAucxsBL4+u9zNNe2XXoAd088AEAHcRB/AN7B1M=";
})
# error: implicit declaration of function 'pthread_create' []
./include-pthread.patch
];
installFlags = [ "DESTDIR=$(out)" ];
env.NIX_CFLAGS_COMPILE = "-Wno-format-security";
buildInputs = [ bluez ];
meta = {
description = "Small proof-of-concept application to find non discoverable bluetooth devices";
homepage = "https://gitlab.com/kalilinux/packages/redfang";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ moni ];
mainProgram = "fang";
};
})

View File

@@ -0,0 +1,37 @@
{
lib,
fetchPypi,
python3,
}:
let
pname = "redfishtool";
version = "1.1.8";
in
python3.pkgs.buildPythonApplication {
inherit pname version;
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-X/G6osOHCBidKZG/Y2nmHadifDacJhjBIc7WYrUCPn8=";
};
build-system = with python3.pkgs; [ setuptools ];
propagatedBuildInputs = with python3.pkgs; [
requests
python-dateutil
];
pythonImportsCheck = [ "redfishtoollib" ];
meta = {
description = "Python34 program that implements a command line tool for accessing the Redfish API";
homepage = "https://github.com/DMTF/Redfishtool";
changelog = "https://github.com/DMTF/Redfishtool/blob/${version}/CHANGELOG.md";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ jfvillablanca ];
mainProgram = "redfishtool";
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation rec {
pname = "redhat-official";
version = "4.0.3";
src = fetchFromGitHub {
owner = "RedHatOfficial";
repo = "RedHatFont";
rev = version;
hash = "sha256-r43KtMIedNitb5Arg8fTGB3hrRZoA8oUHVEL24k4LeQ=";
};
installPhase = ''
runHook preInstall
for kind in mono proportional; do
install -m444 -Dt $out/share/fonts/opentype fonts/$kind/static/otf/*.otf
install -m444 -Dt $out/share/fonts/truetype fonts/$kind/static/ttf/*.ttf
done
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/RedHatOfficial/RedHatFont";
description = "Red Hat's Open Source Fonts - Red Hat Display and Red Hat Text";
license = licenses.ofl;
platforms = platforms.all;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,118 @@
{
lib,
stdenv,
fetchFromGitea,
fetchurl,
lua,
jemalloc,
pkg-config,
tcl,
which,
ps,
getconf,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
systemd,
# dependency ordering is broken at the moment when building with openssl
tlsSupport ? !stdenv.hostPlatform.isStatic,
openssl,
# Using system jemalloc fixes cross-compilation and various setups.
# However the experimental 'active defragmentation' feature of redict requires
# their custom patched version of jemalloc.
useSystemJemalloc ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "redict";
version = "7.3.2";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "redict";
repo = "redict";
rev = finalAttrs.version;
hash = "sha256-MY4OWoYQ4a5efqcUTN6lNL/kd1VrJ/OBqKw27cQ5WC8=";
};
patches = lib.optionals useSystemJemalloc [
# use system jemalloc
(fetchurl {
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/redis/-/raw/102cc861713c796756abd541bf341a4512eb06e6/redis-5.0-use-system-jemalloc.patch";
hash = "sha256-VPRfoSnctkkkzLrXEWQX3Lh5HmZaCXoJafyOG007KzM=";
})
];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
lua
]
++ lib.optional useSystemJemalloc jemalloc
++ lib.optional withSystemd systemd
++ lib.optionals tlsSupport [ openssl ];
preBuild = lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace src/Makefile --replace-fail "-flto" ""
'';
# More cross-compiling fixes.
makeFlags = [
"PREFIX=${placeholder "out"}"
]
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"AR=${stdenv.cc.targetPrefix}ar"
"RANLIB=${stdenv.cc.targetPrefix}ranlib"
]
++ lib.optionals withSystemd [ "USE_SYSTEMD=yes" ]
++ lib.optionals tlsSupport [ "BUILD_TLS=yes" ];
enableParallelBuilding = true;
hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ];
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ "-std=c11" ]);
# darwin currently lacks a pure `pgrep` which is extensively used here
doCheck = !stdenv.hostPlatform.isDarwin;
nativeCheckInputs = [
which
tcl
ps
]
++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ];
checkPhase = ''
runHook preCheck
# disable test "Connect multiple replicas at the same time": even
# upstream find this test too timing-sensitive
substituteInPlace tests/integration/replication.tcl \
--replace-fail "foreach mdl {no yes}" "foreach mdl {}"
substituteInPlace tests/support/server.tcl \
--replace-fail "exec /usr/bin/env" "exec env"
sed -i '/^proc wait_load_handlers_disconnected/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
tests/support/util.tcl
./runtest \
--no-latency \
--timeout 2000 \
--clients $NIX_BUILD_CORES \
--tags -leaks \
--skipunit integration/failover # flaky and slow
runHook postCheck
'';
meta = {
homepage = "https://redict.io";
description = "Distributed key/value store";
license = lib.licenses.lgpl3Only;
platforms = lib.platforms.all;
changelog = "https://codeberg.org/redict/redict/releases/tag/${finalAttrs.version}";
maintainers = with lib.maintainers; [ yuka ];
mainProgram = "redict-cli";
};
})

View File

@@ -0,0 +1,29 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation rec {
pname = "redir";
version = "3.3";
src = fetchFromGitHub {
owner = "troglobit";
repo = "redir";
rev = "v${version}";
sha256 = "13n401i3q0xwpfgr21y47kgihi057wbh59xlsna8b8zpm973qny1";
};
nativeBuildInputs = [ autoreconfHook ];
meta = {
description = "TCP port redirector for UNIX";
homepage = "https://github.com/troglobit/redir";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = lib.platforms.unix;
mainProgram = "redir";
};
}

View File

@@ -0,0 +1,30 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
}:
buildGoModule rec {
pname = "redis-dump-go";
version = "0.8.2";
src = fetchFromGitHub {
owner = "yannh";
repo = "redis-dump-go";
tag = "v${version}";
hash = "sha256-+5iYigtMQvd6D90mpKyMa7ZKm2UDtCG91uFZ7dURBT4=";
};
vendorHash = null;
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/yannh/redis-dump-go";
description = "Dump Redis keys to a file in RESP format using multiple connections";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.richiejp ];
changelog = "https://github.com/yannh/redis-dump-go/releases/tag/v${version}";
};
}

View File

@@ -0,0 +1,3 @@
---
BUNDLE_PATH: vendor
BUNDLE_DISABLE_SHARED_GEMS: '1'

View File

@@ -0,0 +1,3 @@
source 'https://rubygems.org'
gem 'redis-dump'

View File

@@ -0,0 +1,21 @@
GEM
remote: https://rubygems.org/
specs:
drydock (0.6.9)
redis (4.1.0)
redis-dump (0.4.0)
drydock (>= 0.6.9)
redis (>= 4.0)
uri-redis (>= 0.4.0)
yajl-ruby (>= 0.1)
uri-redis (0.4.2)
yajl-ruby (1.4.1)
PLATFORMS
ruby
DEPENDENCIES
redis-dump
BUNDLED WITH
2.1.4

View File

@@ -0,0 +1,58 @@
{
drydock = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0grf3361mh93lczljmnwafl7gbcp9kk1bjpfwx4ykpd43fzdbfyj";
type = "gem";
};
version = "0.6.9";
};
redis = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0rk6mmy3y2jd34llrf591ribl1p54ghkw7m96wrbamy8fwva5zqv";
type = "gem";
};
version = "4.1.0";
};
redis-dump = {
dependencies = [
"drydock"
"redis"
"uri-redis"
"yajl-ruby"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1gvip73kgm8xvyjmjkz4b986wni9blsmrnpvp5jrsxjz3g0sqzwg";
type = "gem";
};
version = "0.4.0";
};
uri-redis = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "13n8ak41rikkbmml054pir4i1xbgjpmf3dbqihc2kcrgmz3dg81a";
type = "gem";
};
version = "0.4.2";
};
yajl-ruby = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf";
type = "gem";
};
version = "1.4.1";
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
bundlerApp,
bundlerUpdateScript,
}:
bundlerApp {
pname = "redis-dump";
gemdir = ./.;
exes = [
"redis-dump"
"redis-load"
];
passthru.updateScript = bundlerUpdateScript "redis-dump";
meta = with lib; {
description = "Backup and restore your Redis data to and from JSON";
homepage = "https://delanotes.com/redis-dump/";
license = licenses.mit;
maintainers = with maintainers; [
offline
manveru
nicknovitski
];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,14 @@
diff --git a/cmake/redis++.pc.in b/cmake/redis++.pc.in
index c98b990..46849b6 100644
--- a/cmake/redis++.pc.in
+++ b/cmake/redis++.pc.in
@@ -1,7 +1,5 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-includedir=${prefix}/include
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
Name: redis++
Description: This is a Redis client, based on hiredis and written in C++11. It supports scritpting, pub/sub, pipeline, transaction, Redis Cluster, Redis Sentinel, connection pool, ACL, SSL and thread safety.

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
hiredis,
enableShared ? !stdenv.hostPlatform.isStatic,
enableStatic ? stdenv.hostPlatform.isStatic,
}:
# You must build at one type of library
assert enableShared || enableStatic;
stdenv.mkDerivation rec {
pname = "redis-plus-plus";
version = "1.3.15";
src = fetchFromGitHub {
owner = "sewenew";
repo = "redis-plus-plus";
rev = version;
sha256 = "sha256-0q+pQ2tS04RYKsikTG5QMuTPW3f6+fFIPuJZVf/aIw0=";
};
patches = [
./0001-Fix-pkg-config-paths.patch
];
nativeBuildInputs = [ cmake ];
propagatedBuildInputs = [ hiredis ];
cmakeFlags = [
"-DREDIS_PLUS_PLUS_BUILD_TEST=OFF"
]
++ lib.optionals (!enableShared) [
"-DREDIS_PLUS_PLUS_BUILD_SHARED=OFF"
]
++ lib.optionals (!enableStatic) [
"-DREDIS_PLUS_PLUS_BUILD_STATIC=OFF"
];
meta = with lib; {
homepage = "https://github.com/sewenew/redis-plus-plus";
description = "Redis client written in C++";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = with maintainers; [ wheelsandmetal ];
};
}

View File

@@ -0,0 +1,139 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
lua,
jemalloc,
pkg-config,
nixosTests,
tcl,
which,
ps,
getconf,
systemd,
openssl,
python3,
nix-update-script,
versionCheckHook,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
tlsSupport ? true,
# Using system jemalloc fixes cross-compilation and various setups.
# However the experimental 'active defragmentation' feature of redis requires
# their custom patched version of jemalloc.
useSystemJemalloc ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "redis";
version = "8.2.2";
src = fetchFromGitHub {
owner = "redis";
repo = "redis";
tag = finalAttrs.version;
hash = "sha256-0TMUSNCrDEtOkojcmFFhmLQ0ghyLAn+OS4xl4Sbr76c=";
};
patches = lib.optional useSystemJemalloc (fetchpatch2 {
url = "https://gitlab.archlinux.org/archlinux/packaging/packages/redis/-/raw/102cc861713c796756abd541bf341a4512eb06e6/redis-5.0-use-system-jemalloc.patch";
hash = "sha256-A9qp+PWQRuNy/xmv9KLM7/XAyL7Tzkyn0scpVCGngcc=";
});
nativeBuildInputs = [
pkg-config
which
python3
];
buildInputs = [
lua
]
++ lib.optional useSystemJemalloc jemalloc
++ lib.optional withSystemd systemd
++ lib.optional tlsSupport openssl;
# More cross-compiling fixes.
makeFlags = [
"PREFIX=${placeholder "out"}"
]
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"AR=${stdenv.cc.targetPrefix}ar"
"RANLIB=${stdenv.cc.targetPrefix}ranlib"
]
++ lib.optionals withSystemd [ "USE_SYSTEMD=yes" ]
++ lib.optionals tlsSupport [ "BUILD_TLS=yes" ];
enableParallelBuilding = true;
hardeningEnable = lib.optionals (!stdenv.hostPlatform.isDarwin) [ "pie" ];
env.NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isFreeBSD "-lexecinfo";
# darwin currently lacks a pure `pgrep` which is extensively used here
doCheck = !stdenv.hostPlatform.isDarwin;
nativeCheckInputs = [
which
tcl
ps
]
++ lib.optionals stdenv.hostPlatform.isStatic [ getconf ];
checkPhase = ''
runHook preCheck
# disable test "Connect multiple replicas at the same time": even
# upstream find this test too timing-sensitive
substituteInPlace tests/integration/replication.tcl \
--replace-fail 'foreach sdl {disabled swapdb} {' 'foreach sdl {} {'
substituteInPlace tests/support/server.tcl \
--replace-fail 'exec /usr/bin/env' 'exec env'
sed -i \
-e '/^proc wait_load_handlers_disconnected/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
-e '/^proc wait_for_ofs_sync/{n ; s/wait_for_condition 50 100/wait_for_condition 50 500/; }' \
tests/support/util.tcl
CLIENTS="$NIX_BUILD_CORES"
if (( $CLIENTS > 4)); then
CLIENTS=4
fi
./runtest \
--no-latency \
--timeout 2000 \
--clients "$CLIENTS" \
--tags -leaks \
--skipunit integration/aof-multi-part \
--skipunit integration/failover \
--skipunit integration/replication-rdbchannel \
--skiptest "Check MEMORY USAGE for embedded key strings with jemalloc"
# ^ breaks due to unexpected and varying address space sizes that jemalloc gets built with
runHook postCheck
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/redis-server";
versionCheckProgramArg = "--version";
passthru = {
tests.redis = nixosTests.redis;
serverBin = "redis-server";
updateScript = nix-update-script { };
};
meta = {
homepage = "https://redis.io";
description = "Open source, advanced key-value store";
license = lib.licenses.agpl3Only;
platforms = lib.platforms.all;
changelog = "https://github.com/redis/redis/releases/tag/${finalAttrs.version}";
maintainers = with lib.maintainers; [
berdario
globin
];
mainProgram = "redis-cli";
};
})

View File

@@ -0,0 +1,19 @@
{
lib,
callPackage,
makeSetupHook,
valkey,
python3Packages,
}:
makeSetupHook {
name = "redis-test-hook";
substitutions = {
cli = lib.getExe' valkey "redis-cli";
server = lib.getExe' valkey "redis-server";
};
passthru.tests = {
simple = callPackage ./test.nix { };
python3-valkey = python3Packages.valkey;
};
} ./redis-test-hook.sh

Some files were not shown because too many files have changed in this diff Show More