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,44 @@
{
lib,
rustPlatform,
fetchFromGitHub,
clippy,
rustfmt,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fuc";
version = "3.1.1";
src = fetchFromGitHub {
owner = "SUPERCILEX";
repo = "fuc";
tag = finalAttrs.version;
hash = "sha256-fDSAqsKEx+th4tiJ3VlROqF4hhHzusqiw9enAmnOPlQ=";
};
cargoHash = "sha256-OoTWGeF96BpPDx1Y9AEVOIBK7kCz6pjw24pLiNcKmOc=";
RUSTC_BOOTSTRAP = 1;
cargoBuildFlags = [
"--workspace"
"--bin cpz"
"--bin rmz"
];
nativeCheckInputs = [
clippy
rustfmt
];
# error[E0602]: unknown lint: `clippy::unnecessary_debug_formatting`
doCheck = false;
meta = {
description = "Modern, performance focused unix commands";
homepage = "https://github.com/SUPERCILEX/fuc";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dit7ya ];
};
})

View File

@@ -0,0 +1,79 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
clickgen,
python3,
themeVariants ? [ ],
sizeVariants ? [ ],
platformVariants ? [ ],
}:
let
pname = "fuchsia-cursor";
in
lib.checkListOfEnum "${pname}: theme variants" [ "Fuchsia" "Fuchsia-Pop" "Fuchsia-Red" ]
themeVariants
lib.checkListOfEnum
"${pname}: size variants"
[ "16" "24" "32" "48" ]
sizeVariants
lib.checkListOfEnum
"${pname}: platform variants"
[ "x11" "windows" ]
platformVariants
stdenvNoCC.mkDerivation
rec {
inherit pname;
version = "2.0.0";
src = fetchFromGitHub {
owner = "ful1e5";
repo = "fuchsia-cursor";
rev = "v${version}";
hash = "sha256-WnDtUsjRXT7bMppgwU5BIDqphP69DmPzQM/0qXES5tM=";
};
nativeBuildInputs = [
clickgen
python3.pkgs.attrs
];
installPhase = ''
runHook preInstall
${
if themeVariants != [ ] then
''
name= ctgen build.toml \
${
lib.optionalString (themeVariants != [ ]) "-d bitmaps/"
+ toString themeVariants
+ " -n "
+ toString themeVariants
} \
${lib.optionalString (sizeVariants != [ ]) "-s " + toString sizeVariants} \
${lib.optionalString (platformVariants != [ ]) "-p " + toString platformVariants} \
-o $out/share/icons
''
else
''
name= ctgen build.toml -d bitmaps/Fuchsia -n Fuchsia \
${lib.optionalString (sizeVariants != [ ]) "-s " + toString sizeVariants} \
${lib.optionalString (platformVariants != [ ]) "-p " + toString platformVariants} \
-o $out/share/icons
''
}
runHook postInstall
'';
meta = with lib; {
description = "First OpenSource port of FuchsiaOS's cursors for Linux and Windows";
homepage = "https://github.com/ful1e5/fuchsia-cursor";
maintainers = with maintainers; [ d3vil0p3r ];
platforms = platforms.all;
license = licenses.gpl3Plus;
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
libftdi1,
libusb-compat-0_1,
}:
stdenv.mkDerivation rec {
pname = "fujprog";
version = "4.8";
src = fetchFromGitHub {
owner = "kost";
repo = "fujprog";
rev = "v${version}";
sha256 = "08kzkzd5a1wfd1aycywdynxh3qy6n7z9i8lihkahmb4xac3chmz5";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
libftdi1
libusb-compat-0_1
];
meta = {
description = "JTAG programmer for the ULX3S and ULX2S open hardware FPGA development boards";
mainProgram = "fujprog";
homepage = "https://github.com/kost/fujprog";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ trepetti ];
platforms = lib.platforms.all;
changelog = "https://github.com/kost/fujprog/releases/tag/v${version}";
};
}

View File

@@ -0,0 +1,106 @@
{
lib,
buildGoModule,
fetchFromGitHub,
# required for completion and cross-compilation
installShellFiles,
buildPackages,
stdenv,
# required for testing
testers,
fulcio,
}:
buildGoModule rec {
pname = "fulcio";
version = "1.7.1";
src = fetchFromGitHub {
owner = "sigstore";
repo = "fulcio";
tag = "v${version}";
hash = "sha256-UVUVT4RvNHvzIwV6azu2h1O9lnNu0PQnnkj4wbrY8BA=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
postFetch = ''
cd "$out"
git rev-parse HEAD > $out/COMMIT
# 0000-00-00T00:00:00Z
date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%dT%H:%M:%SZ" > $out/SOURCE_DATE_EPOCH
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
vendorHash = "sha256-lNPRejC7Z3OHDvhJGzPIlgqi7eXjlqgeECJO/13gGt4=";
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "." ];
ldflags = [
"-s"
"-w"
"-X sigs.k8s.io/release-utils/version.gitVersion=v${version}"
"-X sigs.k8s.io/release-utils/version.gitTreeState=clean"
];
# ldflags based on metadata from git and source
preBuild = ''
ldflags+=" -X sigs.k8s.io/release-utils/version.gitCommit=$(cat COMMIT)"
ldflags+=" -X sigs.k8s.io/release-utils/version.buildDate=$(cat SOURCE_DATE_EPOCH)"
'';
preCheck = ''
# test all paths
unset subPackages
'';
checkFlags = [
"-skip=TestLoad"
];
postInstall =
let
fulcio =
if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
placeholder "out"
else
buildPackages.fulcio;
in
''
installShellCompletion --cmd fulcio \
--bash <(${fulcio}/bin/fulcio completion bash) \
--fish <(${fulcio}/bin/fulcio completion fish) \
--zsh <(${fulcio}/bin/fulcio completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = fulcio;
command = "fulcio version";
version = "v${version}";
};
meta = {
homepage = "https://github.com/sigstore/fulcio";
changelog = "https://github.com/sigstore/fulcio/releases/tag/v${version}";
description = "Root-CA for code signing certs - issuing certificates based on an OIDC email address";
mainProgram = "fulcio";
longDescription = ''
Fulcio is a free code signing Certificate Authority, built to make
short-lived certificates available to anyone. Based on an Open ID Connect
email address, Fulcio signs x509 certificates valid for under 20 minutes.
Fulcio was designed to run as a centralized, public-good instance backed
up by other transparency logs. Development is now underway to support
different delegation models, and to deploy and run Fulcio as a
disconnected instance.
'';
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
lesuisse
jk
];
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
rustPlatform,
fetchFromGitHub,
autoPatchelfHook,
openssl,
dbus,
pkg-config,
libgcc,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "fum";
version = "1.3.1";
src = fetchFromGitHub {
owner = "qxb3";
repo = "fum";
tag = "v${version}";
hash = "sha256-qZGbJGotxJCxlMIRPS/hw/cfz/k8PFdVKoJtqWKXD6s=";
};
cargoHash = "sha256-g6Nn3teRHMdlKReX3j0jkhfJEHOigDF4ghSfSYU33o8=";
nativeBuildInputs = [
autoPatchelfHook
pkg-config
];
buildInputs = [
openssl
dbus
libgcc
];
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = {
description = "Fully ricable tui-based music client";
homepage = "https://github.com/qxb3/fum";
changelog = "https://github.com/qxb3/fum/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ FKouhai ];
platforms = lib.platforms.linux;
mainProgram = "fum";
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
stdenv,
fetchurl,
zlib,
curl,
autoreconfHook,
unzip,
}:
stdenv.mkDerivation rec {
pname = "funambol-client-cpp";
version = "9.0.0";
src = fetchurl {
url = "mirror://sourceforge/funambol/funambol-client-sdk-${version}.zip";
sha256 = "1667gahz30i5r8kbv7w415z0hbgm6f6pln1137l5skapi1if6r73";
};
postUnpack = ''sourceRoot+="/sdk/cpp/build/autotools"'';
propagatedBuildInputs = [
zlib
curl
];
nativeBuildInputs = [
autoreconfHook
unzip
];
meta = with lib; {
description = "SyncML client sdk by Funambol project";
homepage = "https://www.funambol.com";
license = licenses.agpl3Only;
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
testers,
func,
}:
buildGoModule (finalAttrs: {
pname = "func";
version = "1.16.2";
src = fetchFromGitHub {
owner = "knative";
repo = "func";
tag = "knative-v${finalAttrs.version}";
hash = "sha256-nbS7X5WPu+WBtPUKShE5aWve5m2gw2naQQzNeG7pbGM=";
};
vendorHash = "sha256-Gn+nyck/VOwf8iKPeyLvsPWOpfdN/maUcQOLFAU0oic=";
subPackages = [ "cmd/func" ];
ldflags = [
"-X knative.dev/func/pkg/app.vers=v${finalAttrs.version}"
"-X main.date=19700101T000000Z"
"-X knative.dev/func/pkg/app.hash=${finalAttrs.version}"
"-X knative.dev/func/pkg/app.kver=${finalAttrs.src.tag}"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd func \
--bash <($out/bin/func completion bash) \
--zsh <($out/bin/func completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = func;
command = "func version";
version = "v${finalAttrs.version}";
};
meta = {
description = "Knative client library and CLI for creating, building, and deploying Knative Functions";
mainProgram = "func";
homepage = "https://github.com/knative/func";
changelog = "https://github.com/knative/func/releases/tag/knative-v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ maxwell-lt ];
};
})

View File

@@ -0,0 +1,27 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "function-runner";
version = "9.0.0";
src = fetchFromGitHub {
owner = "Shopify";
repo = "function-runner";
rev = "v${version}";
sha256 = "sha256-xzajHtFs7cp7D1ZdG3jBFbjheTSgWR/Vz4fkew3iAkc=";
};
cargoHash = "sha256-fRLBKHsb+y2uyqWejRBmJm+t5CAkL9ScQl6iVCksahU=";
meta = with lib; {
description = "CLI tool which allows you to run Wasm Functions intended for the Shopify Functions infrastructure";
mainProgram = "function-runner";
homepage = "https://github.com/Shopify/function-runner";
license = licenses.asl20;
maintainers = with maintainers; [ nintron ];
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation rec {
pname = "functionalplus";
version = "0.2.25";
src = fetchFromGitHub {
owner = "Dobiasd";
repo = "FunctionalPlus";
rev = "v${version}";
sha256 = "sha256-eKCOi5g8YdKgxaI/mLlqB2m1zwrU9DOSrQF+PW2DBBQ=";
};
nativeBuildInputs = [ cmake ];
meta = with lib; {
description = "Functional Programming Library for C++";
homepage = "https://github.com/Dobiasd/FunctionalPlus";
license = licenses.boost;
platforms = platforms.all;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
rustPlatform,
fetchCrate,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "functiontrace-server";
version = "0.8.6";
src = fetchCrate {
inherit pname version;
hash = "sha256-f/DpT5IYhUA/+w+QK3Itk4bBaYRFhGOWQbN51YYrmxA=";
};
cargoHash = "sha256-rDCIzJUFA+2iEpITg3MuKFfgiyQ6GtMvIigiHkX70M8=";
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Server for FunctionTrace, a graphical Python profiler";
homepage = "https://functiontrace.com";
license = with licenses; [ prosperity30 ];
maintainers = with maintainers; [ tehmatt ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
rustPlatform,
fetchFromGitHub,
fetchpatch,
}:
rustPlatform.buildRustPackage rec {
pname = "fundoc";
version = "0.5.0";
src = fetchFromGitHub {
owner = "daynin";
repo = "fundoc";
rev = "v${version}";
hash = "sha256-8WWaYgfqGWrTV2EEeSPz1BN2ur7gsxFiHeDNMJdVDcw=";
};
cargoPatches = [
# updates outdated lock file and fixes a test
(fetchpatch {
name = "fix-tests.patch";
url = "https://github.com/daynin/fundoc/commit/7dd3cf53a1d1ed72b00bf38ea3a45ba4590da7ef.patch";
hash = "sha256-9Xsw2P4t9gzwc/qDU6U5+HZevPiQOOQo88gybC8QpyM=";
})
];
cargoHash = "sha256-17PzGHSwruHPRKjyiHWBMqHANR5ulb+/J5UoVsOrbyc=";
meta = with lib; {
description = "Language agnostic documentation generator";
mainProgram = "fundoc";
homepage = "https://github.com/daynin/fundoc";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation {
pname = "funnelweb";
version = "3.20";
src = fetchurl {
url = "http://www.ross.net/funnelweb/download/funnelweb_v320/funnelweb_v320_source.tar.gz";
sha256 = "0zqhys0j9gabrd12mnk8ibblpc8dal4kbl8vnhxmdlplsdpwn4wg";
};
buildPhase = ''
cd source
${stdenv.cc}/bin/cc -D__linux__ -o fw *.c
'';
installPhase = ''
install -d $out/bin
install fw $out/bin/fw
'';
meta = with lib; {
version = "3.20";
description = "Simple, reliable literate-programming macro preprocessor";
mainProgram = "fw";
homepage = "http://www.ross.net/funnelweb/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ ];
};
}
#TODO: implement it for other platforms
#TODO: Documentation files

View File

@@ -0,0 +1,27 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "funzzy";
version = "1.5.0";
src = fetchFromGitHub {
owner = "cristianoliveira";
repo = "funzzy";
rev = "v${version}";
hash = "sha256-3EHZvgHlM3ldX6SEyqGf6MZIrDFOLXbKTZnJNczT570=";
};
cargoHash = "sha256-n9UHyr7W4hrN0+2dsYAYqkP/uzBv74p5XHU0g2MReJY=";
meta = with lib; {
description = "Lightweight watcher";
homepage = "https://github.com/cristianoliveira/funzzy";
changelog = "https://github.com/cristianoliveira/funzzy/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
};
}

View File

@@ -0,0 +1,115 @@
{
autoPatchelfHook,
copyDesktopItems,
fetchurl,
fetchzip,
lib,
libGL,
libGLU,
libxcrypt-legacy,
makeDesktopItem,
makeWrapper,
stdenv,
testers,
vulkan-loader,
}:
let
description = "OpenGL and Vulkan Benchmark and Stress Test";
versions = {
"x86_64-linux" = "2.3.0.0";
"aarch64-linux" = "2.3.0.0";
"i686-linux" = "2.0.16";
};
sources = {
"x86_64-linux" = {
url = "https://gpumagick.com/downloads/files/2024/furmark2/FurMark_${versions.x86_64-linux}_linux64.zip";
hash = "sha256-9xwnOo8gh6XlX2uTwvEorXsx9FafaeCyCPPPJLJGeuE=";
};
"aarch64-linux" = {
url = "https://gpumagick.com/downloads/files/2024/furmark2/FurMark_${versions.x86_64-linux}_rpi64.zip";
hash = "sha256-az4prQbg9I+6rt2y1OTy3t21/VHyZS++57r4Ahe3fcQ=";
};
"i686-linux" = {
url = "https://gpumagick.com/downloads/files/2024/furmark2/FurMark_${versions.i686-linux}_linux32.zip";
hash = "sha256-yXd90FgL3WbTga5x0mXT40BonA2NQtqLzRVzn4s4lLc=";
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "furmark";
version =
versions.${stdenv.hostPlatform.system}
or (throw "Furmark is not available on ${stdenv.hostPlatform.system}");
src = fetchzip sources.${stdenv.hostPlatform.system};
nativeBuildInputs = [
autoPatchelfHook
copyDesktopItems
makeWrapper
];
buildInputs = [
libGL
libGLU
]
++ lib.optionals stdenv.hostPlatform.isAarch64 [ libxcrypt-legacy ];
installPhase = ''
runHook preInstall
mkdir -p $out/share/furmark
cp -rp * $out/share/furmark
mkdir -p $out/bin
for i in $(find $out/share/furmark -maxdepth 1 -type f -executable); do
ln -s "$i" "$out/bin/$(basename "$i")"
done
runHook postInstall
'';
appendRunpaths = [ (lib.makeLibraryPath [ vulkan-loader ]) ];
desktopItems = [
(makeDesktopItem rec {
name = "FurMark";
exec = "FurMark_GUI";
comment = description;
desktopName = name;
genericName = name;
icon = fetchurl {
url = "https://www.geeks3d.com/furmark/i/20240220-furmark-logo-02.png";
hash = "sha256-EqhWQgTEmF/2AcqDxgGtr2m5SMYup28hPEhI6ssFw7g=";
};
categories = [
"System"
"Monitor"
];
})
];
passthru = {
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "furmark --version";
};
};
meta = {
homepage = "https://www.geeks3d.com/furmark/v2/";
license = lib.licenses.unfree;
mainProgram = "FurMark_GUI";
maintainers = with lib.maintainers; [ surfaceflinger ];
platforms = [
"aarch64-linux"
"i686-linux"
"x86_64-linux"
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
inherit description;
};
})

View File

@@ -0,0 +1,132 @@
{
stdenv,
lib,
testers,
furnace,
fetchFromGitHub,
cmake,
pkg-config,
makeWrapper,
fftw,
fmt,
freetype,
libsndfile,
libX11,
libGL,
rtmidi,
SDL2,
zlib,
withJACK ? stdenv.hostPlatform.isUnix,
libjack2,
withGUI ? true,
portaudio,
alsa-lib,
# Enable GL/GLES rendering
withGL ? !stdenv.hostPlatform.isDarwin,
# Use GLES instead of GL, some platforms have better support for one than the other
preferGLES ? stdenv.hostPlatform.isAarch,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "furnace";
version = "0.6.8.3";
src = fetchFromGitHub {
owner = "tildearrow";
repo = "furnace";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-miS0CMeb0KNIsFtGBDM73U/mZyDhT6hQ6o4Vc0gVNM4=";
};
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
# To offer scaling detection on X11, furnace checks if libX11.so is available via dlopen and uses some of its functions
# But it's being linked against a versioned libX11.so.VERSION via SDL, so the unversioned one is not on the rpath
substituteInPlace src/gui/scaling.cpp \
--replace-fail 'libX11.so' '${lib.getLib libX11}/lib/libX11.so'
'';
nativeBuildInputs = [
cmake
pkg-config
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
makeWrapper
];
buildInputs = [
fftw
fmt
freetype
libsndfile
rtmidi
SDL2
zlib
portaudio
]
++ lib.optionals withGL [
libGL
]
++ lib.optionals withJACK [
libjack2
]
++ lib.optionals stdenv.hostPlatform.isLinux [
# portaudio pkg-config is pulling this in as a link dependency, not set in propagatedBuildInputs
alsa-lib
libX11
];
cmakeFlags = [
(lib.cmakeBool "BUILD_GUI" withGUI)
(lib.cmakeBool "SYSTEM_FFTW" true)
(lib.cmakeBool "SYSTEM_FMT" true)
(lib.cmakeBool "SYSTEM_LIBSNDFILE" true)
(lib.cmakeBool "SYSTEM_RTMIDI" true)
(lib.cmakeBool "SYSTEM_SDL2" true)
(lib.cmakeBool "SYSTEM_ZLIB" true)
(lib.cmakeBool "USE_FREETYPE" true)
(lib.cmakeBool "SYSTEM_FREETYPE" true)
(lib.cmakeBool "WITH_JACK" withJACK)
(lib.cmakeBool "WITH_PORTAUDIO" true)
(lib.cmakeBool "SYSTEM_PORTAUDIO" true)
(lib.cmakeBool "WITH_RENDER_SDL" true)
(lib.cmakeBool "WITH_RENDER_OPENGL" withGL)
(lib.cmakeBool "USE_GLES" (withGL && preferGLES))
(lib.cmakeBool "WITH_RENDER_METAL" false) # fails to build
(lib.cmakeBool "WITH_RENDER_OPENGL1" (withGL && !preferGLES))
(lib.cmakeBool "FORCE_APPLE_BIN" true)
];
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
# Normal CMake install phase on Darwin only installs the binary, the user is expected to use CPack to build a
# bundle. That adds alot of overhead for not much benefit (CPack is currently abit broken, and needs impure access
# to /usr/bin/hdiutil). So we'll manually assemble & install everything instead.
mkdir -p $out/{Applications/Furnace.app/Contents/{MacOS,Resources},share/{,doc,licenses}/furnace}
mv $out/{bin,Applications/Furnace.app/Contents/MacOS}/furnace
makeWrapper $out/{Applications/Furnace.app/Contents/MacOS,bin}/furnace
install -m644 {../res,$out/Applications/Furnace.app/Contents}/Info.plist
install -m644 ../res/icon.icns $out/Applications/Furnace.app/Contents/Resources/Furnace.icns
install -m644 {..,$out/share/licenses/furnace}/LICENSE
cp -r ../papers $out/share/doc/furnace/
cp -r ../demos $out/share/furnace/
'';
passthru = {
updateScript = ./update.sh;
tests.version = testers.testVersion {
package = furnace;
};
};
meta = {
description = "Multi-system chiptune tracker compatible with DefleMask modules";
homepage = "https://github.com/tildearrow/furnace";
changelog = "https://github.com/tildearrow/furnace/releases/tag/v${finalAttrs.version}";
license = with lib.licenses; [ gpl2Plus ];
maintainers = with lib.maintainers; [ OPNA2608 ];
platforms = lib.platforms.all;
mainProgram = "furnace";
};
})

View File

@@ -0,0 +1,12 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts curl jql
set -eu -o pipefail
# Because upstream uses release tags that don't always sort correctly, query for latest release
version="$(
curl -Ls 'https://api.github.com/repos/tildearrow/furnace/releases/latest' \
| jql -r '"tag_name"' \
| sed 's/^v//'
)"
update-source-version furnace "$version"

View File

@@ -0,0 +1,65 @@
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
appstream-glib,
cargo,
desktop-file-utils,
glib,
libadwaita,
meson,
ninja,
pkg-config,
rustc,
wrapGAppsHook4,
dbus,
gtk4,
sqlite,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "furtherance";
version = "1.8.3";
src = fetchFromGitHub {
owner = "lakoliu";
repo = "Furtherance";
rev = "v${finalAttrs.version}";
hash = "sha256-TxYARpCqqjjwinoRU2Wjihp+FYIvcI0YCGlOuumX6To=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
hash = "sha256-SFp9YCmneOll2pItWmg2b2jrpRqPnvV9vwz4mjjvwM4=";
};
nativeBuildInputs = [
appstream-glib
desktop-file-utils
meson
ninja
pkg-config
rustPlatform.cargoSetupHook
cargo
rustc
wrapGAppsHook4
];
buildInputs = [
dbus
glib
gtk4
libadwaita
sqlite
];
meta = with lib; {
description = "Track your time without being tracked";
mainProgram = "furtherance";
homepage = "https://github.com/lakoliu/Furtherance";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ CaptainJawZ ];
};
})

View File

@@ -0,0 +1,11 @@
pthread_yield() is not used by fuse-7z-ng, fails configure.
--- a/configure.ac
+++ b/configure.ac
@@ -25,7 +25,6 @@ AC_CHECK_HEADERS([fcntl.h stddef.h string.h unistd.h dlfcn.h dirent.h])
AC_CHECK_FUNCS([memset memmove])
AC_CHECK_FUNCS([sqrt])
-AC_CHECK_LIB([pthread], [pthread_yield],,AC_MSG_ERROR([pthread library not found.]))
AC_CHECK_LIB([dl], [dlclose])
PKG_CHECK_MODULES([fuse], [fuse >= 2.8])

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchFromGitHub,
fuse,
p7zip,
autoconf,
automake,
pkg-config,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "fuse-7z-ng";
version = "0-unstable-2014-06-08";
src = fetchFromGitHub {
owner = "kedazo";
repo = "fuse-7z-ng";
rev = "eb5efb1f304c2b7bc2e0389ba06c9bf2ac4b932c";
sha256 = "17v1gcmg5q661b047zxjar735i4d3508dimw1x3z1pk4d1zjhp3x";
};
patches = [
# Drop unused pthread library. pthread_yield()
# fails the configure.
./no-pthread.patch
# Zero-initialize unset fields of `struct fuse_operations` so that
# garbage values don't cause segfault.
# <https://github.com/kedazo/fuse-7z-ng/pull/8>
./zero-init-fuse-operations.patch
];
nativeBuildInputs = [
pkg-config
makeWrapper
autoconf
automake
];
buildInputs = [ fuse ];
preConfigure = "./autogen.sh";
libs = lib.makeLibraryPath [ p7zip ]; # 'cause 7z.so is loaded manually
postInstall = ''
wrapProgram $out/bin/fuse-7z-ng --suffix LD_LIBRARY_PATH : "${libs}/p7zip"
mkdir -p $out/share/doc/fuse-7z-ng
cp TODO README NEWS COPYING ChangeLog AUTHORS $out/share/doc/fuse-7z-ng/
'';
meta = with lib; {
inherit (src.meta) homepage;
description = "FUSE-based filesystem that uses the p7zip library";
longDescription = ''
fuse-7z-ng is a FUSE file system that uses the p7zip
library to access all archive formats supported by 7-zip.
This project is a fork of fuse-7z ( https://gitorious.org/fuse-7z/fuse-7z ).
'';
platforms = platforms.linux;
license = licenses.gpl3Plus;
mainProgram = "fuse-7z-ng";
};
}

View File

@@ -0,0 +1,13 @@
Zero-initialize unset fields of `struct fuse_operations`.
<https://github.com/kedazo/fuse-7z-ng/pull/8>
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -195,7 +195,7 @@ main (int argc, char **argv)
mkdir(param.mountpoint, 0750);
}
- struct fuse_operations fuse7z_oper;
+ struct fuse_operations fuse7z_oper = {0};
fuse7z_oper.init = fuse7z_init;
fuse7z_oper.destroy = fuse7z_destroy;
fuse7z_oper.readdir = fuse7z_readdir;

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchFromGitHub,
fuse,
libarchive,
pkg-config,
boost,
}:
stdenv.mkDerivation rec {
pname = "fuse-archive";
version = "1.10";
src = fetchFromGitHub {
owner = "google";
repo = "fuse-archive";
tag = "v${version}";
hash = "sha256-Fta/IYKWsB4ZuPOWtGO6p6l03eoRXaO0lIGaCU3SRag=";
};
postPatch = ''
substituteInPlace Makefile \
--replace-fail "/usr" "$out"
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace src/main.cc \
--replace-fail "!defined(__OpenBSD__)" "!defined(__OpenBSD__) && !defined(__APPLE__)" \
--replace-fail " | O_PATH" ""
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [
fuse
libarchive
boost
];
env.NIX_CFLAGS_COMPILE = "-D_FILE_OFFSET_BITS=64";
makeFlags = [ "prefix=${placeholder "out"}" ];
meta = {
inherit (fuse.meta) platforms;
description = "Serve an archive or a compressed file as a read-only FUSE file system";
homepage = "https://github.com/google/fuse-archive";
changelog = "https://github.com/google/fuse-archive/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ icyrockcom ];
mainProgram = "fuse-archive";
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchurl,
perl,
pkg-config,
wrapGAppsHook3,
SDL,
bzip2,
glib,
gtk3,
libgcrypt,
libpng,
libspectrum,
libxml2,
zlib,
}:
stdenv.mkDerivation rec {
pname = "fuse-emulator";
version = "1.6.0";
src = fetchurl {
url = "mirror://sourceforge/${pname}/fuse-${version}.tar.gz";
sha256 = "sha256-Oo/t8v/pR8VxVhusVaWa2tTFkzj3TkSbfnpn2coEcJY=";
};
nativeBuildInputs = [
perl
pkg-config
wrapGAppsHook3
];
buildInputs = [
SDL
bzip2
glib
gtk3
libgcrypt
libpng
libspectrum
libxml2
zlib
];
configureFlags = [ "--enable-desktop-integration" ];
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://fuse-emulator.sourceforge.net/";
description = "ZX Spectrum emulator";
mainProgram = "fuse";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ orivej ];
};
}

View File

@@ -0,0 +1,31 @@
diff --git a/fuse-ext2/Makefile.am b/fuse-ext2/Makefile.am
index 9d3a065..c73f337 100644
--- a/fuse-ext2/Makefile.am
+++ b/fuse-ext2/Makefile.am
@@ -113,7 +113,7 @@ fuse_ext2_CFLAGS = \
-DHAVE_CONFIG_H \
-I/usr/local/include
-if DARWIN
+if FALSE
bin_PROGRAMS += \
fuse-ext2.wait \
fuse-ext2.install \
@@ -151,9 +151,6 @@ endif
if DARWIN
install-exec-local:
$(INSTALL) -d "$(DESTDIR)/$(sbindir)"
- $(LN_S) -f "/Library/Filesystems/fuse-ext2.fs/Contents/Resources/mount_fuse-ext2" "$(DESTDIR)/$(sbindir)/mount_fuse-ext2"
- $(LN_S) -f "/usr/local/opt/e2fsprogs/sbin/e2label" "$(DESTDIR)/$(sbindir)/e2label"
- $(LN_S) -f "/usr/local/opt/e2fsprogs/sbin/mke2fs" "$(DESTDIR)/$(sbindir)/mke2fs"
endif
if LINUX
install-data-hook:
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 52f81e1..78c418f 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,2 +1,2 @@
-SUBDIRS = macosx
+SUBDIRS =

View File

@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
e2fsprogs,
fuse,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fuse-ext2";
version = "0.0.11";
src = fetchFromGitHub {
owner = "alperakcan";
repo = "fuse-ext2";
rev = "v${finalAttrs.version}";
hash = "sha256-VQMftlnd6q1PdwhSIQwjffjnkhupY8MUc8E+p1tgvUM=";
};
patches = [
# Remove references to paths outside the nix store
./remove-impure-paths.patch
# Don't build macOS desktop installer
./darwin-no-installer.patch
];
nativeBuildInputs = [
autoreconfHook
];
buildInputs = [
e2fsprogs
fuse
];
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=incompatible-function-pointer-types";
meta = with lib; {
description = "FUSE module to mount ext2, ext3 and ext4 with read write support";
homepage = "https://github.com/alperakcan/fuse-ext2";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ emilytrau ];
platforms = platforms.unix;
mainProgram = "fuse-ext2";
};
})

View File

@@ -0,0 +1,35 @@
diff --git a/fuse-ext2/Makefile.am b/fuse-ext2/Makefile.am
index 9d3a065..0bb4341 100644
--- a/fuse-ext2/Makefile.am
+++ b/fuse-ext2/Makefile.am
@@ -17,8 +17,7 @@ fuse_ext2_probe_SOURCES = \
fuse_ext2_probe_CFLAGS = \
-Wall \
- -DHAVE_CONFIG_H \
- -I/usr/local/include
+ -DHAVE_CONFIG_H
fuse_ext2_SOURCES = \
fuse-ext2.h \
@@ -98,9 +97,7 @@ umfuseext2_la_CFLAGS = \
-Wall \
-DHAVE_CONFIG_H \
-D_GNU_SOURCE \
- $(DEVELFLAGS) \
- -I$(includedir)/umview \
- -I/usr/local/include
+ $(DEVELFLAGS)
umfuseext2_la_LDFLAGS = \
-module \
@@ -110,8 +107,7 @@ umfuseext2_la_LDFLAGS = \
fuse_ext2_CFLAGS = \
-Wall \
- -DHAVE_CONFIG_H \
- -I/usr/local/include
+ -DHAVE_CONFIG_H
if DARWIN
bin_PROGRAMS += \

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
fuse3,
nixosTests,
}:
stdenv.mkDerivation rec {
pname = "fuse-overlayfs";
version = "1.15";
src = fetchFromGitHub {
owner = "containers";
repo = "fuse-overlayfs";
rev = "v${version}";
hash = "sha256-awVDq87lxMtpTADhy8k95N/4yuGH+2Fn94j3JZzkuUY=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [ fuse3 ];
enableParallelBuilding = true;
strictDeps = true;
passthru.tests = { inherit (nixosTests) podman; };
meta = with lib; {
description = "FUSE implementation for overlayfs";
longDescription = "An implementation of overlay+shiftfs in FUSE for rootless containers.";
license = licenses.gpl3;
maintainers = with maintainers; [ ma9e ];
teams = [ teams.podman ];
platforms = platforms.linux;
inherit (src.meta) homepage;
mainProgram = "fuse-overlayfs";
};
}

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchFromGitHub,
python3,
makeWrapper,
}:
let
pythonEnv = python3.withPackages (ps: [
ps.tkinter
ps.pyusb
]);
in
stdenv.mkDerivation rec {
pname = "fusee-interfacee-tk";
version = "1.0.1";
src = fetchFromGitHub {
owner = "nh-server";
repo = "fusee-interfacee-tk";
rev = "V${version}";
sha256 = "0ngwbwsj999flprv14xvhk7lp51nprrvcnlbnbk6y4qx5casm5md";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ pythonEnv ];
installPhase = ''
mkdir -p $out/bin
# The program isn't just called app, so I'm renaming it based on the repo name
# It also isn't a standard program, so we need to append the shebang to the top
echo "#!${pythonEnv.interpreter}" > $out/bin/fusee-interfacee-tk
cat app.py >> $out/bin/fusee-interfacee-tk
chmod +x $out/bin/fusee-interfacee-tk
# app.py depends on these to run
cp *.py $out/bin/
cp intermezzo.bin $out/bin/intermezzo.bin
'';
meta = with lib; {
homepage = "https://github.com/nh-server/fusee-interfacee-tk";
description = "Tool to send .bin files to a Nintendo Switch in RCM mode";
mainProgram = "fusee-interfacee-tk";
longDescription = "A mod of falquinhos Fusée Launcher for use with Nintendo Homebrew Switch Guide. It also adds the ability to mount SD while in RCM.
Must be run as sudo.";
maintainers = with maintainers; [ kristian-brucaj ];
license = licenses.gpl2;
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
stdenv,
fetchFromGitHub,
unixtools,
}:
stdenv.mkDerivation {
pname = "fusee-nano";
version = "unstable-2023-05-17";
src = fetchFromGitHub {
owner = "DavidBuchanan314";
repo = "fusee-nano";
rev = "2979d34f470d02f34594d8d59be1f5c7bf4bf73f";
hash = "sha256-RUG10wvhB0qEuiLwn8wk6Uxok+gv4bFLD6tbx0P0yDc=";
};
nativeBuildInputs = [ unixtools.xxd ];
makeFlags = [ "PREFIX=$(out)/bin" ];
meta = {
description = "Minimalist re-implementation of the Fusée Gelée exploit";
mainProgram = "fusee-nano";
homepage = "https://github.com/DavidBuchanan314/fusee-nano";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.leo60228 ];
};
}

View File

@@ -0,0 +1,73 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
autoreconfHook,
pkg-config,
fuse,
glib,
zlib,
}:
stdenv.mkDerivation rec {
pname = "fuseiso";
version = "20070708";
src = fetchurl {
url = "mirror://sourceforge/project/fuseiso/fuseiso/${version}/fuseiso-${version}.tar.bz2";
sha256 = "127xql52dcdhmh7s5m9xc6q39jdlj3zhbjar1j821kb6gl3jw94b";
};
patches = [
(fetchpatch {
name = "00-support_large_iso.patch";
url = "https://sources.debian.net/data/main/f/fuseiso/${version}-3.2/debian/patches/00-support_large_iso.patch";
sha256 = "1lmclb1qwzz5f4wlq693g83bblwnjjl73qhgfxbsaac5hnn2shjw";
})
(fetchpatch {
name = "01-fix_typo.patch";
url = "https://sources.debian.net/data/main/f/fuseiso/${version}-3.2/debian/patches/01-fix_typo.patch";
sha256 = "14rpxp0yylzsgqv0r19l4wx1h5hvqp617gpv1yg0w48amr9drasa";
})
(fetchpatch {
name = "02-prevent-buffer-overflow_CVE-2015-8837.patch";
url = "https://sources.debian.net/data/main/f/fuseiso/${version}-3.2/debian/patches/02-prevent-buffer-overflow.patch";
sha256 = "1ls2pp3mh91pdb51qz1fsd8pwhbky6988bpd156bn7wgfxqzh8ig";
})
(fetchpatch {
name = "03-prevent-integer-overflow_CVE-2015-8836.patch";
url = "https://sources.debian.net/data/main/f/fuseiso/${version}-3.2/debian/patches/03-prevent-integer-overflow.patch";
sha256 = "100cw07fk4sa3hl7a1gk2hgz4qsxdw99y20r7wpidwwwzy463zcv";
})
];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
fuse
glib
zlib
];
# after autoreconfHook, glib and zlib are not found, so force link against
# them
NIX_LDFLAGS = "-lglib-2.0 -lz";
enableParallelBuilding = true;
postInstall = ''
install -Dm444 -t $out/share/doc/${pname} NEWS README
'';
meta = with lib; {
description = "FUSE module to mount ISO filesystem images";
homepage = "https://sourceforge.net/projects/fuseiso";
license = licenses.gpl2Plus;
platforms = platforms.linux;
mainProgram = "fuseiso";
};
}

View File

@@ -0,0 +1,105 @@
{
lib,
perlPackages,
nix,
dmidecode,
pciutils,
usbutils,
iproute2,
net-tools,
fetchFromGitHub,
makeWrapper,
}:
perlPackages.buildPerlPackage rec {
pname = "FusionInventory-Agent";
version = "2.6";
src = fetchFromGitHub {
owner = "fusioninventory";
repo = "fusioninventory-agent";
rev = version;
sha256 = "1hbp5a9m03n6a80xc8z640zs71qhqk4ifafr6fp0vvzzvq097ip2";
};
postPatch = ''
patchShebangs bin
substituteInPlace "lib/FusionInventory/Agent/Tools/Linux.pm" \
--replace /sbin/ip ${iproute2}/sbin/ip
substituteInPlace "lib/FusionInventory/Agent/Task/Inventory/Linux/Networks.pm" \
--replace /sbin/ip ${iproute2}/sbin/ip
'';
buildTools = [ ];
nativeBuildInputs = [ makeWrapper ];
buildInputs = (
with perlPackages;
[
CGI
DataStructureUtil
FileCopyRecursive
HTTPProxy
HTTPServerSimple
HTTPServerSimpleAuthen
IOCapture
IOSocketSSL
IPCRun
JSON
LWPProtocolHttps
ModuleInstall
NetSNMP
TestCompile
TestDeep
TestException
TestMockModule
TestMockObject
TestNoWarnings
]
);
propagatedBuildInputs = with perlPackages; [
FileWhich
LWP
NetIP
TextTemplate
UNIVERSALrequire
XMLTreePP
];
# Test fails due to "Argument list too long"
doCheck = false;
installPhase = ''
mkdir -p $out
cp -r bin $out
cp -r lib $out
cp -r share $out
for cur in $out/bin/*; do
if [ -x "$cur" ]; then
sed -e "s|./lib|$out/lib|" -i "$cur"
wrapProgram "$cur" --prefix PATH : ${
lib.makeBinPath [
nix
dmidecode
pciutils
usbutils
net-tools
iproute2
]
}
fi
done
'';
outputs = [ "out" ];
meta = with lib; {
homepage = "https://www.fusioninventory.org";
description = "FusionInventory unified Agent for UNIX, Linux, Windows and MacOSX";
license = lib.licenses.gpl2Only;
maintainers = [ maintainers.phile314 ];
};
}

View File

@@ -0,0 +1,19 @@
source 'https://rubygems.org'
gem "fusuma", ">=3.0.0"
gem "fusuma-plugin-appmatcher"
gem "fusuma-plugin-keypress"
gem "fusuma-plugin-sendkey"
gem "fusuma-plugin-wmctrl"
# I've not activated the following plugins for the reasons given below.
# tap has been archived by upstream
# gem "fusuma-plugin-tap"
# touchscreen needs specific h/w support I don't have access to, so I can't confirm
# if it's problem free. A quick check didn't reveal any problems.
#gem "fusuma-plugin-touchscreen"
# thumbsense pulls in remap, and at best remap requires further configuration to allow the use access to event devices.
#gem "fusuma-plugin-thumbsense"
#gem "fusuma-plugin-remap"

View File

@@ -0,0 +1,34 @@
GEM
remote: https://rubygems.org/
specs:
fusuma (3.7.0)
fusuma-plugin-appmatcher (0.7.1)
fusuma (>= 3.0)
rexml
ruby-dbus
fusuma-plugin-keypress (0.11.0)
fusuma (>= 3.1)
fusuma-plugin-sendkey (0.10.1)
fusuma (>= 3.1)
revdev
fusuma-plugin-wmctrl (1.3.1)
fusuma (>= 3.1)
revdev (0.2.1)
rexml (3.2.8)
strscan (>= 3.0.9)
ruby-dbus (0.23.1)
rexml
strscan (3.1.0)
PLATFORMS
ruby
DEPENDENCIES
fusuma (>= 3.0.0)
fusuma-plugin-appmatcher
fusuma-plugin-keypress
fusuma-plugin-sendkey
fusuma-plugin-wmctrl
BUNDLED WITH
2.5.9

View File

@@ -0,0 +1,105 @@
{
fusuma = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1h8lj3g5q6cg6lf5axnbw4bpvml3xkf3ipbviw5mg1jh9r3apk5m";
type = "gem";
};
version = "3.7.0";
};
fusuma-plugin-appmatcher = {
dependencies = [
"fusuma"
"rexml"
"ruby-dbus"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1cj3d1yz3jdxmapgk8wv5ra57nyb278x2fjxdllc0gqdfih6pxhq";
type = "gem";
};
version = "0.7.1";
};
fusuma-plugin-keypress = {
dependencies = [ "fusuma" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16csdj695y9b8bvl65cby57fsyfr30pb9qq6h0wyqrxily6cn6il";
type = "gem";
};
version = "0.11.0";
};
fusuma-plugin-sendkey = {
dependencies = [
"fusuma"
"revdev"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0rdpxq4nanw85x1djdanwnz46b19fr46kdlkkgbxa4dnjk0zx4pp";
type = "gem";
};
version = "0.10.1";
};
fusuma-plugin-wmctrl = {
dependencies = [ "fusuma" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1rgz1d6ahg5i9sr4z2kab5qk7pm3rm0h7r1vwkygi75rv2r3jy86";
type = "gem";
};
version = "1.3.1";
};
revdev = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1b6zg6vqlaik13fqxxcxhd4qnkfgdjnl4wy3a1q67281bl0qpsz9";
type = "gem";
};
version = "0.2.1";
};
rexml = {
dependencies = [ "strscan" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0d8ivcirrrxpkpjc1c835wknc9s2fl54xpw08s177yfrh5ish209";
type = "gem";
};
version = "3.2.8";
};
ruby-dbus = {
dependencies = [ "rexml" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0hf9y5lbi1xcadc2fw87wlif75s1359c2wwlvvd0gag7cq5dm0pm";
type = "gem";
};
version = "0.23.1";
};
strscan = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0mamrl7pxacbc79ny5hzmakc9grbjysm3yy6119ppgsg44fsif01";
type = "gem";
};
version = "3.1.0";
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
bundlerApp,
bundlerUpdateScript,
makeWrapper,
gnugrep,
libinput,
}:
bundlerApp {
pname = "fusuma";
gemdir = ./.;
exes = [ "fusuma" ];
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram "$out/bin/fusuma" \
--prefix PATH : ${
lib.makeBinPath [
gnugrep
libinput
]
}
'';
passthru.updateScript = bundlerUpdateScript "fusuma";
meta = with lib; {
description = "Multitouch gestures with libinput driver on X11, Linux";
homepage = "https://github.com/iberianpig/fusuma";
license = licenses.mit;
maintainers = with maintainers; [
nicknovitski
Br1ght0ne
];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
fetchFromGitHub,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation {
pname = "fuzzdb";
version = "0-unstable-2020-02-26";
src = fetchFromGitHub {
owner = "fuzzdb-project";
repo = "fuzzdb";
rev = "5656ab25dc6bb43bae32236fab775658a90d7380";
hash = "sha256-7AORrXi443+VK5lbgcjqW4QS7asbXu/dCKj8uCMC0PY=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/{fuzzdb,wordlists/fuzzdb}
mv docs web-backdoors $out/share/fuzzdb
mv */ $out/share/wordlists/fuzzdb
runHook postInstall
'';
meta = {
description = "Comprehensive collection of attack patterns and predictable resource names used for security testing and fuzzing application";
homepage = "https://github.com/fuzzdb-project/fuzzdb";
license = with lib.licenses; [ bsd3 ];
maintainers = with lib.maintainers; [ d3vil0p3r ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,87 @@
{
stdenv,
lib,
fetchFromGitea,
pkg-config,
meson,
ninja,
wayland-scanner,
wayland,
pixman,
wayland-protocols,
libxkbcommon,
scdoc,
tllist,
fcft,
enableCairo ? true,
pngSupport ? true,
svgSupport ? true,
svgBackend ? "nanosvg", # alternative: "librsvg"
# Optional dependencies
cairo,
libpng,
librsvg,
}:
assert (svgSupport && svgBackend == "nanosvg") -> enableCairo;
stdenv.mkDerivation (finalAttrs: {
pname = "fuzzel";
version = "1.13.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "dnkl";
repo = "fuzzel";
rev = finalAttrs.version;
hash = "sha256-JW6MvLXax7taJfBjJjRkEKCczzO4AYsQ47akJK2pkh0=";
};
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
pkg-config
wayland-scanner
meson
ninja
scdoc
];
buildInputs = [
wayland
pixman
wayland-protocols
libxkbcommon
tllist
fcft
]
++ lib.optional enableCairo cairo
++ lib.optional pngSupport libpng
++ lib.optional (svgSupport && svgBackend == "librsvg") librsvg;
mesonBuildType = "release";
mesonFlags = [
(lib.mesonEnable "enable-cairo" enableCairo)
(lib.mesonOption "png-backend" (if pngSupport then "libpng" else "none"))
(lib.mesonOption "svg-backend" (if svgSupport then svgBackend else "none"))
];
meta = with lib; {
changelog = "https://codeberg.org/dnkl/fuzzel/releases/tag/${finalAttrs.version}";
description = "Wayland-native application launcher, similar to rofis drun mode";
homepage = "https://codeberg.org/dnkl/fuzzel";
license = with licenses; [
mit
zlib
];
mainProgram = "fuzzel";
maintainers = with maintainers; [
fionera
rodrgz
];
platforms = with platforms; linux;
};
})

View File

@@ -0,0 +1,54 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
ninja,
useFloat ? false,
unstableGitUpdater,
}:
stdenv.mkDerivation rec {
pname = "fuzzylite";
version = "6.0-unstable-2025-08-30";
src = fetchFromGitHub {
owner = "fuzzylite";
repo = "fuzzylite";
rev = "fe62b61ad0e301fbd8868d5fc3d76d7590c59636";
hash = "sha256-p3ikdY3kfC8N7XsHHa3HzWI0blciWoxCHiEOOUt2yLY=";
};
outputs = [
"out"
"dev"
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "-Werror" "-Wno-error"
'';
nativeBuildInputs = [
cmake
ninja
];
cmakeFlags = [
"-DFL_BUILD_TESTS:BOOL=OFF"
"-DFL_USE_FLOAT:BOOL=${if useFloat then "ON" else "OFF"}"
];
# use unstable as latest release does not yet support cmake-4
passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; };
meta = with lib; {
description = "Fuzzy logic control library in C++";
mainProgram = "fuzzylite";
homepage = "https://fuzzylite.com";
changelog = "https://github.com/fuzzylite/fuzzylite/${src.rev}/release/CHANGELOG";
license = licenses.gpl3Only;
maintainers = with maintainers; [ azahi ];
platforms = platforms.all;
};
}