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,63 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
ncurses,
autoreconfHook,
}:
stdenv.mkDerivation rec {
version = "0.7.4";
pname = "nload";
src = fetchurl {
url = "http://www.roland-riegel.de/nload/${pname}-${version}.tar.gz";
sha256 = "1rb9skch2kgqzigf19x8bzk211jdfjfdkrcvaqyj89jy2pkm3h61";
};
patches = [
# Fixes an ugly bug of graphs scrolling to the side, corrupting the view.
# There is an upstream fix, but not a new upstream release that includes it.
# Other distributions like Gentoo also patch this as a result; see:
# https://github.com/rolandriegel/nload/issues/3#issuecomment-427579143
# TODO Remove when https://github.com/rolandriegel/nload/issues/3 is merged and available
(fetchpatch {
url = "https://github.com/rolandriegel/nload/commit/8a93886e0fb33a81b8fe32e88ee106a581fedd34.patch";
name = "nload-0.7.4-Eliminate-flicker-on-some-terminals.patch";
sha256 = "10yppy5l50wzpcvagsqkbyf1rcan6aj30am4rw8hmkgnbidf4zbq";
})
# Patches configure.in file to make configure compile on macOS.
# Patch taken from MacPorts.
(fetchpatch {
url = "https://github.com/macports/macports-ports/raw/28814c34711e7545929fd391feb6ce079bd73fd4/net/nload/files/patch-configure.in.diff";
extraPrefix = "";
hash = "sha256-lGbBG5ZOgMVnrwlwXVFGbUZx6RkmQwYSVLB3oqkAWRs=";
})
# Fixes crash on F2 and garbage in adapter name.
# Patch taken from Homebrew.
(fetchpatch {
url = "https://sourceforge.net/p/nload/bugs/_discuss/thread/c9b68d8e/4a65/attachment/devreader-bsd.cpp.patch";
extraPrefix = "";
hash = "sha256-umRQDqcRUOGELOx5iB6CPFRkjaD8HXkMCWiKsYdaUa0=";
})
];
nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin autoreconfHook;
buildInputs = [ ncurses ];
meta = {
description = "Monitors network traffic and bandwidth usage with ncurses graphs";
longDescription = ''
nload is a console application which monitors network traffic and
bandwidth usage in real time. It visualizes the in- and outgoing traffic
using two graphs and provides additional info like total amount of
transfered data and min/max network usage.
'';
homepage = "https://www.roland-riegel.de/nload/index.html";
license = lib.licenses.gpl2;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.devhell ];
mainProgram = "nload";
};
}

View File

@@ -0,0 +1,64 @@
{
stdenv,
lib,
fetchFromGitHub,
fetchpatch,
cmake,
}:
let
testData = fetchFromGitHub {
owner = "nlohmann";
repo = "json_test_data";
rev = "v3.1.0";
hash = "sha256-bG34W63ew7haLnC82A3lS7bviPDnApLipaBjJAjLcVk=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "nlohmann_json";
version = "3.12.0";
src = fetchFromGitHub {
owner = "nlohmann";
repo = "json";
rev = "v${finalAttrs.version}";
hash = "sha256-cECvDOLxgX7Q9R3IE86Hj9JJUxraDQvhoyPDF03B2CY=";
};
patches = lib.optionals stdenv.hostPlatform.isMusl [
# Musl does not support LC_NUMERIC, causing a test failure.
# Turn the error into a warning to make the test succeed.
# https://github.com/nlohmann/json/pull/4770
(fetchpatch {
url = "https://github.com/nlohmann/json/commit/0a8b48ac6a89131deaeb0d57047c9462a23b34a2.diff";
hash = "sha256-gOZfRyDRI6USdUIY+sH7cygPrSIKGIo8AWcjqc/GQNI=";
})
];
nativeBuildInputs = [ cmake ];
cmakeFlags = [
# .pc file uses INCLUDEDIR as a relative path
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DJSON_BuildTests=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}"
"-DJSON_FastTests=ON"
"-DJSON_MultipleHeaders=ON"
]
++ lib.optional finalAttrs.finalPackage.doCheck "-DJSON_TestDataDirectory=${testData}";
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
# skip tests that require git or modify “installed files”
preCheck = ''
checkFlagsArray+=("ARGS=-LE 'not_reproducible|git_required'")
'';
postInstall = "rm -rf $out/lib64";
meta = with lib; {
description = "JSON for Modern C++";
homepage = "https://json.nlohmann.me";
changelog = "https://github.com/nlohmann/json/blob/develop/ChangeLog.md";
license = licenses.mit;
platforms = platforms.all;
};
})

View File

@@ -0,0 +1,34 @@
{
stdenv,
lib,
fetchFromGitHub,
nlohmann_json,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "nlohmann_json_schema_validator";
version = "2.3.0";
outputs = [
"out"
"dev"
];
src = fetchFromGitHub {
owner = "pboettch";
repo = "json-schema-validator";
rev = finalAttrs.version;
hash = "sha256-Ybr5dNmjBBPTYPvgorJ6t2+zvAjxYQISWXJmgUVHBVE=";
};
buildInputs = [ nlohmann_json ];
nativeBuildInputs = [ cmake ];
meta = {
description = "JSON schema validator for JSON for Modern C++";
homepage = "https://github.com/pboettch/json-schema-validator";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ br337 ];
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,30 @@
diff -rupN nlojet++-4.1.3-orig/nlo-hep/hep-lorentz/bits/hep-lorentzvector_complex.h nlojet++-4.1.3/nlo-hep/hep-lorentz/bits/hep-lorentzvector_complex.h
--- nlojet++-4.1.3-orig/nlo-hep/hep-lorentz/bits/hep-lorentzvector_complex.h 2010-05-11 11:06:00.000000000 -0400
+++ nlojet++-4.1.3/nlo-hep/hep-lorentz/bits/hep-lorentzvector_complex.h 2014-08-23 03:22:51.000000000 -0400
@@ -26,8 +26,11 @@
namespace nlo {
// Spacializations
+ template<>
class lorentzvector<std::complex<float> >;
+ template<>
class lorentzvector<std::complex<double> >;
+ template<>
class lorentzvector<std::complex<long double> >;
template<>
diff -rupN nlojet++-4.1.3-orig/nlo-hep/hep-lorentz/bits/hep-threevector_complex.h nlojet++-4.1.3/nlo-hep/hep-lorentz/bits/hep-threevector_complex.h
--- nlojet++-4.1.3-orig/nlo-hep/hep-lorentz/bits/hep-threevector_complex.h 2010-05-11 11:06:00.000000000 -0400
+++ nlojet++-4.1.3/nlo-hep/hep-lorentz/bits/hep-threevector_complex.h 2014-08-23 03:23:09.000000000 -0400
@@ -26,8 +26,11 @@
namespace nlo {
// Specializations
+ template<>
class threevector<std::complex<float> >;
+ template<>
class threevector<std::complex<double> >;
+ template<>
class threevector<std::complex<long double> >;
template<>

View File

@@ -0,0 +1,34 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "nlojet++";
version = "4.1.3";
src = fetchurl {
url = "https://desy.de/~znagy/hep-programs/nlojet++/nlojet++-${version}.tar.gz";
sha256 = "18qfn5kjzvnyh29x40zm2maqzfmrnay9r58n8pfpq5lcphdhhv8p";
};
patches = [
./nlojet_clang_fix.patch
];
env.CXXFLAGS = "-std=c++11";
# error: no member named 'finite' in the global namespace; did you mean simply 'finite'?
env.NIX_CFLAGS_COMPILE = lib.optionalString (
stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64
) "-Dfinite=isfinite";
meta = {
homepage = "http://www.desy.de/~znagy/Site/NLOJet++.html";
license = lib.licenses.gpl2;
description = "Implementation of calculation of the hadron jet cross sections";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ veprbl ];
};
}

View File

@@ -0,0 +1,150 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
nix-update-script,
# Optionally build Python bindings
withPython ? false,
python3,
python3Packages,
# Optionally build Octave bindings
withOctave ? false,
octave,
# Optionally build Java bindings
withJava ? false,
jdk,
# Required for building the Python and Java bindings
swig,
# Optionally exclude Luksan solvers to allow licensing under MIT
withoutLuksanSolvers ? false,
# Build static on-demand
withStatic ? stdenv.hostPlatform.isStatic,
# v2.8.0 introduced a regression where testing on Linux platforms fails with a buffer overflow
# when compiled with -D_FORTIFY_SOURCE=3.
# This was deemed to be a compiler false positive by the library's author in https://github.com/stevengj/nlopt/issues/563.
# Building with `clangStdenv` prevents this from occurring.
clangStdenv,
}:
let
buildPythonBindingsEnv = python3.withPackages (p: [ p.numpy ]);
buildDocsEnv = python3.withPackages (p: [
p.mkdocs
p.python-markdown-math
]);
in
clangStdenv.mkDerivation (finalAttrs: {
pname = "nlopt";
version = "2.10.0";
src = fetchFromGitHub {
owner = "stevengj";
repo = "nlopt";
tag = "v${finalAttrs.version}";
hash = "sha256-mZRmhXrApxfiJedk+L/poIP2DR/BkV04c5fiwPGAyjI=";
};
outputs = [
"out"
"doc"
];
patches = [
# 26-03-2025: `mkdocs.yml` is missing a link for the subpage related to the Java bindings.
# 26-03-2025: This commit was merged after v2.10.0 was released, and has not been made
# 26-03-2025: part of a release.
(fetchpatch {
name = "missing-java-reference-mkdocs";
url = "https://github.com/stevengj/nlopt/commit/7e34f1a6fe82ed27daa6111d83c4d5629555454b.patch";
hash = "sha256-XivfZtgIGLyTtU+Zo2jSQAx2mVdGLJ8PD7VSSvGR/5Q=";
})
# 26-03-2025: The docs pages still list v2.7.1 as the newest version.
# 26-03-2025: This commit was merged after v2.10.0 was released, and has not been made
# 26-03-2025: part of a release.
(fetchpatch {
name = "update-index-md";
url = "https://github.com/stevengj/nlopt/commit/2c4147832eff7ea15d0536c82351a9e169f85e43.patch";
hash = "sha256-BXcbNUyu20f3N146v6v9cpjSj5CwuDtesp6lAqOK2KY=";
})
# 26-03-2025: There is an off-by-one error in the test/CMakeLists.txt
# 26-03-2025: that causes the tests to attempt to run disabled Luksan solver code,
# 26-03-2025: which in turn causes the test suite to fail.
# 26-03-2025: See https://github.com/stevengj/nlopt/pull/605
(fetchpatch {
name = "fix-nondisabled-luksan-algorithm";
url = "https://github.com/stevengj/nlopt/commit/7817ec19f21be6877a4b79777fc5315a52c6850b.patch";
hash = "sha256-KgdAMSYKOQuraun4HNr9GOx48yjyeQk6W3IgWRA44oo=";
})
];
postPatch = ''
substituteInPlace nlopt.pc.in \
--replace-fail 'libdir=''${exec_prefix}/@NLOPT_INSTALL_LIBDIR@' 'libdir=@NLOPT_INSTALL_LIBDIR@'
'';
nativeBuildInputs = [
cmake
]
## Building the python bindings requires SWIG, and numpy in addition to the CXX routines.
## The tests also make use of the same interpreter to test the bindings.
++ lib.optionals withPython [
swig
buildPythonBindingsEnv
]
## Building the java bindings requires SWIG, C++, JNI and Java
++ lib.optionals withJava [
swig
jdk
]
## Building octave bindings requires `mkoctfile` to be installed.
++ lib.optional withOctave octave;
# Python bindings depend on numpy at import time.
propagatedBuildInputs = lib.optional withPython python3Packages.numpy;
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!withStatic))
(lib.cmakeBool "NLOPT_CXX" true)
(lib.cmakeBool "NLOPT_PYTHON" withPython)
(lib.cmakeBool "NLOPT_OCTAVE" withOctave)
(lib.cmakeBool "NLOPT_JAVA" withJava)
(lib.cmakeBool "NLOPT_SWIG" (withPython || withJava))
(lib.cmakeBool "NLOPT_FORTRAN" false)
(lib.cmakeBool "NLOPT_MATLAB" false)
(lib.cmakeBool "NLOPT_GUILE" false)
(lib.cmakeBool "NLOPT_LUKSAN" (!withoutLuksanSolvers))
(lib.cmakeBool "NLOPT_TESTS" finalAttrs.doCheck)
]
++ lib.optional withPython (
lib.cmakeFeature "Python_EXECUTABLE" "${buildPythonBindingsEnv.interpreter}"
);
postBuild = ''
${buildDocsEnv.interpreter} -m mkdocs build \
--config-file ../mkdocs.yml \
--site-dir $doc \
--no-directory-urls
'';
doCheck = true;
postFixup = ''
substituteInPlace $out/lib/cmake/nlopt/NLoptLibraryDepends.cmake --replace-fail \
'INTERFACE_INCLUDE_DIRECTORIES "''${_IMPORT_PREFIX}/' 'INTERFACE_INCLUDE_DIRECTORIES "'
'';
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://nlopt.readthedocs.io/en/latest/";
changelog = "https://github.com/stevengj/nlopt/releases/tag/v${finalAttrs.version}";
description = "Free open-source library for nonlinear optimization";
license = if withoutLuksanSolvers then lib.licenses.mit else lib.licenses.lgpl21Plus;
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.bengsparks ];
};
})

View File

@@ -0,0 +1,28 @@
{
symlinkJoin,
nickel,
}:
symlinkJoin {
name = "nls-${nickel.version}";
pname = "nls";
inherit (nickel) version;
paths = [ nickel.nls ];
meta = {
inherit (nickel.meta)
homepage
changelog
license
maintainers
;
description = "Language server for the Nickel programming language";
mainProgram = "nls";
longDescription = ''
The Nickel Language Server (NLS) is a language server for the Nickel
programming language. NLS offers error messages, type hints, and
auto-completion right in your favorite LSP-enabled editor.
'';
};
}