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,13 @@
diff --git a/build.sh b/build.sh
index e471563..32bdfab 100755
--- a/build.sh
+++ b/build.sh
@@ -5,7 +5,7 @@ gdb --version > /dev/null 2>&1 || printf "\033[0;31mWarning\033[0m: GDB not dete
echo q | gdb | grep "(gdb)" > /dev/null 2>&1 || printf "\033[0;31mWarning\033[0m: Your copy of GDB appears to be non-standard or has been heavily reconfigured with .gdbinit.\nIf you are using GDB plugins like 'GDB Dashboard' you must remove them,\nas otherwise gf will be unable to communicate with GDB.\n"
# Check if FreeType is available.
-if [ -d /usr/include/freetype2 ]; then extra_flags="$extra_flags -lfreetype -D UI_FREETYPE -I /usr/include/freetype2";
+if pkg-config --cflags freetype2 > /dev/null; then extra_flags="$extra_flags -D UI_FREETYPE $(pkg-config --cflags --libs freetype2)";
else printf "\033[0;31mWarning\033[0m: FreeType could not be found. The fallback font will be used.\n"; fi
# Check if SSE2 is available.

View File

@@ -0,0 +1,82 @@
{
lib,
stdenv,
makeWrapper,
fetchFromGitHub,
libX11,
pkg-config,
gdb,
freetype,
nix-update-script,
freetypeSupport ? true,
withExtensions ? true,
extraFlags ? "",
pluginsFile ? null,
}:
stdenv.mkDerivation {
pname = "gf";
version = "0-unstable-2025-10-05";
src = fetchFromGitHub {
repo = "gf";
owner = "nakst";
rev = "1c988881798263c58ead08bb74b14b6861853c64";
hash = "sha256-EodC+kxfyNdW9r9DiX1SwiyOUbv1wBfiftMm7m4BFLI=";
};
nativeBuildInputs = [
makeWrapper
pkg-config
];
buildInputs = [
libX11
gdb
]
++ lib.optional freetypeSupport freetype;
patches = [
./build-use-optional-freetype-with-pkg-config.patch
];
postPatch = [
(lib.optionalString withExtensions ''
cp ./extensions_v5/extensions.cpp .
'')
(lib.optionalString (pluginsFile != null) ''
cp ${pluginsFile} ./plugins.cpp
'')
];
preConfigure = ''
patchShebangs build.sh
'';
buildPhase = ''
runHook preBuild
extra_flags="${extraFlags} -DUI_FREETYPE_SUBPIXEL" ./build.sh
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p "$out/bin"
cp gf2 "$out/bin/"
runHook postInstall
'';
postFixup = ''
wrapProgram $out/bin/gf2 --prefix PATH : ${lib.makeBinPath [ gdb ]}
'';
passthru.updateScript = nix-update-script { extraArgs = lib.singleton "--version=branch"; };
meta = with lib; {
description = "GDB Frontend";
homepage = "https://github.com/nakst/gf";
license = licenses.mit;
platforms = platforms.linux;
mainProgram = "gf2";
maintainers = with maintainers; [ _0xd61 ];
};
}

View File

@@ -0,0 +1,51 @@
{
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
autoreconfHook,
buildPackages,
optimize ? false, # impure hardware optimizations
}:
stdenv.mkDerivation rec {
pname = "gf2x";
version = "1.3.0";
src = fetchFromGitLab {
domain = "gitlab.inria.fr";
owner = "gf2x";
repo = "gf2x";
rev = "gf2x-${version}";
sha256 = "04g5jg0i4vz46b4w2dvbmahwzi3k6b8g515mfw7im1inc78s14id";
};
patches = [
(fetchpatch {
name = "gf2x-1.3.0-configure-clang16.patch";
url = "https://gitlab.inria.fr/gf2x/gf2x/-/commit/a2f0fd388c12ca0b9f4525c6cfbc515418dcbaf8.diff";
hash = "sha256-Aj2KzWZMR24S04IbPOBPwacCU4rEiB+FFWxtRuF50LA=";
})
];
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [
autoreconfHook
];
# no actual checks present yet (as of 1.2), but can't hurt trying
# for an indirect test, run ntl's test suite
doCheck = true;
configureFlags = lib.optionals (!optimize) [
"--disable-hardware-specific-code"
];
meta = with lib; {
description = "Routines for fast arithmetic in GF(2)[x]";
homepage = "https://gitlab.inria.fr/gf2x/gf2x/";
license = licenses.gpl2Plus;
teams = [ teams.sage ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1 @@
{ python3Packages }: with python3Packages; toPythonApplication gfal2-util

View File

@@ -0,0 +1,149 @@
{
lib,
stdenv,
fetchFromGitHub,
# Native build inputs
cmake,
pkg-config,
# General build inputs
glib,
gtest,
json_c,
openldap,
# Plugin build inputs
cryptopp,
davix-copy,
dcap,
libssh2,
libuuid,
pugixml,
xrootd,
# For enablePluginStatus.https only
gsoap,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gfal2";
version = "2.23.2";
src = fetchFromGitHub {
owner = "cern-fts";
repo = "gfal2";
rev = "v${finalAttrs.version}";
hash = "sha256-gyEmz0sNHyxjvJA/3uSzLW42PQ3UVKx6nptNYl/3ExM=";
};
passthru.enablePluginStatus = {
# TODO: Change back to `true` once dcap is fixed on Darwin.
dcap = !dcap.meta.broken;
file = true;
gridftp = false;
# davix-copy's dependency gsoap is currently only available on Linux.
# TODO: Change back to `true` once gsoap is fixed on Darwin.
http = lib.meta.availableOn stdenv.hostPlatform gsoap;
lfc = false;
# Break because of redundant `-luuid`. This needs to be fixed from the gfal2 upstream.
# TODO: Change back to `true` once fixed.
mock = !stdenv.hostPlatform.isDarwin;
rfio = false;
sftp = true;
srm = false;
xrootd = true;
};
passthru.tests =
(
# Enable only one plugin in each test case,
# to ensure that they gets their dependency when invoked separately.
lib.listToAttrs (
map
(
pluginName:
lib.nameValuePair "gfal2-${pluginName}" (
finalAttrs.finalPackage.overrideAttrs (previousAttrs: {
passthru = previousAttrs.passthru // {
enablePluginStatus = lib.mapAttrs (n: v: n == pluginName) previousAttrs.passthru.enablePluginStatus;
};
})
)
)
(
lib.filter (lib.flip lib.getAttr finalAttrs.passthru.enablePluginStatus) (
lib.attrNames finalAttrs.passthru.enablePluginStatus
)
)
)
)
// {
# Disable all plugins in this test case.
gfal2-minimal = finalAttrs.finalPackage.overrideAttrs (previousAttrs: {
passthru.enablePluginStatus = lib.mapAttrs (n: v: false) previousAttrs.passthru.enablePluginStatus;
});
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = lib.unique (
[
glib
json_c
# gfal2 version older than 2.21.1 fails to see openldap 2.5+
# and will complain
# bin/ld: cannot find -lldap_r: No such file or directory
# See https://github.com/cern-fts/gfal2/blob/aa24462bb67e259e525f26fb5feb97050a8c5c61/RELEASE-NOTES
openldap
pugixml # Optional, for MDS Cache.
]
++ lib.optionals finalAttrs.passthru.enablePluginStatus.dcap [ dcap ]
++ lib.optionals finalAttrs.passthru.enablePluginStatus.http [
cryptopp
davix-copy
]
++ lib.optionals finalAttrs.passthru.enablePluginStatus.mock [ libuuid ]
++ lib.optionals finalAttrs.passthru.enablePluginStatus.sftp [ libssh2 ]
++ lib.optionals finalAttrs.passthru.enablePluginStatus.xrootd [
xrootd
libuuid
]
);
cmakeFlags =
(map (
pluginName:
"-DPLUGIN_${lib.toUpper pluginName}=${
lib.toUpper (lib.boolToString finalAttrs.passthru.enablePluginStatus.${pluginName})
}"
) (lib.attrNames finalAttrs.passthru.enablePluginStatus))
++ [ "-DSKIP_TESTS=${lib.toUpper (lib.boolToString (!finalAttrs.finalPackage.doCheck))}" ]
++ lib.optionals finalAttrs.finalPackage.doCheck [ "-DGTEST_INCLUDE_DIR=${gtest.dev}/include" ]
++ lib.optionals finalAttrs.passthru.enablePluginStatus.http [
"-DCRYPTOPP_INCLUDE_DIRS=${cryptopp.dev}/include/cryptopp"
]
++ lib.optionals finalAttrs.passthru.enablePluginStatus.xrootd [
"-DXROOTD_INCLUDE_DIR=${xrootd.dev}/include/xrootd"
];
doCheck = stdenv.hostPlatform.isLinux;
checkInputs = [
gtest
];
meta = with lib; {
description = "Multi-protocol data management library by CERN";
longDescription = ''
GFAL (Grid File Access Library )
is a C library providing an abstraction layer of
the grid storage system complexity.
The complexity of the grid is hidden from the client side
behind a simple common POSIX API.
'';
homepage = "https://github.com/cern-fts/gfal2";
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ ShamrockLee ];
mainProgram = "gfal2";
};
})

View File

@@ -0,0 +1,55 @@
diff -ru gfan0.6.2.orig/src/app_librarytest.cpp gfan0.6.2/src/app_librarytest.cpp
--- gfan0.6.2.orig/src/app_librarytest.cpp 2020-10-19 08:41:27.981863500 +0900
+++ gfan0.6.2/src/app_librarytest.cpp 2020-10-19 08:42:44.551863500 +0900
@@ -12,8 +12,8 @@
#include "setoper.h"
#include "cdd.h"
#else
-#include "cdd/setoper.h"
-#include "cdd/cdd.h"
+#include "cddlib/setoper.h"
+#include "cddlib/cdd.h"
#endif
#include <iostream>
#include <fstream>
diff -ru gfan0.6.2.orig/src/gfanlib_zcone.cpp gfan0.6.2/src/gfanlib_zcone.cpp
--- gfan0.6.2.orig/src/gfanlib_zcone.cpp 2020-10-19 08:41:27.981863500 +0900
+++ gfan0.6.2/src/gfanlib_zcone.cpp 2020-10-19 08:42:44.571863500 +0900
@@ -16,8 +16,8 @@
#include "setoper.h"
#include "cdd.h"
#else
-#include "cdd/setoper.h"
-#include "cdd/cdd.h"
+#include "cddlib/setoper.h"
+#include "cddlib/cdd.h"
#endif
//}
@@ -52,8 +52,8 @@
"dd_free_global_constants()\n"
"in your deinitialisation code (only available for cddlib version>=094d).\n"
"This requires the header includes:\n"
- "#include \"cdd/setoper.h\"\n"
- "#include \"cdd/cdd.h\"\n"
+ "#include \"cddlib/setoper.h\"\n"
+ "#include \"cddlib/cdd.h\"\n"
"\n"
"Alternatively, you may call gfan:initializeCddlibIfRequired() and deinitializeCddlibIfRequired()\n"
"if gfanlib is the only code using cddlib. If at some point cddlib is no longer required by gfanlib\n"
diff -ru gfan0.6.2.orig/src/lp_cdd.cpp gfan0.6.2/src/lp_cdd.cpp
--- gfan0.6.2.orig/src/lp_cdd.cpp 2020-10-19 08:41:27.991863500 +0900
+++ gfan0.6.2/src/lp_cdd.cpp 2020-10-19 08:42:44.571863500 +0900
@@ -5,9 +5,9 @@
#include "cdd.h"
#include "cdd_f.h"
#else
-#include "cdd/setoper.h"
-#include "cdd/cdd.h"
-#include "cdd/cdd_f.h"
+#include "cddlib/setoper.h"
+#include "cddlib/cdd.h"
+#include "cddlib/cdd_f.h"
#endif
//}
#include "termorder.h"

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchpatch,
fetchurl,
gmp,
mpir,
cddlib,
}:
stdenv.mkDerivation rec {
pname = "gfan";
version = "0.6.2";
src = fetchurl {
url = "http://home.math.au.dk/jensen/software/gfan/gfan${version}.tar.gz";
sha256 = "02pihqb1lb76a0xbfwjzs1cd6ay3ldfxsm8dvsbl6qs3vkjxax56";
};
patches = [
./gfan-0.6.2-cddlib-prefix.patch
(fetchpatch {
# removes dead code with invalid member reference in gfanlib
name = "clang-19.patch";
url = "https://github.com/Singular/Singular/commit/d3f73432d73ac0dd041af83cb35301498e9b57d9.patch";
stripLen = 2;
extraPrefix = "src/";
hash = "sha256-jPGMYx/GOFV7Tk3CqaRWeX/UHkzjeL57eZj4r40s8/g=";
})
]
++ lib.optionals (stdenv.cc.isClang) [
(fetchpatch {
name = "clang-fix-miscompilation.patch";
url = "https://raw.githubusercontent.com/sagemath/sage/eea1f59394a5066e9acd8ae39a90302820914ee3/build/pkgs/gfan/patches/nodel.patch";
sha256 = "sha256-RrncSgFyrBIk/Bwe3accxiJ2rpOSJKQ84cV/uBvQsDc=";
})
];
postPatch = lib.optionalString stdenv.cc.isClang ''
substituteInPlace Makefile --replace "-fno-guess-branch-probability" ""
for f in $(find -name "*.h" -or -name "*.cpp"); do
substituteInPlace "$f" --replace-quiet "log2" "_log2"
done
'';
buildFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"CXX=${stdenv.cc.targetPrefix}c++"
];
installFlags = [ "PREFIX=$(out)" ];
buildInputs = [
gmp
mpir
cddlib
];
meta = {
description = "Software package for computing Gröbner fans and tropical varieties";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.unix;
homepage = "http://home.math.au.dk/jensen/software/gfan/gfan.html";
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchurl,
dpkg,
autoPatchelfHook,
qt5,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gfie";
version = "4.2";
src = fetchurl {
url = "http://greenfishsoftware.org/dl/gfie/gfie-${finalAttrs.version}.deb";
hash = "sha256-hyL0t66jRTVF1Hq2FRUobsfjLGmYgsMGDE/DBdoXhCI=";
};
unpackCmd = "dpkg -x $curSrc source";
nativeBuildInputs = [
dpkg
autoPatchelfHook
qt5.wrapQtAppsHook
];
buildInputs = with qt5; [
qtbase
qtsvg
qtwebengine
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mv usr/share opt $out
ln -s $out/opt/gfie-${finalAttrs.version}/gfie $out/bin/gfie
runHook postInstall
'';
meta = {
description = "Powerful open source image editor, especially suitable for creating icons, cursors, animations and icon libraries";
homepage = "https://greenfishsoftware.org/gfie.php";
license = with lib.licenses; [ gpl3 ];
maintainers = with lib.maintainers; [ pluiedev ];
platforms = [ "x86_64-linux" ];
mainProgram = "gfie";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
enableShared ? !stdenv.hostPlatform.isStatic,
}:
stdenv.mkDerivation rec {
pname = "gflags";
version = "2.2.2";
src = fetchFromGitHub {
owner = "gflags";
repo = "gflags";
rev = "v${version}";
sha256 = "147i3md3nxkjlrccqg4mq1kyzc7yrhvqv5902iibc7znkvzdvlp0";
};
patches = [
# Fix the build with CMake 4.
(fetchpatch {
name = "gflags-fix-cmake-4.patch";
url = "https://github.com/gflags/gflags/commit/70c01a642f08734b7bddc9687884844ca117e080.patch";
hash = "sha256-TYdroBbF27Wvvm/rOahBEvhezuKCcxbtgh/ZhpA5ESo=";
})
];
nativeBuildInputs = [ cmake ];
# This isn't used by the build and breaks the CMake build on case-insensitive filesystems (e.g., on Darwin)
preConfigure = "rm BUILD";
cmakeFlags = [
"-DGFLAGS_BUILD_SHARED_LIBS=${if enableShared then "ON" else "OFF"}"
"-DGFLAGS_BUILD_STATIC_LIBS=ON"
];
doCheck = false;
meta = with lib; {
description = "C++ library that implements commandline flags processing";
mainProgram = "gflags_completions.sh";
longDescription = ''
The gflags package contains a C++ library that implements commandline flags processing.
As such it's a replacement for getopt().
It was owned by Google. google-gflags project has been renamed to gflags and maintained by new community.
'';
homepage = "https://gflags.github.io/gflags/";
license = licenses.bsd3;
maintainers = [ maintainers.linquize ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,88 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
electron_35,
nix-update-script,
makeBinaryWrapper,
python3,
}:
let
electron = electron_35;
version = "2.2.0";
in
buildNpmPackage {
pname = "gfn-electron";
inherit version;
src = fetchFromGitHub {
owner = "hmlendea";
repo = "gfn-electron";
tag = "v${version}";
hash = "sha256-DwrNCgBp0CD+HYXRMDsu0aKEKzG7k/tk7oATJc30DlE=";
};
npmDepsHash = "sha256-2v5qTTGhdG1EEK8v50LLYz5jE/36lBm1PKQl6HfqhCU=";
nativeBuildInputs = [
makeBinaryWrapper
# node_modules/node-gyp/gyp/pylib/gyp/input.py
# from distutils.version import StrictVersion
# ModuleNotFoundError: No module named 'distutils'
(python3.withPackages (ps: with ps; [ setuptools ]))
];
env.ELECTRON_SKIP_BINARY_DOWNLOAD = true;
# FIXME: Git dependency node_modules/register-scheme contains install scripts,
# but has no lockfile, which is something that will probably break.
forceGitDeps = true;
makeCacheWritable = true;
buildPhase = ''
runHook preBuild
# NOTE: Upstream explicitly opts to not build an ASAR as it would cause all
# text to disappear in the app.
npm exec electron-builder -- \
--dir \
-c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r dist/*-unpacked $out/dist
install -Dm644 com.github.hmlendea.geforcenow-electron.desktop -t $out/share/applications
install -Dm644 icon.png $out/share/icons/hicolor/512x512/apps/geforcenow-electron.png
runHook postInstall
'';
postFixup = ''
makeWrapper $out/dist/geforcenow-electron $out/bin/geforcenow-electron \
--add-flags "--no-sandbox --disable-gpu-sandbox" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
substituteInPlace $out/share/applications/com.github.hmlendea.geforcenow-electron.desktop \
--replace-fail "/opt/geforcenow-electron/geforcenow-electron" "geforcenow-electron" \
--replace-fail "Icon=nvidia" "Icon=geforcenow-electron"
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Linux Desktop client for Nvidia's GeForce NOW game streaming service";
homepage = "https://github.com/hmlendea/gfn-electron";
license = with lib.licenses; [ gpl3Only ];
platforms = lib.intersectLists lib.platforms.linux electron.meta.platforms;
maintainers = with lib.maintainers; [ pluiedev ];
mainProgram = "geforcenow-electron";
};
}

View File

@@ -0,0 +1,39 @@
{
fetchFromGitHub,
gfold,
lib,
rustPlatform,
testers,
}:
let
pname = "gfold";
version = "2025.7.0";
in
rustPlatform.buildRustPackage {
inherit pname version;
src = fetchFromGitHub {
owner = "nickgerace";
repo = "gfold";
rev = version;
hash = "sha256-EWQ17aEOEZnYEe3WJpyNuC+r4tv8DP1fYFH6fII2p+8=";
};
cargoHash = "sha256-3hzcYPD/w2vbsSuuHNAD2Oyqw0B0PIdERGgCAvAiQpk=";
passthru.tests.version = testers.testVersion {
package = gfold;
command = "gfold --version";
inherit version;
};
meta = with lib; {
description = "CLI tool to help keep track of your Git repositories, written in Rust";
homepage = "https://github.com/nickgerace/gfold";
license = licenses.asl20;
maintainers = [ maintainers.sigmanificient ];
platforms = platforms.unix;
mainProgram = "gfold";
};
}

View File

@@ -0,0 +1,29 @@
{
lib,
stdenv,
fetchurl,
m4,
}:
let
version = "0.7.3";
in
stdenv.mkDerivation {
pname = "gforth-boot";
inherit version;
src = fetchurl {
url = "https://ftp.gnu.org/gnu/gforth/gforth-${version}.tar.gz";
sha256 = "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig";
};
buildInputs = [ m4 ];
configureFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "--build=x86_64-apple-darwin" ];
meta = {
description = "Forth implementation of the GNU project (outdated version used to bootstrap)";
homepage = "https://www.gnu.org/software/gforth/";
license = lib.licenses.gpl3;
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
callPackage,
autoreconfHook,
texinfo,
libffi,
}:
let
swig = callPackage ./swig.nix { };
bootForth = callPackage ./boot-forth.nix { };
lispDir = "${placeholder "out"}/share/emacs/site-lisp";
in
stdenv.mkDerivation rec {
pname = "gforth";
version = "0.7.9_20230518";
src = fetchFromGitHub {
owner = "forthy42";
repo = "gforth";
rev = version;
hash = "sha256-rXtmmENBt9RMdLPq8GDyndh4+CYnCmz6NYpe3kH5OwU=";
};
nativeBuildInputs = [
autoreconfHook
texinfo
bootForth
swig
];
buildInputs = [
libffi
];
passthru = { inherit bootForth; };
configureFlags = [
"--with-lispdir=${lispDir}"
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [
"--build=x86_64-apple-darwin"
];
preConfigure = ''
mkdir -p ${lispDir}
'';
meta = {
description = "Forth implementation of the GNU project";
homepage = "https://github.com/forthy42/gforth";
license = lib.licenses.gpl3;
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; # segfault when running ./gforthmi
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,19 @@
{
swig,
pcre,
fetchFromGitHub,
}:
## for updating to SWIG 4, see
## https://github.com/GeraldWodni/swig/pull/6
(swig.overrideAttrs (old: {
version = "3.0.9-forth";
src = fetchFromGitHub {
owner = "GeraldWodni";
repo = "swig";
rev = "a45b807e5f9d8ca1a43649c8265d2741a393862a";
sha256 = "sha256-6nOOPFGFNaQInEkul0ZAh+ks9n3wqCQ6/tbduvG/To0=";
};
configureFlags = old.configureFlags ++ [ "--enable-forth" ];
})).override
{ pcre2 = pcre; }

View File

@@ -0,0 +1,11 @@
{ wrapCC, gcc }:
# Use the same GCC version as the one from stdenv by default
wrapCC (
gcc.cc.override {
name = "gfortran";
langFortran = true;
langCC = false;
langC = false;
profiledCompiler = false;
}
)

View File

@@ -0,0 +1,10 @@
{ wrapCC, gcc13 }:
wrapCC (
gcc13.cc.override {
name = "gfortran";
langFortran = true;
langCC = false;
langC = false;
profiledCompiler = false;
}
)

View File

@@ -0,0 +1,10 @@
{ wrapCC, gcc14 }:
wrapCC (
gcc14.cc.override {
name = "gfortran";
langFortran = true;
langCC = false;
langC = false;
profiledCompiler = false;
}
)

View File

@@ -0,0 +1,10 @@
{ wrapCC, gcc15 }:
wrapCC (
gcc15.cc.override {
name = "gfortran";
langFortran = true;
langCC = false;
langC = false;
profiledCompiler = false;
}
)

View File

@@ -0,0 +1,63 @@
{
lib,
stdenv,
fetchurl,
autoreconfHook,
bison,
flex,
pkg-config,
bzip2,
check,
ncurses,
udevCheckHook,
util-linux,
zlib,
}:
stdenv.mkDerivation rec {
pname = "gfs2-utils";
version = "3.6.1";
src = fetchurl {
url = "https://pagure.io/gfs2-utils/archive/${version}/gfs2-utils-${version}.tar.gz";
hash = "sha256-VxvjRwPeWiImeJsSV7IJFrH0AvqD+IPgt22u9Gbqk4I=";
};
outputs = [
"bin"
"doc"
"out"
"man"
];
nativeBuildInputs = [
autoreconfHook
bison
flex
pkg-config
udevCheckHook
];
buildInputs = [
bzip2
ncurses
util-linux
zlib
];
nativeCheckInputs = [ check ];
doCheck = true;
doInstallCheck = true;
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://pagure.io/gfs2-utils";
description = "Tools for creating, checking and working with gfs2 filesystems";
maintainers = with maintainers; [ qyliss ];
license = [
licenses.gpl2Plus
licenses.lgpl2Plus
];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchgit,
autoreconfHook,
}:
stdenv.mkDerivation rec {
pname = "gfshare";
version = "2.0.0";
src = fetchgit {
url = "git://git.gitano.org.uk/libgfshare.git";
rev = version;
sha256 = "0s37xn9pr5p820hd40489xwra7kg3gzqrxhc2j9rnxnd489hl0pr";
};
nativeBuildInputs = [ autoreconfHook ];
doCheck = true;
outputs = [
"bin"
"lib"
"dev"
"out"
];
meta = with lib; {
# Not the most descriptive homepage but it's what Debian and Ubuntu use
# https://packages.debian.org/sid/libgfshare2
# https://launchpad.net/ubuntu/impish/+source/libgfshare/+copyright
homepage = "https://git.gitano.org.uk/libgfshare.git/";
description = "Shamir's secret-sharing method in the Galois Field GF(2**8)";
license = licenses.mit;
platforms = platforms.all;
maintainers = [ maintainers.rraval ];
broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/gfshare.x86_64-darwin
};
}

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
gettext,
gtk2,
ncurses,
openssl,
pkg-config,
readline,
nix-update-script,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gftp";
version = "2.9.1b-unstable-2025-05-12";
src = fetchFromGitHub {
owner = "masneyb";
repo = "gftp";
rev = "48114635f7b7b1f9a5eda985021ea53b10a7a030";
hash = "sha256-unTsd2xX8Y71ItE3gYHoxUPgViK/xhZdx0IQYvDPaEc=";
};
nativeBuildInputs = [
meson
ninja
gettext
pkg-config
];
buildInputs = [
gtk2
ncurses
openssl
readline
];
hardeningDisable = [ "format" ];
meta = {
homepage = "https://github.com/masneyb/gftp";
description = "GTK-based multithreaded FTP client for *nix-based machines";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.haylin ];
platforms = lib.platforms.unix;
mainProgram = "gftp";
};
})

View File

@@ -0,0 +1,77 @@
{
stdenv,
fetchFromGitHub,
lib,
cmake,
makeWrapper,
pkg-config,
python3,
wayland,
libX11,
libxcb,
lz4,
vulkan-loader,
xcbutilkeysyms,
zlib,
zstd,
}:
stdenv.mkDerivation rec {
pname = "gfxreconstruct";
version = "1.0.4";
src = fetchFromGitHub {
owner = "LunarG";
repo = "gfxreconstruct";
tag = "v${version}";
hash = "sha256-MuCdJoBFxKwDCOCltlU3oBS9elFS6F251dHjHcIb4Jg=";
fetchSubmodules = true;
};
buildInputs = [
libX11
libxcb
lz4
python3
wayland
xcbutilkeysyms
zlib
zstd
];
nativeBuildInputs = [
cmake
makeWrapper
pkg-config
];
# The python script searches in subfolders, but we want to search in the same bin directory
prePatch = ''
substituteInPlace tools/gfxrecon/gfxrecon.py \
--replace "scriptdir, '..', cmd" 'scriptdir'
'';
# Fix the paths to load the layer.
# Also remove the .py suffix on files so that gfxrecon
# does not try to start the wrapper bash scripts with python.
postInstall = ''
substituteInPlace $out/share/vulkan/explicit_layer.d/VkLayer_gfxreconstruct.json \
--replace 'libVkLayer_gfxreconstruct.so' "$out/lib/libVkLayer_gfxreconstruct.so"
for f in $out/bin/*.py; do
mv -- "$f" "''${f%%.py}"
done
wrapProgram $out/bin/gfxrecon-capture-vulkan \
--prefix VK_ADD_LAYER_PATH : "$out/share/vulkan/explicit_layer.d"
wrapProgram $out/bin/gfxrecon-replay \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
'';
meta = {
description = "Graphics API Capture and Replay Tools";
homepage = "https://github.com/LunarG/gfxreconstruct/";
changelog = "https://github.com/LunarG/gfxreconstruct/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ Flakebi ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,72 @@
{
lib,
stdenv,
fetchFromGitiles,
fetchpatch,
meson,
ninja,
pkg-config,
python3,
aemu,
libdrm,
libglvnd,
vulkan-headers,
vulkan-loader,
xorg,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gfxstream";
version = "0.1.2";
src = fetchFromGitiles {
url = "https://android.googlesource.com/platform/hardware/google/gfxstream";
rev = "v${finalAttrs.version}-gfxstream-release";
hash = "sha256-AN6OpZQ2te4iVuh/kFHXzmLAWIMyuoj9FHTVicnbiPw=";
};
# Ensure that meson can find an Objective-C compiler on Darwin.
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace meson.build \
--replace-fail "project('gfxstream_backend', 'cpp', 'c'" "project('gfxstream_backend', 'cpp', 'c', 'objc'"
'';
nativeBuildInputs = [
meson
ninja
pkg-config
python3
];
buildInputs = [
aemu
libglvnd
vulkan-headers
vulkan-loader
xorg.libX11
]
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform libdrm) [ libdrm ];
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
NIX_LDFLAGS = toString [
"-framework Cocoa"
"-framework IOKit"
"-framework IOSurface"
"-framework OpenGL"
"-framework QuartzCore"
"-needed-lvulkan"
];
};
# dlopens libvulkan.
preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
mesonFlagsArray=(-Dcpp_link_args="-Wl,--push-state -Wl,--no-as-needed -lvulkan -Wl,--pop-state")
'';
meta = with lib; {
homepage = "https://android.googlesource.com/platform/hardware/google/gfxstream";
description = "Graphics Streaming Kit";
license = licenses.free; # https://android.googlesource.com/platform/hardware/google/gfxstream/+/refs/heads/main/LICENSE
maintainers = with maintainers; [ qyliss ];
platforms = aemu.meta.platforms;
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchFromGitHub,
linuxHeaders,
}:
stdenv.mkDerivation rec {
version = "1.4";
pname = "gfxtablet-uinput-driver";
buildInputs = [
linuxHeaders
];
src = fetchFromGitHub {
owner = "rfc2822";
repo = "GfxTablet";
rev = "android-app-${version}";
sha256 = "1i2m98yypfa9phshlmvjlgw7axfisxmldzrvnbzm5spvv5s4kvvb";
};
preBuild = "cd driver-uinput";
installPhase = ''
mkdir -p "$out/bin"
cp networktablet "$out/bin"
mkdir -p "$out/share/doc/gfxtablet/"
cp ../*.md "$out/share/doc/gfxtablet/"
'';
meta = {
description = "Uinput driver for Android GfxTablet tablet-as-input-device app";
mainProgram = "networktablet";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.linux;
};
}