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,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "np";
version = "0.11.0";
src = fetchFromGitHub {
owner = "leesoh";
repo = "np";
tag = "v${version}";
hash = "sha256-4krjQi/zEC4a+CjacgbnQIMKKFVr6H2FSwRVB6pkHf0=";
};
vendorHash = "sha256-rSg4YFLZdtyC/tm/EULyt7r0O9PXI72W8y6/ltDSbj4=";
ldflags = [
"-s"
"-w"
];
meta = {
description = "Tool to parse, deduplicate, and query multiple port scans";
homepage = "https://github.com/leesoh/np";
changelog = "https://github.com/leesoh/np/releases/tag/v${version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "np";
};
}

View File

@@ -0,0 +1,127 @@
{
stdenv,
lib,
fetchFromGitHub,
unstableGitUpdater,
writeShellApplication,
cmake,
fontconfig,
freetype,
glib,
gtk2,
libusb1,
libX11,
openssl,
pkg-config,
SDL2,
SDL2_ttf,
SDL2_mixer,
enable16Bit ? true,
enableX11 ? stdenv.hostPlatform.isLinux,
# HAXM build succeeds but the binary segfaults, seemingly due to the missing HAXM kernel module
# Enable once there is a HAXM kernel module option in NixOS? Or somehow bind it to the system kernel having HAXM?
# Or leave it disabled by default?
# https://github.com/intel/haxm/blob/master/docs/manual-linux.md
enableHAXM ? false,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "np2kai";
version = "0.86rev22-unstable-2025-09-13";
src = fetchFromGitHub {
owner = "AZO234";
repo = "NP2kai";
rev = "02b08deb3833305251fb3ee6c5d59b0efb5b52ff";
hash = "sha256-5aGlqYS05rUh+mD9TdCC9H+5JkOQCTn45UlEu7xcxLw=";
};
# Don't require Git
# Use SDL2(_*) targets for correct includedirs
# Add return type in ancient code
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail 'if(NOT git_result EQUAL 0)' 'if(FALSE)' \
--replace-fail "\''${SDL2_DEFINE}" "" \
--replace-fail "\''${SDL2_INCLUDE_DIR}" "" \
--replace-fail "\''${SDL2_LIBRARY}" "SDL2::SDL2" \
--replace-fail "\''${SDL2_MIXER_DEFINE}" "" \
--replace-fail "\''${SDL2_MIXER_INCLUDE_DIR}" "" \
--replace-fail "\''${SDL2_MIXER_LIBRARY}" "SDL2_mixer::SDL2_mixer" \
--replace-fail "\''${SDL2_TTF_DEFINE}" "" \
--replace-fail "\''${SDL2_TTF_INCLUDE_DIR}" "" \
--replace-fail "\''${SDL2_TTF_LIBRARY}" "SDL2_ttf::SDL2_ttf" \
substituteInPlace x/cmserial.c \
--replace-fail 'convert_np2tocm(UINT port, UINT8* param, UINT32* speed) {' 'int convert_np2tocm(UINT port, UINT8* param, UINT32* speed) {'
substituteInPlace x/gtk2/gtk_menu.c \
--replace-fail 'xmenu_visible_item(MENU_HDL hdl, const char *name, BOOL onoff)' 'int xmenu_visible_item(MENU_HDL hdl, const char *name, BOOL onoff)'
'';
strictDeps = true;
nativeBuildInputs = [
cmake
]
++ lib.optionals enableX11 [
pkg-config
];
buildInputs = [
libusb1
openssl
SDL2
SDL2_ttf
SDL2_mixer
]
++ lib.optionals enableX11 [
fontconfig
freetype
glib
gtk2
libX11
];
cmakeFlags = [
(lib.cmakeBool "BUILD_SDL" true)
(lib.cmakeBool "BUILD_X" enableX11)
(lib.cmakeBool "BUILD_HAXM" enableHAXM)
(lib.cmakeBool "BUILD_I286" enable16Bit)
(lib.cmakeBool "USE_SDL" true)
(lib.cmakeBool "USE_SDL2" true)
(lib.cmakeBool "USE_SDL_MIXER" true)
(lib.cmakeBool "USE_SDL_TTF" true)
(lib.cmakeBool "USE_X" enableX11)
(lib.cmakeBool "USE_HAXM" enableHAXM)
];
enableParallelBuilding = true;
env = {
NP2KAI_VERSION = finalAttrs.version;
NP2KAI_HASH = builtins.substring 0 7 finalAttrs.src.rev;
# GCC 14 incompatibility
NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
};
passthru.updateScript = unstableGitUpdater {
# 0.86 version prefix is implied, add it back for our versioning
tagConverter = lib.getExe (writeShellApplication {
name = "update-np2kai";
text = ''
sed -e 's/^rev\./0.86rev/g'
'';
});
};
meta = {
description = "PC-9801 series emulator";
homepage = "https://github.com/AZO234/NP2kai";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ OPNA2608 ];
mainProgram = "${if enableX11 then "x" else "sdl"}np21kai";
platforms = lib.platforms.x86;
};
})

View File

@@ -0,0 +1,25 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "npapi-sdk";
version = "0.27.2";
src = fetchurl {
url = "https://bitbucket.org/mgorny/npapi-sdk/downloads/${pname}-${version}.tar.bz2";
sha256 = "0xxfcsjmmgbbyl9zwpzdshbx27grj5fnzjfmldmm9apws2yk9gq1";
};
meta = with lib; {
description = "Bundle of NPAPI headers by Mozilla";
homepage = "https://bitbucket.org/mgorny/npapi-sdk"; # see also https://github.com/mozilla/npapi-sdk
license = licenses.bsd3;
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,3 @@
{
"depends": []
}

View File

@@ -0,0 +1,47 @@
{
lib,
fetchFromGitHub,
buildNimPackage,
nim-2_0,
}:
let
buildNimPackage' = buildNimPackage.override {
# Do not build with Nim-2.2.x.
nim2 = nim-2_0;
};
in
buildNimPackage' (finalAttrs: {
pname = "nph";
version = "0.6.1";
postPatch = ''
substituteInPlace src/nph.nim \
--replace-fail 'git describe --long --dirty --always --tags' "echo ${finalAttrs.version}"
'';
src = fetchFromGitHub {
owner = "arnetheduck";
repo = "nph";
rev = "v${finalAttrs.version}";
hash = "sha256-RIuggg09l7jZDg91FPrjwdoE+gCxgb7c8fEvCiwQk5U=";
};
lockFile = ./lock.json;
checkPhase = ''
runHook preCheck
$out/bin/nph tests/before
diff tests/before tests/after -x "*.yaml"
runHook postCheck
'';
meta = {
description = "Opinionated code formatter for Nim";
homepage = "https://github.com/arnetheduck/nph";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ sigmanificient ];
mainProgram = "nph";
};
})

View File

@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchurl,
gd,
giflib,
groff,
libpng,
tk,
callPackage,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "npiet";
version = "1.3f";
src = fetchurl {
url = "https://www.bertnase.de/npiet/npiet-${finalAttrs.version}.tar.gz";
hash = "sha256-Le2FYGKr1zWZ6F4edozmvGC6LbItx9aptidj3KBLhVo=";
};
buildInputs = [
gd
giflib
libpng
];
nativeBuildInputs = [ groff ];
postPatch = ''
# malloc.h is not needed because stdlib.h is already included.
# On macOS, malloc.h does not even exist, resulting in an error.
substituteInPlace npiet-foogol.c \
--replace-fail '#include <malloc.h>' ""
substituteInPlace npietedit \
--replace-fail 'exec wish' 'exec ${tk}/bin/wish'
'';
strictDeps = true;
passthru.tests =
let
all-tests = callPackage ./tests { };
in
{
inherit (all-tests)
hello
prime
no-prime
brainfuck
;
};
meta = {
description = "Interpreter for piet programs. Also includes npietedit and npiet-foogol";
longDescription = ''
npiet is an interpreter for the piet programming language.
Instead of text, piet programs are pictures. Commands are determined based on changes in color.
'';
homepage = "https://www.bertnase.de/npiet/";
changelog = "https://www.bertnase.de/npiet/ChangeLog";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.unix;
mainProgram = "npiet";
maintainers = with lib.maintainers; [ Luflosi ];
};
})

View File

@@ -0,0 +1,41 @@
{ fetchurl, callPackage }:
let
# More examples can be found at https://www.dangermouse.net/esoteric/piet/samples.html
hello-program = fetchurl {
url = "https://www.dangermouse.net/esoteric/piet/hw6.png";
hash = "sha256-E8OMu0b/oU8lDF3X4o5WMnnD1IKNT2YF+qe4MXLuczI=";
};
prime-tester-program = fetchurl {
url = "https://www.bertnase.de/npiet/nprime.gif";
hash = "sha256-4eaJweV/n73byoWZWCXiMLkfSEhMPf5itVwz48AK/FA=";
};
brainfuck-interpreter-program = fetchurl {
url = "https://www.dangermouse.net/esoteric/piet/piet_bfi.gif";
hash = "sha256-LIfOG0KFpr4nxAtLLeIsPQl+8Ujyvfz/YnEm/HRoVjY=";
};
in
{
hello = callPackage ./run-test.nix {
testName = "hello";
programPath = hello-program;
expectedOutput = "Hello, world!";
};
prime = callPackage ./run-test.nix {
testName = "prime";
programPath = prime-tester-program;
programInput = "2069";
expectedOutput = "Y";
};
no-prime = callPackage ./run-test.nix {
testName = "no-prime";
programPath = prime-tester-program;
programInput = "2070";
expectedOutput = "N";
};
brainfuck = callPackage ./run-test.nix {
testName = "brainfuck";
programPath = brainfuck-interpreter-program;
programInput = ",+>,+>,+>,+.<.<.<.|sdhO";
expectedOutput = "Piet";
};
}

View File

@@ -0,0 +1,19 @@
{
runCommand,
lib,
npiet,
testName,
programPath,
programInput ? "",
expectedOutput,
}:
runCommand "npiet-test-${testName}" { } ''
actual_output="$(echo '${programInput}' | '${lib.getExe npiet}' -q -w -e 100000 '${programPath}')"
if [ "$actual_output" != '${expectedOutput}' ]; then
echo "npiet failed to run the program correctly. The output should be ${expectedOutput} but is $actual_output."
exit 1
fi
echo "The program successfully output $actual_output"
touch "$out"
''

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
buildPackages,
rustPlatform,
fetchFromGitHub,
installShellFiles,
nix-update-script,
}:
let
emulatorAvailable = stdenv.hostPlatform.emulatorAvailable buildPackages;
emulator = stdenv.hostPlatform.emulator buildPackages;
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "npingler";
version = "0.4.0";
src = fetchFromGitHub {
owner = "9999years";
repo = "npingler";
tag = "v${finalAttrs.version}";
hash = "sha256-d34IGZ+Xdzknkmz+JemEEEYde+8zowuGOlGKlm7F3Jk=";
};
cargoHash = "sha256-Fs5LPy9dX2hRyMo/YASQesXQoklqYDV78eXnlecet0E=";
buildFeatures = [ "clap_mangen" ];
nativeBuildInputs = [
installShellFiles
];
postInstall = lib.optionalString emulatorAvailable ''
manpages=$(mktemp -d)
${emulator} $out/bin/npingler util generate-man-pages "$manpages"
for manpage in "$manpages"/*; do
installManPage "$manpage"
done
installShellCompletion --cmd npingler \
--bash <(${emulator} $out/bin/npingler util generate-completions bash) \
--fish <(${emulator} $out/bin/npingler util generate-completions fish) \
--zsh <(${emulator} $out/bin/npingler util generate-completions zsh)
'';
meta = {
description = "Nix profile manager for use with npins";
homepage = "https://github.com/9999years/npingler";
license = lib.licenses.mit;
maintainers = [
lib.maintainers._9999years
];
mainProgram = "npingler";
};
passthru.updateScript = nix-update-script { };
})

View File

@@ -0,0 +1,53 @@
{
lib,
rustPlatform,
fetchFromGitHub,
makeWrapper,
# runtime dependencies
nix-prefetch-git,
git, # for git ls-remote
}:
let
runtimePath = lib.makeBinPath [
nix-prefetch-git
git
];
in
rustPlatform.buildRustPackage rec {
pname = "npins";
version = "0.3.1";
src = fetchFromGitHub {
owner = "andir";
repo = "npins";
tag = version;
sha256 = "sha256-PPk9Ve1pM3X7NfGeGb8Jiq4YDEwAjErP4xzGwLaakTU=";
};
cargoHash = "sha256-YRW2TqbctuGC2M6euR4bb0m9a19m8WQVvWucRMpzkQE=";
buildNoDefaultFeatures = true;
buildFeatures = [
"clap"
"crossterm"
"env_logger"
];
nativeBuildInputs = [ makeWrapper ];
# (Almost) all tests require internet
doCheck = false;
postFixup = ''
wrapProgram $out/bin/npins --prefix PATH : "${runtimePath}"
'';
meta = with lib; {
description = "Simple and convenient dependency pinning for Nix";
mainProgram = "npins";
homepage = "https://github.com/andir/npins";
license = licenses.eupl12;
maintainers = with maintainers; [ piegames ];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
}:
buildNpmPackage rec {
pname = "npkill";
version = "0.12.2";
src = fetchFromGitHub {
owner = "voidcosmos";
repo = "npkill";
rev = "v${version}";
hash = "sha256-0pouc+5kl5bjaNYz81OD5FZppYXKdyMBRvEq/DedEV4=";
};
npmDepsHash = "sha256-3ggcr0KxWbO5mHRgtB5rzGYQvpDoiy9EyRS0O+9MJEI=";
strictDeps = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Easily find and remove old and heavy node_modules folders";
homepage = "https://npkill.js.org";
changelog = "https://github.com/voidcosmos/npkill/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ averyanalex ];
mainProgram = "npkill";
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "npm-check-updates";
version = "19.0.0";
src = fetchFromGitHub {
owner = "raineorshine";
repo = "npm-check-updates";
rev = "refs/tags/v${version}";
hash = "sha256-C3W3Yt28MpKEW7a8BXD2e/dzJhR9WHPrqPDo3ohTYpU=";
};
npmDepsHash = "sha256-dpVPfBbazloSg0WVlgyGfMjOxLhALUyQDOBqM0Z915o=";
postPatch = ''
sed -i '/"prepare"/d' package.json
'';
makeCacheWritable = true;
meta = {
changelog = "https://github.com/raineorshine/npm-check-updates/blob/${src.rev}/CHANGELOG.md";
description = "Find newer versions of package dependencies than what your package.json allows";
homepage = "https://github.com/raineorshine/npm-check-updates";
license = lib.licenses.asl20;
mainProgram = "ncu";
maintainers = with lib.maintainers; [ flosse ];
};
}

View File

@@ -0,0 +1,32 @@
{
buildNpmPackage,
fetchFromGitHub,
lib,
}:
buildNpmPackage rec {
pname = "npm-check";
version = "6.0.1";
src = fetchFromGitHub {
owner = "dylang";
repo = "npm-check";
rev = "v${version}";
hash = "sha256-F7bMvGqOxJzoaw25VR6D90UNwT8HxZ4PZhhQEvQFDn4=";
};
npmDepsHash = "sha256-KRLgLWikcCWMF8/cOxThom6DHE9ar6WO/9HtosJQnLE=";
npmFlags = [ "--legacy-peer-deps" ];
dontNpmBuild = true;
meta = {
description = "Check for outdated, incorrect, and unused dependencies";
mainProgram = "npm-check";
homepage = "https://github.com/dylang/npm-check";
changelog = "https://github.com/dylang/npm-check/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.thomasjm ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
python3,
fetchFromGitHub,
nix-update-script,
}:
python3.pkgs.buildPythonApplication rec {
pname = "npm-lockfile-fix";
version = "0.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "jeslie0";
repo = "npm-lockfile-fix";
rev = "v${version}";
hash = "sha256-P93OowrVkkOfX5XKsRsg0c4dZLVn2ZOonJazPmHdD7g=";
};
build-system = with python3.pkgs; [
setuptools
];
dependencies = with python3.pkgs; [
requests
];
doCheck = false; # no tests
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Add missing integrity and resolved fields to a package-lock.json file";
homepage = "https://github.com/jeslie0/npm-lockfile-fix";
mainProgram = "npm-lockfile-fix";
license = lib.licenses.mit;
maintainers = with maintainers; [
lucasew
felschr
];
};
}

View File

@@ -0,0 +1,44 @@
{
lib,
nix,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "nps";
version = "0.2.9";
src = fetchFromGitHub {
owner = "OleMussmann";
repo = "nps";
tag = "v${version}";
hash = "sha256-q/PkigsNAI7MCmeDFBMGuZJFXVL95pQCNOVhNvBH9dc=";
};
cargoHash = "sha256-MThyvhzZXRM4l0K8csLDldMVKiDxKZ5EIFATGVpGpVc=";
nativeCheckInputs = [ nix ];
meta = {
description = "Cache the nix package list, query and sort results by relevance";
longDescription = ''
Find SEARCH_TERM in available nix packages and sort results by relevance.
List up to three columns, the latter two being optional:
PACKAGE_NAME <PACKAGE_VERSION> <PACKAGE_DESCRIPTION>
Matches are sorted by type. Show 'indirect' matches first, then 'direct' matches, and finally 'exact' matches.
indirect fooSEARCH_TERMbar (SEARCH_TERM appears in any column)
direct SEARCH_TERMbar (PACKAGE_NAME starts with SEARCH_TERM)
exact SEARCH_TERM (PACKAGE_NAME is exactly SEARCH_TERM)
'';
changelog = "https://github.com/OleMussmann/nps/releases/tag/v${version}";
homepage = "https://github.com/OleMussmann/nps";
license = lib.licenses.mit;
mainProgram = "nps";
maintainers = with lib.maintainers; [ olemussmann ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchurl,
autoreconfHook,
pkgsCross,
}:
stdenv.mkDerivation rec {
pname = "npth";
version = "1.8";
src = fetchurl {
url = "mirror://gnupg/npth/npth-${version}.tar.bz2";
hash = "sha256-i9JLTyOjBl1uWybpirqc54PqT9eBBpwbNdFJaU6Qyj4=";
};
nativeBuildInputs = [ autoreconfHook ];
doCheck = true;
passthru.tests = {
musl = pkgsCross.musl64.npth;
};
meta = with lib; {
description = "New GNU Portable Threads Library";
longDescription = ''
This is a library to provide the GNU Pth API and thus a non-preemptive
threads implementation.
In contrast to GNU Pth is is based on the system's standard threads
implementation. This allows the use of libraries which are not
compatible to GNU Pth. Experience with a Windows Pth emulation showed
that this is a solid way to provide a co-routine based framework.
'';
homepage = "http://www.gnupg.org";
license = licenses.lgpl3;
platforms = platforms.all;
};
}