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,32 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "dm-mono";
version = "1.0-unstable-2020-04-15";
src = fetchFromGitHub {
owner = "googlefonts";
repo = "dm-mono";
rev = "57fadabfb200a77de2812540026c249dc3013077";
hash = "sha256-Xj6UmvH7tqW6xdobBxuafqc7TB1nrTFwHWv4DaZmwx8=";
};
installPhase = ''
runHook preInstall
install -m644 --target $out/share/fonts/truetype -D exports/*.ttf
runHook postInstall
'';
meta = {
description = "Monospace typeface";
homepage = "https://github.com/googlefonts/dm-mono";
changelog = "https://github.com/googlefonts/dm-mono/blob/main/CHANGELOG.md";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ jennifgcrl ];
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation rec {
pname = "dm-sans";
version = "1.002";
src = fetchzip {
url = "https://github.com/googlefonts/dm-fonts/releases/download/v${version}/DeepMindSans_v${version}.zip";
stripRoot = false;
hash = "sha256-RSHHxiCac18qqF+hW5M3BbBcra4AQpNLLlUmhiWj9f8=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/truetype
mv *.ttf $out/share/fonts/truetype
runHook postInstall
'';
meta = {
description = "Geometric sans-serif typeface";
homepage = "https://github.com/googlefonts/dm-fonts";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ gilice ];
};
}

View File

@@ -0,0 +1,46 @@
{
lib,
stdenv,
fetchFromGitHub,
testers,
dmalloc,
}:
stdenv.mkDerivation rec {
pname = "dmalloc";
version = "5.6.5";
src = fetchFromGitHub {
owner = "j256";
repo = "dmalloc";
rev = "dmalloc_release_${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-P63I9s32C3v1q+Sy9joK0HKYb0ebBu9g72tTTwxvkz8=";
};
configureFlags = [
"--enable-cxx"
"--enable-shlib"
"--enable-threads"
];
passthru.tests.version = testers.testVersion {
package = dmalloc;
};
meta = with lib; {
description = "Debug Malloc memory allocation debugging C library";
longDescription = ''
The debug memory allocation or "dmalloc" library has been designed as a
drop in replacement for the system's malloc, realloc, calloc, free and
other memory management routines while providing powerful debugging
facilities configurable at runtime. These facilities include such things
as memory-leak tracking, fence-post write detection, file/line number
reporting, and general logging of statistics.
'';
homepage = "https://dmalloc.com";
license = licenses.isc;
maintainers = with maintainers; [ azahi ];
platforms = platforms.all;
mainProgram = "dmalloc";
};
}

View File

@@ -0,0 +1,74 @@
{
lib,
stdenv,
python312,
fetchFromGitHub,
}:
let
# more-itertools unsupported on 3.13
python3 = python312;
in
python3.pkgs.buildPythonApplication rec {
pname = "dmarc-metrics-exporter";
version = "1.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jgosmann";
repo = "dmarc-metrics-exporter";
tag = "v${version}";
hash = "sha256-cIsI4TNYuLK0fpUg9lnbl5KSBtzQoT/pTByI9hiy/7o=";
};
pythonRelaxDeps = true;
build-system = with python3.pkgs; [
poetry-core
];
dependencies =
with python3.pkgs;
[
bite-parser
dataclasses-serialization
prometheus-client
structlog
uvicorn
xsdata
]
++ uvicorn.optional-dependencies.standard;
nativeCheckInputs = with python3.pkgs; [
aiohttp
pytest-asyncio
pytestCheckHook
requests
];
disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
# flaky tests
"test_build_info"
"test_prometheus_exporter"
];
disabledTestPaths = [
# require networking
"dmarc_metrics_exporter/tests/test_e2e.py"
"dmarc_metrics_exporter/tests/test_imap_client.py"
"dmarc_metrics_exporter/tests/test_imap_queue.py"
];
pythonImportsCheck = [ "dmarc_metrics_exporter" ];
meta = {
description = "Export Prometheus metrics from DMARC reports";
mainProgram = "dmarc-metrics-exporter";
homepage = "https://github.com/jgosmann/dmarc-metrics-exporter";
changelog = "https://github.com/jgosmann/dmarc-metrics-exporter/blob/v${version}/CHANGELOG.rst";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ma27 ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
buildGoModule,
dmarc-report-converter,
fetchFromGitHub,
testers,
}:
buildGoModule rec {
pname = "dmarc-report-converter";
version = "0.8.1";
src = fetchFromGitHub {
owner = "tierpod";
repo = "dmarc-report-converter";
rev = "v${version}";
hash = "sha256-j1uFPCyxLqO3BMxl/02wILj5HGag9qjxCTB8ZxZHEGo=";
};
vendorHash = null;
checkFlags = [ "-mod=vendor ./cmd/... ./pkg/..." ];
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
];
passthru.tests.version = testers.testVersion { package = dmarc-report-converter; };
meta = {
description = "Convert DMARC report files from xml to human-readable formats";
homepage = "https://github.com/tierpod/dmarc-report-converter";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.Nebucatnetzer ];
mainProgram = "dmarc-report-converter";
};
}

View File

@@ -0,0 +1,94 @@
{
lib,
stdenv,
fetchurl,
curl,
tzdata,
autoPatchelfHook,
fixDarwinDylibNames,
glibc,
version,
hashes,
}:
let
inherit (stdenv) hostPlatform;
OS = if hostPlatform.isDarwin then "osx" else hostPlatform.parsed.kernel.name;
MODEL = toString hostPlatform.parsed.cpu.bits;
in
# On linux pargets like `pkgsLLVM.dmd` `cc` does not expose `libgcc`
# and can't build `dmd`.
assert hostPlatform.isLinux -> (stdenv.cc.cc ? libgcc);
stdenv.mkDerivation {
pname = "dmd-bootstrap";
inherit version;
src = fetchurl rec {
name = "dmd.${version}.${OS}.tar.xz";
url = "http://downloads.dlang.org/releases/2.x/${version}/${name}";
sha256 = hashes.${OS} or (throw "missing bootstrap sha256 for OS ${OS}");
};
dontConfigure = true;
dontBuild = true;
nativeBuildInputs =
lib.optionals hostPlatform.isLinux [
autoPatchelfHook
]
++ lib.optionals hostPlatform.isDarwin [
fixDarwinDylibNames
];
propagatedBuildInputs = [
curl
tzdata
]
++ lib.optionals hostPlatform.isLinux [
glibc
stdenv.cc.cc.libgcc
];
installPhase = ''
runHook preInstall
mkdir -p $out
# try to copy model-specific binaries into bin first
mv ${OS}/bin${MODEL} $out/bin || true
mv src license.txt ${OS}/* $out/
# move man into place
mkdir -p $out/share
mv man $out/share/
# move docs into place
mkdir -p $out/share/doc
mv html/d $out/share/doc/
# fix paths in dmd.conf (one level less)
substituteInPlace $out/bin/dmd.conf --replace "/../../" "/../"
runHook postInstall
'';
# Stripping on Darwin started to break libphobos2.a
# Undefined symbols for architecture x86_64:
# "_rt_envvars_enabled", referenced from:
# __D2rt6config16rt_envvarsOptionFNbNiAyaMDFNbNiQkZQnZQq in libphobos2.a(config_99a_6c3.o)
dontStrip = hostPlatform.isDarwin;
meta = with lib; {
description = "Digital Mars D Compiler Package";
# As of 2.075 all sources and binaries use the boost license
license = licenses.boost;
maintainers = [ maintainers.lionello ];
homepage = "https://dlang.org/";
platforms = [
"x86_64-darwin"
"i686-linux"
"x86_64-linux"
];
};
}

View File

@@ -0,0 +1,9 @@
{ callPackage }:
callPackage ./binary.nix {
version = "2.090.1";
hashes = {
# Get these from `nix-prefetch-url http://downloads.dlang.org/releases/2.x/2.090.1/dmd.2.090.1.linux.tar.xz` etc..
osx = "sha256-9HwGVO/8jfZ6aTiDIUi8w4C4Ukry0uUS8ACP3Ig8dmU=";
linux = "sha256-ByCrIA4Nt7i9YT0L19VXIL1IqIp+iObcZux407amZu4=";
};
}

View File

@@ -0,0 +1,251 @@
{
version,
dmdHash,
phobosHash,
}:
{
stdenv,
lib,
fetchFromGitHub,
removeReferencesTo,
makeWrapper,
which,
writeTextFile,
curl,
tzdata,
gdb,
callPackage,
targetPackages,
fetchpatch,
bash,
installShellFiles,
git,
unzip,
dmdBootstrap ? callPackage ./bootstrap.nix { },
dmdBin ? "${dmdBootstrap}/bin",
}:
let
dmdConfFile = writeTextFile {
name = "dmd.conf";
text = (
lib.generators.toINI { } {
Environment = {
DFLAGS = ''-I@out@/include/dmd -L-L@out@/lib -fPIC ${
lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"
}'';
};
}
);
};
bits = toString stdenv.hostPlatform.parsed.cpu.bits;
osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name;
pathToDmd = "\${NIX_BUILD_TOP}/dmd/generated/${osname}/release/${bits}/dmd";
in
stdenv.mkDerivation (finalAttrs: {
pname = "dmd";
inherit version;
enableParallelBuilding = true;
srcs = [
(fetchFromGitHub {
owner = "dlang";
repo = "dmd";
rev = "v${finalAttrs.version}";
hash = dmdHash;
name = "dmd";
})
(fetchFromGitHub {
owner = "dlang";
repo = "phobos";
rev = "v${finalAttrs.version}";
hash = phobosHash;
name = "phobos";
})
];
sourceRoot = ".";
# https://issues.dlang.org/show_bug.cgi?id=19553
hardeningDisable = [ "fortify" ];
patches =
lib.optionals (lib.versionOlder version "2.088.0") [
# Migrates D1-style operator overloads in DMD source, to allow building with
# a newer DMD
(fetchpatch {
url = "https://github.com/dlang/dmd/commit/c4d33e5eb46c123761ac501e8c52f33850483a8a.patch";
stripLen = 1;
extraPrefix = "dmd/";
hash = "sha256-N21mAPfaTo+zGCip4njejasraV5IsWVqlGR5eOdFZZE=";
})
]
++ [
(fetchpatch {
url = "https://github.com/dlang/dmd/commit/fdd25893e0ac04893d6eba8652903d499b7b0dfc.patch";
stripLen = 1;
extraPrefix = "dmd/";
hash = "sha256-Uccb8rBPBLAEPWbOYWgdR5xN3wJoIkKKhLGu58IK1sM=";
})
];
postPatch = ''
patchShebangs dmd/compiler/test/{runnable,fail_compilation,compilable,tools}{,/extra-files}/*.sh
rm dmd/compiler/test/runnable/gdb1.d
rm dmd/compiler/test/runnable/gdb10311.d
rm dmd/compiler/test/runnable/gdb14225.d
rm dmd/compiler/test/runnable/gdb14276.d
rm dmd/compiler/test/runnable/gdb14313.d
rm dmd/compiler/test/runnable/gdb14330.d
rm dmd/compiler/test/runnable/gdb15729.sh
rm dmd/compiler/test/runnable/gdb4149.d
rm dmd/compiler/test/runnable/gdb4181.d
rm dmd/compiler/test/compilable/ddocYear.d
# Disable tests that rely on objdump whitespace until fixed upstream:
# https://issues.dlang.org/show_bug.cgi?id=23317
rm dmd/compiler/test/runnable/cdvecfill.sh
rm dmd/compiler/test/compilable/cdcmp.d
''
+ lib.optionalString (lib.versionAtLeast version "2.089.0" && lib.versionOlder version "2.092.2") ''
rm dmd/compiler/test/dshell/test6952.d
''
+ lib.optionalString (lib.versionAtLeast version "2.092.2") ''
substituteInPlace dmd/compiler/test/dshell/test6952.d --replace-fail "/usr/bin/env bash" "${bash}/bin/bash"
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace phobos/std/socket.d --replace-fail "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace phobos/std/socket.d --replace-fail "foreach (name; names)" "names = []; foreach (name; names)"
'';
nativeBuildInputs = [
makeWrapper
which
installShellFiles
]
++ lib.optionals (lib.versionOlder version "2.088.0") [
git
];
buildInputs = [
curl
tzdata
];
nativeCheckInputs = [
gdb
]
++ lib.optionals (lib.versionOlder version "2.089.0") [
unzip
];
buildFlags = [
"BUILD=release"
"ENABLE_RELEASE=1"
"PIC=1"
];
# Build and install are based on http://wiki.dlang.org/Building_DMD
buildPhase = ''
runHook preBuild
export buildJobs=$NIX_BUILD_CORES
[ -z "$enableParallelBuilding" ] && buildJobs=1
${dmdBin}/rdmd dmd/compiler/src/build.d -j$buildJobs $buildFlags \
HOST_DMD=${dmdBin}/dmd
make -C dmd/druntime -j$buildJobs DMD=${pathToDmd} $buildFlags
echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile
echo ${lib.getLib curl}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} \
> LibcurlPathFile
make -C phobos -j$buildJobs $buildFlags \
DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
runHook postBuild
'';
doCheck = true;
# many tests are disabled because they are failing
# NOTE: Purity check is disabled for checkPhase because it doesn't fare well
# with the DMD linker. See https://github.com/NixOS/nixpkgs/issues/97420
checkPhase = ''
runHook preCheck
export checkJobs=$NIX_BUILD_CORES
[ -z "$enableParallelChecking" ] && checkJobs=1
CC=$CXX HOST_DMD=${pathToDmd} NIX_ENFORCE_PURITY= \
${dmdBin}/rdmd dmd/compiler/test/run.d -j$checkJobs
NIX_ENFORCE_PURITY= \
make -C phobos unittest -j$checkJobs $checkFlags \
DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$PWD"
runHook postCheck
'';
installPhase = ''
runHook preInstall
install -Dm755 ${pathToDmd} $out/bin/dmd
installManPage dmd/docs/man/man*/*
mkdir -p $out/include/dmd
cp -r {dmd/druntime/import/*,phobos/{std,etc}} $out/include/dmd/
mkdir $out/lib
cp phobos/generated/${osname}/release/${bits}/libphobos2.* $out/lib/
wrapProgram $out/bin/dmd \
--prefix PATH : "${targetPackages.stdenv.cc}/bin" \
--set-default CC "${targetPackages.stdenv.cc}/bin/cc"
substitute ${dmdConfFile} "$out/bin/dmd.conf" --subst-var out
runHook postInstall
'';
preFixup = ''
find $out/bin -type f -exec ${removeReferencesTo}/bin/remove-references-to -t ${dmdBin}/dmd '{}' +
'';
disallowedReferences = [ dmdBootstrap ];
passthru = {
inherit dmdBootstrap;
};
meta = with lib; {
description = "Official reference compiler for the D language";
homepage = "https://dlang.org/";
changelog = "https://dlang.org/changelog/${finalAttrs.version}.html";
# Everything is now Boost licensed, even the backend.
# https://github.com/dlang/dmd/pull/6680
license = licenses.boost;
mainProgram = "dmd";
maintainers = with maintainers; [
lionello
dukc
jtbx
];
platforms = [
"x86_64-linux"
"i686-linux"
"x86_64-darwin"
];
# ld: section __DATA/__thread_bss has type zero-fill but non-zero file offset file '/private/tmp/nix-build-dmd-2.109.1.drv-0/.rdmd-301/rdmd-build.d-A1CF043A7D87C5E88A58F3C0EF5A0DF7/objs/build.o' for architecture x86_64
# clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
};
})

View File

@@ -0,0 +1,5 @@
import ./generic.nix {
version = "2.110.0";
dmdHash = "sha256-icXp9xWF2AI2gp7z/lQFAChmXfQePe9b5pbpQ9Mn19Y=";
phobosHash = "sha256-CmJpcHM+sIsaYBlpALCFoQFG+93s8gUyWmM0tYqjXkk=";
}

View File

@@ -0,0 +1,13 @@
diff --git a/dmensamenu/dmensamenu.py b/dmensamenu/dmensamenu.py
index 7df49f2..052ef1b 100644
--- a/dmensamenu/dmensamenu.py
+++ b/dmensamenu/dmensamenu.py
@@ -99,7 +99,7 @@ def main():
parser.add_argument('--city',
help='When searching for a canteen, only show the ones from the city specified'
+' (case-insensitive).')
- parser.add_argument('--dmenu', metavar='CMD', default='dmenu -i -l "$lines" -p "$date"',
+ parser.add_argument('--dmenu', metavar='CMD', default='@dmenu@/bin/dmenu -i -l "$lines" -p "$date"',
help='Command to execute. '
'Can be used to pass custom parameters to dmenu. '
'The shell variable $lines will be set to the number of items on the menu '

View File

@@ -0,0 +1,41 @@
{
lib,
python3Packages,
fetchFromGitHub,
replaceVars,
dmenu,
}:
python3Packages.buildPythonApplication rec {
pname = "dmensamenu";
version = "1.2.2";
format = "setuptools";
src = fetchFromGitHub {
owner = "dotlambda";
repo = "dmensamenu";
tag = version;
hash = "sha256-dtQpNDhw1HklEtltYl3yiz54UDLOJWJHNZEuQGaIYbI=";
};
patches = [
(replaceVars ./dmenu-path.patch {
inherit dmenu;
})
];
dependencies = with python3Packages; [
requests
];
# No tests implemented
doCheck = false;
meta = {
homepage = "https://github.com/dotlambda/dmensamenu";
description = "Print German canteen menus using dmenu and OpenMensa";
mainProgram = "dmensamenu";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
bluez,
dmenu,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dmenu-bluetooth";
version = "0-unstable-2023-07-16";
src = fetchFromGitHub {
owner = "Layerex";
repo = "dmenu-bluetooth";
rev = "96e2e3e1dd7ea2d2ab0c20bf21746aba8d70cc46";
hash = "sha256-0G2PXWq9/JsLHnbOIJWSWWqfnBgOxaA8N2VyCbTUGmI=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
install -D --target-directory=$out/bin/ ./dmenu-bluetooth
wrapProgram $out/bin/dmenu-bluetooth \
--prefix PATH ":" ${
lib.makeBinPath [
dmenu
bluez
]
}
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Script that generates a dmenu menu that uses bluetoothctl to connect to bluetooth devices and display status info";
mainProgram = "dmenu-bluetooth";
homepage = "https://github.com/Layerex/dmenu-bluetooth";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ ludovicopiero ];
platforms = lib.platforms.linux;
};
})

1111
pkgs/by-name/dm/dmenu-rs/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,114 @@
{
lib,
stdenv,
fetchFromGitHub,
# nativeBuildInputs
cargo,
m4,
pkg-config,
python3,
rustPlatform,
# buildInputs
expat,
fontconfig,
libXft,
libXinerama,
libxcb,
aspell,
xclip,
xdg-utils,
enablePlugins ? false,
}:
# The dmenu-rs package has extensive plugin support. However, only two
# variants of the package are presented here: one with no plugins and one with
# all of the plugins that have been checked into the upstream repository. This
# is because the set of plugins is defined at compile time and the dmenu-rs
# build uses this set to dynamically generate a corresponding Cargo.lock file.
# To work around this dynamic generation in nixpkgs, each variant's Cargo.lock
# file has been generated in advance and then checked in here. If you'd like
# to further customize dmenu-rs, either disabling specific plugins or enabling
# additional plugins from outside of the dmenu-rs repository, you'll have to
# build it from the source.
# See: https://github.com/Shizcow/dmenu-rs#plugins
let
cargoLockFile = if enablePlugins then ./enablePlugins.Cargo.lock else ./Cargo.lock;
in
stdenv.mkDerivation rec {
pname = "dmenu-rs";
version = "5.5.4";
src = fetchFromGitHub {
owner = "Shizcow";
repo = "dmenu-rs";
tag = version;
hash = "sha256-05Ia+GHeL8PzOwR7H+NEVhKJVMPhlIaQLwGfvwOAl0g=";
};
nativeBuildInputs = [
cargo
m4
pkg-config
python3
rustPlatform.bindgenHook
rustPlatform.cargoSetupHook
];
buildInputs = [
expat
fontconfig
libXft
libXinerama
libxcb
]
++ lib.optionals enablePlugins [
aspell
xclip
xdg-utils
];
# The dmenu-rs repository does not include a Cargo.lock because of its
# dynamic build and plugin support. Generating it with make and checking it
# in to nixpkgs here was the easiest way to supply it to rustPlatform.
# See: https://github.com/Shizcow/dmenu-rs/issues/34#issuecomment-757415584
cargoDeps = rustPlatform.importCargoLock {
lockFile = cargoLockFile;
};
# Copy the Cargo.lock stored here in nixpkgs into the build directory.
postPatch = ''
cp ${cargoLockFile} src/Cargo.lock
''
+ lib.optionalString enablePlugins ''
chmod +w src/Cargo.lock
'';
# Include all plugins in the dmenu-rs repository under src/plugins.
# See https://github.com/Shizcow/dmenu-rs/tree/master/src/plugins
preBuild = lib.optionalString enablePlugins ''
sed -i -E "s/PLUGINS =/PLUGINS = $(find src/plugins/ -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | tr "\n" " ")/" config.mk
'';
cargoRoot = "src";
installFlags = [ "PREFIX=$(out)" ];
# Running make test requires an X11 server. It also runs dmenu, which then
# hangs on user input. It was too hard to figure out how to run these tests
# deterministically. See the original PR for some discussion on this.
doCheck = false;
meta = {
description =
"Pixel perfect port of dmenu, rewritten in Rust with extensive plugin support"
+ lib.optionalString enablePlugins ", with all upstream plugins enabled";
homepage = "https://github.com/Shizcow/dmenu-rs";
license = with lib.licenses; [ gpl3Only ];
maintainers = with lib.maintainers; [ benjaminedwardwebb ];
platforms = lib.platforms.linux;
broken = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64;
};
}

View File

@@ -0,0 +1,74 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
cairo,
pango,
pkg-config,
wayland-protocols,
glib,
wayland,
libxkbcommon,
makeWrapper,
wayland-scanner,
fetchpatch,
}:
stdenv.mkDerivation {
pname = "dmenu-wayland";
version = "0-unstable-2023-05-18";
src = fetchFromGitHub {
owner = "nyyManni";
repo = "dmenu-wayland";
rev = "a380201dff5bfac2dace553d7eaedb6cea6855f9";
hash = "sha256-dqFvU2mRYEw7n8Fmbudwi5XMLQ7mQXFkug9D9j4FIrU=";
};
outputs = [
"out"
"man"
];
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [
meson
ninja
pkg-config
makeWrapper
wayland-scanner
];
buildInputs = [
cairo
pango
wayland-protocols
glib
wayland
libxkbcommon
];
patches = [
# can be removed when https://github.com/nyyManni/dmenu-wayland/pull/23 is included
(fetchpatch {
name = "support-cross-compilation.patch";
url = "https://github.com/nyyManni/dmenu-wayland/commit/3434410de5dcb007539495395f7dc5421923dd3a.patch";
sha256 = "sha256-im16kU8RWrCY0btYOYjDp8XtfGEivemIPlhwPX0C77o=";
})
];
postInstall = ''
wrapProgram $out/bin/dmenu-wl_run \
--prefix PATH : $out/bin
'';
meta = {
license = lib.licenses.mit;
platforms = lib.platforms.linux;
description = "Efficient dynamic menu for wayland (wlroots)";
homepage = "https://github.com/nyyManni/dmenu-wayland";
maintainers = with lib.maintainers; [ wineee ];
mainProgram = "dmenu-wl";
};
}

View File

@@ -0,0 +1,71 @@
{
lib,
stdenv,
fetchzip,
fontconfig,
libX11,
libXinerama,
libXft,
writeText,
# customization
config,
conf ? config.dmenu.conf or null,
extraLibs ? config.dmenu.extraLibs or [ ],
patches ? config.dmenu.patches or [ ],
# update script dependencies
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dmenu";
version = "5.4";
src = fetchzip {
url = "https://dl.suckless.org/tools/dmenu-${finalAttrs.version}.tar.gz";
hash = "sha256-6bFq3Pj3cuZqLR0pkoJyfx3CDWmmSqkDoEVptMfej7g=";
};
buildInputs = [
fontconfig
libX11
libXinerama
libXft
]
++ extraLibs;
inherit patches;
postPatch =
let
configFile =
if lib.isDerivation conf || builtins.isPath conf then conf else writeText "config.def.h" conf;
in
''
sed -ri -e 's!\<(dmenu|dmenu_path|stest)\>!'"$out/bin"'/&!g' dmenu_run
sed -ri -e 's!\<stest\>!'"$out/bin"'/&!g' dmenu_path
${lib.optionalString (conf != null) "cp ${configFile} config.def.h"}
'';
preConfigure = ''
makeFlagsArray+=(
PREFIX="$out"
CC="$CC"
)
'';
passthru.updateScript = gitUpdater { url = "git://git.suckless.org/dmenu"; };
meta = {
description = "Generic, highly customizable, and efficient menu for the X Window System";
homepage = "https://tools.suckless.org/dmenu";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
pSub
globin
qusic
_0david0mp
];
platforms = lib.platforms.all;
mainProgram = "dmenu";
};
})

View File

@@ -0,0 +1,50 @@
{
bzip2,
fetchFromGitHub,
lib,
openssl,
stdenv,
unstableGitUpdater,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dmg2img";
version = "1.6.7-unstable-2020-12-27";
src = fetchFromGitHub {
owner = "Lekensteyn";
repo = "dmg2img";
rev = "a3e413489ccdd05431401357bf21690536425012";
hash = "sha256-DewU5jz2lRjIRiT0ebjPRArsoye33xlEGfhzd4xnT4A=";
};
buildInputs = [
bzip2
openssl
zlib
];
preBuild = ''
sed -i "s/1.6.5/${finalAttrs.version}/" dmg2img.c
'';
installPhase = ''
runHook preInstall
install -Dm755 dmg2img vfdecrypt -t $out/bin
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { };
meta = {
description = "Tool which allows converting Apple compressed dmg archives to standard (hfsplus) image disk files";
homepage = "https://github.com/Lekensteyn/dmg2img";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ KSJ2000 ];
mainProgram = "dmg2img";
};
})

View File

@@ -0,0 +1,28 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "dmidecode";
version = "3.6";
src = fetchurl {
url = "mirror://savannah/dmidecode/dmidecode-${version}.tar.xz";
sha256 = "sha256-5Axl8+w9r+Ma2DSaTvGpcSLTj2UATtZldeGo1XXdi64=";
};
makeFlags = [
"prefix=$(out)"
"CC=${stdenv.cc.targetPrefix}cc"
];
meta = with lib; {
homepage = "https://www.nongnu.org/dmidecode/";
description = "Tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,28 @@
---
src/dmitry.c | 1 +
src/file.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/src/dmitry.c b/src/dmitry.c
index d47f231..567482d 100644
--- a/src/dmitry.c
+++ b/src/dmitry.c
@@ -9,6 +9,7 @@
#include <ctype.h>
#include <string.h>
#include <signal.h>
+#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
diff --git a/src/file.c b/src/file.c
index f4ad48b..3714786 100644
--- a/src/file.c
+++ b/src/file.c
@@ -1,4 +1,6 @@
#include "includes/file.h"
+#include <string.h>
+#include <stdlib.h>
int file_prep()
{
outputfile[strlen(outputfile)] = '\0';

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation {
pname = "dmitry";
version = "1.3a-unstable-2020-06-22";
src = fetchFromGitHub {
owner = "jaygreig86";
repo = "dmitry";
rev = "f3ae08d4242e3e178271c827b86ff0d655972280";
hash = "sha256-cYFeBM8xFMaLXYk6Rg+5JvfbbIJI9F3mefzCX3+XbB0=";
};
patches = [ ./implicit-function-declaration.patch ];
nativeBuildInputs = [ autoreconfHook ];
env.NIX_CFLAGS_COMPILE = toString [ "-fcommon" ];
meta = {
description = "Deepmagic Information Gathering Tool";
mainProgram = "dmitry";
homepage = "https://github.com/jaygreig86/dmitry";
maintainers = with lib.maintainers; [ d3vil0p3r ];
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;
};
}

View File

@@ -0,0 +1,63 @@
{
lib,
rustPlatform,
fetchFromGitHub,
fetchurl,
pkg-config,
makeWrapper,
openssl,
mpv,
ffmpeg_6,
nodejs,
}:
let
desktop = fetchurl {
url = "https://github.com/THMonster/Revda/raw/e1c236f6f940443419b6202735b6f8a0c9cdbe8b/misc/dmlive-mime.desktop";
hash = "sha256-k4h0cSfjuTZAYLjbaTfcye1aC5obd6D3tAZjgBV8xCI=";
};
in
rustPlatform.buildRustPackage {
pname = "dmlive";
version = "5.6.0-unstable-2025-06-21";
src = fetchFromGitHub {
owner = "THMonster";
repo = "dmlive";
rev = "485eae06737530360c0e6f6415c62791767d595b"; # no tag
hash = "sha256-0JjPZPtAtbxdh0HDycWHEonZggBcoqv5SJUnhKzXNIk=";
};
cargoHash = "sha256-B1v9m4Nn5wXMbNBlh7+A8zBejJ0tHdqvSXVpRz+wC5g=";
nativeBuildInputs = [
pkg-config
makeWrapper
];
buildInputs = [
openssl
];
postInstall = ''
wrapProgram "$out/bin/dmlive" --suffix PATH : "${
lib.makeBinPath [
mpv
ffmpeg_6
nodejs
]
}"
install -Dm644 ${desktop} $out/share/applications/dmlive-mime.desktop
'';
env.OPENSSL_NO_VENDOR = true;
meta = {
description = "Tool to play and record videos or live streams with danmaku";
homepage = "https://github.com/THMonster/dmlive";
license = lib.licenses.mit;
mainProgram = "dmlive";
maintainers = with lib.maintainers; [ nickcao ];
};
}

View File

@@ -0,0 +1,63 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
libusb1,
systemd,
}:
stdenv.mkDerivation rec {
pname = "dmrconfig";
version = "1.1";
src = fetchFromGitHub {
owner = "sergev";
repo = "dmrconfig";
rev = version;
sha256 = "1qwix75z749628w583fwp7m7kxbj0k3g159sxb7vgqxbadqqz1ab";
};
patches = [
# Pull upstream fix for -fno-common toolchains.
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/OpenRTX/dmrconfig/commit/1a6901488db26262a6b69f80b0e795864e9e8d0a.patch";
sha256 = "03px1y95a8aspd251i1jj8ggqfjvkqby4lhn5pb7l5c1lzh6h762";
})
];
buildInputs = [
libusb1
systemd
];
doInstallCheck = true;
preConfigure = ''
substituteInPlace Makefile \
--replace /usr/local/bin/dmrconfig $out/bin/dmrconfig
'';
makeFlags = [
"VERSION=${version}"
"GITCOUNT=0"
];
installPhase = ''
mkdir -p $out/bin $out/lib/udev/rules.d
make install
install 99-dmr.rules $out/lib/udev/rules.d/99-dmr.rules
'';
meta = with lib; {
description = "Configuration utility for DMR radios";
longDescription = ''
DMRconfig is a utility for programming digital radios via USB programming cable.
'';
homepage = "https://github.com/sergev/dmrconfig";
license = licenses.asl20;
maintainers = [ ];
platforms = platforms.linux;
mainProgram = "dmrconfig";
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "dms";
version = "1.7.2";
src = fetchFromGitHub {
owner = "anacrolix";
repo = "dms";
tag = "v${version}";
hash = "sha256-C1XcaPQp+T0scrCBsvqjJrmUR0N7mJOQC9Z2TxvtYc8=";
};
vendorHash = "sha256-f6Jl78ZPLD7Oq4Bq8MBQpHEKnBvpyTWZ9qHa1fGOlgA=";
meta = {
homepage = "https://github.com/anacrolix/dms";
description = "UPnP DLNA Digital Media Server with basic video transcoding";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.claes ];
platforms = lib.platforms.linux;
mainProgram = "dms";
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dmsdos";
version = "unstable-2021-02-06";
src = fetchFromGitHub {
owner = "sandsmark";
repo = "dmsdos";
rev = "c9044d509969d3d1467b781c08233e15c1da7a13";
hash = "sha256-oGVkDf1gFaSMRpvHq4GNLN8htBm/sYawZeVwiqQxjL8=";
};
nativeBuildInputs = [
cmake
];
meta = {
description = "Linux utilities to handle dos/win95 doublespace/drivespace/stacker";
homepage = "https://github.com/sandsmark/dmsdos.git";
changelog = "https://github.com/sandsmark/dmsdos/blob/${finalAttrs.src.rev}/NEWS";
license = with lib.licenses; [
lgpl2
gpl2Plus
];
maintainers = with lib.maintainers; [ matthewcroughan ];
mainProgram = "dmsdos";
platforms = lib.platforms.all;
badPlatforms = lib.platforms.darwin;
};
})

View File

@@ -0,0 +1,13 @@
diff --git a/src/util_exec.cpp b/src/util_exec.cpp
index 0e8a13c1..0cc99c1e 100644
--- a/src/util_exec.cpp
+++ b/src/util_exec.cpp
@@ -300,7 +300,7 @@ Util::elfType(const char *pathname, bool *isElf, bool *is32bitElf)
static string
ld_linux_so_path(int version, bool is32bitElf = false)
{
- char buf[80];
+ char buf[128];
#if (defined(__x86_64__) || defined(__aarch64__)) && !defined(CONFIG_M32)
if (is32bitElf) {

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchFromGitHub,
bash,
perl,
python3,
}:
stdenv.mkDerivation {
pname = "dmtcp";
version = "unstable-2022-02-28";
src = fetchFromGitHub {
owner = "dmtcp";
repo = "dmtcp";
rev = "133687764c6742906006a1d247e3b83cd860fa1d";
hash = "sha256-9Vr8IhoeATCfyt7Lp7kYe/7e87mFX9KMNGTqxJgIztE=";
};
dontDisableStatic = true;
patches = [ ./ld-linux-so-buffer-size.patch ];
postPatch = ''
patchShebangs .
substituteInPlace configure \
--replace '#define ELF_INTERPRETER "$interp"' \
"#define ELF_INTERPRETER \"$(cat $NIX_CC/nix-support/dynamic-linker)\""
substituteInPlace src/restartscript.cpp \
--replace /bin/bash ${stdenv.shell}
substituteInPlace util/dmtcp_restart_wrapper.sh \
--replace /bin/bash ${stdenv.shell}
substituteInPlace test/autotest.py \
--replace /bin/bash ${bash}/bin/bash \
--replace /usr/bin/perl ${perl}/bin/perl \
--replace /usr/bin/python ${python3.interpreter} \
--replace "os.environ['USER']" "\"nixbld1\"" \
--replace "os.getenv('USER')" "\"nixbld1\""
'';
meta = with lib; {
description = "Distributed MultiThreaded Checkpointing";
longDescription = ''
DMTCP (Distributed MultiThreaded Checkpointing) is a tool to
transparently checkpointing the state of an arbitrary group of
programs spread across many machines and connected by sockets. It does
not modify the user's program or the operating system.
'';
homepage = "http://dmtcp.sourceforge.net/";
license = licenses.lgpl3Plus; # most files seem this or LGPL-2.1+
platforms = intersectLists platforms.linux platforms.x86; # broken on ARM and Darwin
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
libdmtx,
imagemagick,
}:
stdenv.mkDerivation rec {
pname = "dmtx-utils";
version = "0.7.6-unstable-2023-09-21";
src = fetchFromGitHub {
owner = "dmtx";
repo = "dmtx-utils";
rev = "057faa00143c152e8e21c29a36137f771614daed";
hash = "sha256-uXzPAv6DappyHBNmsTg6qRUvtUUdP1IPOdDvIcevfco=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
libdmtx
imagemagick
];
meta = {
description = "Data matrix command-line utilities";
homepage = "https://github.com/dmtx/dmtx-utils";
changelog = "https://github.com/dmtx/dmtx-utils/blob/v${version}/ChangeLog";
license = lib.licenses.lgpl2;
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.unix;
};
}