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,115 @@
{
lib,
stdenv,
fetchurl,
meson,
ninja,
pkg-config,
gobject-introspection,
buildPackages,
withIntrospection ?
lib.meta.availableOn stdenv.hostPlatform gobject-introspection
&& stdenv.hostPlatform.emulatorAvailable buildPackages,
gsettings-desktop-schemas,
makeWrapper,
dbus,
glib,
dconf,
libX11,
libxml2,
libXtst,
libXi,
libXext,
gnome,
systemdLibs,
systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemdLibs,
}:
stdenv.mkDerivation rec {
pname = "at-spi2-core";
version = "2.56.2";
outputs = [
"out"
"dev"
];
separateDebugInfo = true;
src = fetchurl {
url = "mirror://gnome/sources/at-spi2-core/${lib.versions.majorMinor version}/at-spi2-core-${version}.tar.xz";
hash = "sha256-4bHJg2qJR4UvdEDDLiMXkjTHa9mM2cxAAfN2QF+LeDs=";
};
nativeBuildInputs = [
glib
meson
ninja
pkg-config
makeWrapper
]
++ lib.optionals withIntrospection [
gobject-introspection
];
buildInputs = [
libX11
libxml2
# at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
libXtst
libXi
# libXext is a transitive dependency of libXi
libXext
]
++ lib.optionals systemdSupport [
# libsystemd is a needed for dbus-broker support
systemdLibs
];
# In atspi-2.pc dbus-1 glib-2.0
# In atk.pc gobject-2.0
propagatedBuildInputs = [
dbus
glib
];
# fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?"
doCheck = false;
mesonFlags = [
# Provide dbus-daemon fallback when it is not already running when
# at-spi2-bus-launcher is executed. This allows us to avoid
# including the entire dbus closure in libraries linked with
# the at-spi2-core libraries.
"-Ddbus_daemon=/run/current-system/sw/bin/dbus-daemon"
]
++ lib.optionals systemdSupport [
# Same as the above, but for dbus-broker
"-Ddbus_broker=/run/current-system/sw/bin/dbus-broker-launch"
]
++ lib.optionals (!systemdSupport) [
"-Duse_systemd=false"
];
passthru = {
updateScript = gnome.updateScript {
packageName = "at-spi2-core";
versionPolicy = "odd-unstable";
};
};
postFixup = ''
# Cannot use wrapGAppsHook'due to a dependency cycle
wrapProgram $out/libexec/at-spi-bus-launcher \
--prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}
'';
meta = with lib; {
description = "Assistive Technology Service Provider Interface protocol definitions and daemon for D-Bus";
homepage = "https://gitlab.gnome.org/GNOME/at-spi2-core";
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ raskin ];
teams = [ teams.gnome ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,88 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
bison,
flex,
pam,
perl,
sendmailPath ? "/run/wrappers/bin/sendmail",
atWrapperPath ? "/run/wrappers/bin/at",
}:
stdenv.mkDerivation rec {
pname = "at";
version = "3.2.5";
src = fetchurl {
# Debian is apparently the last location where it can be found.
url = "mirror://debian/pool/main/a/at/at_${version}.orig.tar.gz";
hash = "sha256-uwZrOJ18m7nYSjVzgDK4XDDLp9lJ91gZKtxyyUd/07g=";
};
patches = [
# Remove glibc assumption
(fetchpatch {
url = "https://raw.githubusercontent.com/riscv/riscv-poky/master/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch";
hash = "sha256-1UobqEZWoaq0S8DUDPuI80kTx0Gut2/VxDIwcKeGZOY=";
})
];
postPatch = ''
# Remove chown commands and setuid bit
substituteInPlace Makefile.in \
--replace ' -o root ' ' ' \
--replace ' -g root ' ' ' \
--replace ' -o $(DAEMON_USERNAME) ' ' ' \
--replace ' -o $(DAEMON_GROUPNAME) ' ' ' \
--replace ' -g $(DAEMON_GROUPNAME) ' ' ' \
--replace '$(DESTDIR)$(etcdir)' "$out/etc" \
--replace '$(DESTDIR)$(ATJOB_DIR)' "$out/var/spool/atjobs" \
--replace '$(DESTDIR)$(ATSPOOL_DIR)' "$out/var/spool/atspool" \
--replace '$(DESTDIR)$(LFILE)' "$out/var/spool/atjobs/.SEQ" \
--replace 'chown' '# skip chown' \
--replace '6755' '0755'
'';
nativeBuildInputs = [
bison
flex
perl # for `prove` (tests)
];
buildInputs = [ pam ];
preConfigure = ''
export SENDMAIL=${sendmailPath}
# Purity: force atd.pid to be placed in /var/run regardless of
# whether it exists now.
substituteInPlace ./configure --replace "test -d /var/run" "true"
'';
configureFlags = [
"--with-etcdir=/etc/at"
"--with-jobdir=/var/spool/atjobs"
"--with-atspool=/var/spool/atspool"
"--with-daemon_username=atd"
"--with-daemon_groupname=atd"
];
doCheck = true;
# Ensure that "batch" can invoke the setuid "at" wrapper, if it exists, or
# else we get permission errors (on NixOS). "batch" is a shell script, so
# when the kernel executes it drops setuid perms.
postInstall = ''
sed -i "6i test -x ${atWrapperPath} && exec ${atWrapperPath} -qb now # exec doesn't return" "$out/bin/batch"
'';
meta = with lib; {
description = "Classical Unix `at' job scheduling command";
license = licenses.gpl2Plus;
homepage = "https://tracker.debian.org/pkg/at";
changelog = "https://salsa.debian.org/debian/at/-/raw/master/ChangeLog";
platforms = platforms.linux;
mainProgram = "at";
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
oniguruma,
}:
rustPlatform.buildRustPackage rec {
pname = "atac";
version = "0.22.0";
src = fetchFromGitHub {
owner = "Julien-cpsn";
repo = "ATAC";
rev = "v${version}";
hash = "sha256-zMCz0WRqIS2htf9TMfq6BlupU8dj5PrziEMxisjkOEc=";
};
cargoHash = "sha256-U+8JElXGNsiPUM9bLmqXYudRmg+K+VJLAgKLGqiVddc=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ oniguruma ];
env = {
RUSTONIG_SYSTEM_LIBONIG = true;
};
meta = with lib; {
description = "Simple API client (postman like) in your terminal";
homepage = "https://github.com/Julien-cpsn/ATAC";
license = licenses.mit;
maintainers = with maintainers; [ vinnymeller ];
mainProgram = "atac";
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchurl,
allegro,
}:
stdenv.mkDerivation rec {
pname = "atanks";
version = "6.6";
src = fetchurl {
url = "mirror://sourceforge/project/atanks/atanks/${pname}-${version}/${pname}-${version}.tar.gz";
sha256 = "sha256-vGse/J/H52JPrR2DUtcuknvg+6IWC7Jbtri9bGNwv0M=";
};
buildInputs = [ allegro ];
makeFlags = [
"PREFIX=$(out)/"
"INSTALL=install"
"CXX=g++"
];
meta = with lib; {
description = "Atomic Tanks ballistics game";
mainProgram = "atanks";
homepage = "http://atanks.sourceforge.net/";
maintainers = [ maintainers.raskin ];
platforms = platforms.linux;
license = licenses.gpl2Plus;
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
SDL,
autoreconfHook,
fetchFromGitHub,
libGL,
libGLU,
libX11,
readline,
zlib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "atari800";
version = "5.2.0";
src = fetchFromGitHub {
owner = "atari800";
repo = "atari800";
rev = "ATARI800_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}";
hash = "sha256-D66YRRTqdoV9TqDFonJ9XNpfP52AicuYgdiW27RCIuQ=";
};
nativeBuildInputs = [
autoreconfHook
];
buildInputs = [
SDL
libGL
libGLU
libX11
readline
zlib
];
configureFlags = [
"--target=default"
(lib.enableFeature true "riodevice")
(lib.withFeature true "opengl")
(lib.withFeature true "readline")
(lib.withFeature true "x")
(lib.withFeatureAs true "sound" "sdl")
(lib.withFeatureAs true "video" "sdl")
];
meta = {
homepage = "https://atari800.github.io/";
description = "Atari 8-bit emulator";
longDescription = ''
Atari800 is the emulator of Atari 8-bit computer systems and 5200 game
console for Unix, Linux, Amiga, MS-DOS, Atari TT/Falcon, MS-Windows, MS
WinCE, Sega Dreamcast, Android and other systems supported by the SDL
library.
'';
license = with lib.licenses; [ gpl2Plus ];
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
SDL,
alsa-lib,
fetchurl,
gcc-unwrapped,
libICE,
libSM,
libX11,
libXext,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "atari++";
version = "1.85";
src = fetchurl {
url = "http://www.xl-project.com/download/atari++_${finalAttrs.version}.tar.gz";
hash = "sha256-LbGTVUs1XXR+QfDhCxX9UMkQ3bnk4z0ckl94Cwwe9IQ=";
};
buildInputs = [
SDL
alsa-lib
gcc-unwrapped
libICE
libSM
libX11
libXext
];
postFixup = ''
patchelf \
--set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs} \
"$out/bin/atari++"
'';
meta = {
homepage = "http://www.xl-project.com/";
description = "Enhanced, cycle-accurated Atari emulator";
mainProgram = "atari++";
longDescription = ''
The Atari++ Emulator is a Unix based emulator of the Atari eight bit
computers, namely the Atari 400 and 800, the Atari 400XL, 800XL and 130XE,
and the Atari 5200 game console. The emulator is auto-configurable and
will compile on a variety of systems (Linux, Solaris, Irix).
'';
maintainers = [ ];
license = with lib.licenses; [ gpl2Plus ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,16 @@
diff -Naur atasm109-old/src/Makefile atasm109-new/src/Makefile
--- atasm109-old/src/Makefile 2021-09-08 09:53:25.581598063 -0300
+++ atasm109-new/src/Makefile 2021-09-08 09:55:20.366131338 -0300
@@ -55,9 +55,9 @@
chown root.root $(DESTDIR)/atasm || true
chmod 711 $(DESTDIR)/atasm
mkdir $(DOCDIR) >/dev/null 2>&1 || echo $(DOCDIR) already exists
- cp ../atasm.txt $(DOCDIR)
- chown root.root $(DOCDIR)/atasm.txt || true
- chmod 644 $(DOCDIR)/atasm.txt
+ # cp ../atasm.txt $(DOCDIR)
+ # chown root.root $(DOCDIR)/atasm.txt || true
+ # chmod 644 $(DOCDIR)/atasm.txt
sed -e 's,%%DOCDIR%%,$(DOCDIR),g' < atasm.1.in > atasm.1
cp atasm.1 $(MANDIR)
chown root.root $(MANDIR)/atasm.1 || true

View File

@@ -0,0 +1,14 @@
diff -Naur atasm109-old/src/Makefile atasm109-new/src/Makefile
--- atasm109-old/src/Makefile 2021-09-08 09:53:25.581598063 -0300
+++ atasm109-new/src/Makefile 2021-09-08 09:55:20.366131338 -0300
@@ -16,8 +16,8 @@
UNIX = -DUNIX
# Compiler flags, if you are using egcs, pgcs, or gcc >2.8.1 use:
-#CFLAGS = -g -Wall $(USEZ) $(DOS) $(UNIX) $(ARCH)
-CFLAGS = -Wall $(USEZ) $(DOS) $(UNIX) -O3 -fomit-frame-pointer $(ARCH)
+CFLAGS = -g -Wall $(USEZ) $(DOS) $(UNIX) $(ARCH)
+#CFLAGS = -Wall $(USEZ) $(DOS) $(UNIX) -O3 -fomit-frame-pointer $(ARCH)
L = $(ZLIB)
CC = gcc

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchFromGitHub,
zlib,
}:
stdenv.mkDerivation rec {
pname = "atasm";
version = "1.29";
src = fetchFromGitHub {
owner = "CycoPH";
repo = "atasm";
rev = "V${version}";
hash = "sha256-TGSmlNz8kxsHlIhq4ZNDBU8uhpsZGK0oEp2qD4SndE8=";
};
makefile = "Makefile";
patches = [
# make install fails because atasm.txt was moved; report to upstream
./0000-file-not-found.diff
# select flags for compilation
./0001-select-flags.diff
];
dontConfigure = true;
buildInputs = [
zlib
];
preBuild = ''
makeFlagsArray+=(
-C ./src
CC=cc
USEZ="-DZLIB_CAPABLE -I${zlib}/include"
ZLIB="-L${zlib}/lib -lz"
UNIX="-DUNIX"
)
'';
preInstall = ''
mkdir -p $out/bin/
install -d $out/share/doc/${pname} $out/man/man1
installFlagsArray+=(
DESTDIR=$out/bin/
DOCDIR=$out/share/doc/${pname}
MANDIR=$out/man/man1
)
'';
postInstall = ''
mv docs/* $out/share/doc/${pname}
'';
meta = {
homepage = "https://github.com/CycoPH/atasm";
description = "Commandline 6502 assembler compatible with Mac/65";
license = lib.licenses.gpl2Plus;
changelog = "https://github.com/CycoPH/atasm/releases/tag/V${version}";
maintainers = [ ];
platforms = with lib.platforms; unix;
};
}

View File

@@ -0,0 +1,81 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
autoreconfHook,
kyua,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "atf";
version = "0.23";
src = fetchFromGitHub {
owner = "freebsd";
repo = "atf";
tag = "atf-${finalAttrs.version}";
hash = "sha256-g9cXeiCaiyGQXtg6eyrbRQpqk4VLGSFuhfPB+ynbDIo=";
};
postPatch =
lib.optionalString finalAttrs.doInstallCheck ''
# Cant find `c_helpers` in the work folder.
substituteInPlace test-programs/Kyuafile \
--replace-fail 'atf_test_program{name="srcdir_test"}' ""
''
# These tests fail on Darwin.
+ lib.optionalString (finalAttrs.doInstallCheck && stdenv.hostPlatform.isDarwin) ''
substituteInPlace atf-c/detail/process_test.c \
--replace-fail 'ATF_TP_ADD_TC(tp, status_coredump);' ""
''
# This test fails on Linux.
+ lib.optionalString (finalAttrs.doInstallCheck && stdenv.hostPlatform.isLinux) ''
substituteInPlace atf-c/detail/fs_test.c \
--replace-fail 'ATF_TP_ADD_TC(tp, eaccess);' ""
'';
strictDeps = true;
nativeBuildInputs = [ autoreconfHook ];
enableParallelBuilding = true;
makeFlags = [
# ATF isnt compatible with C++17, which is the default on current clang and GCC.
"CXXFLAGS=-std=c++14"
];
doInstallCheck = true;
nativeInstallCheckInputs = [
kyua
];
# Dont install the test programs for ATF itself; theyre useless
# other than as part of the `installCheckPhase`, and they contain
# nonreproducible references to the build directory.
postInstall = ''
rm -r $out/tests
'';
installCheckPhase = ''
runHook preInstallCheck
HOME=$TMPDIR PATH=$out/bin:$PATH kyua test
runHook postInstallCheck
'';
passthru.updateScript = gitUpdater { rev-prefix = "atf-"; };
__structuredAttrs = true;
meta = {
description = "Libraries to write tests in C, C++, and shell";
homepage = "https://github.com/freebsd/atf/";
license = lib.licenses.bsd3;
mainProgram = "atf-sh";
maintainers = with lib.maintainers; [ reckenrode ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,59 @@
{
lib,
stdenv,
autoreconfHook,
fetchurl,
gcc,
makeWrapper,
pcre2,
perl,
ps,
readline,
tcp_wrappers,
}:
stdenv.mkDerivation rec {
pname = "atftp";
version = "0.8.0";
src = fetchurl {
url = "mirror://sourceforge/atftp/${pname}-${version}.tar.gz";
hash = "sha256-3yqgicdnD56rQOVZjl0stqWC3FGCkm6lC01pDk438xY=";
};
# fix test script
postPatch = ''
patchShebangs .
'';
nativeBuildInputs = [
autoreconfHook
makeWrapper
];
buildInputs = [
gcc
pcre2
readline
tcp_wrappers
];
nativeCheckInputs = [
perl
ps
];
# Expects pre-GCC5 inline semantics
env.NIX_CFLAGS_COMPILE = "-std=gnu89";
doCheck = true;
meta = {
description = "Advanced tftp tools";
changelog = "https://sourceforge.net/p/atftp/code/ci/v${version}/tree/Changelog";
homepage = "https://sourceforge.net/projects/atftp/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ raskin ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
stdenv,
fetchgit,
libmowgli,
pkg-config,
git,
gettext,
pcre,
libidn,
libxcrypt,
cracklib,
openssl,
}:
stdenv.mkDerivation rec {
pname = "atheme";
version = "7.2.12";
src = fetchgit {
url = "https://github.com/atheme/atheme.git";
rev = "v${version}";
hash = "sha256-KAC1ZPNo4TqfVryKOYYef8cRWRgFmyEdvl1bgvpGNiM=";
leaveDotGit = true;
};
nativeBuildInputs = [
pkg-config
git
gettext
];
buildInputs = [
libmowgli
pcre
libidn
libxcrypt
cracklib
openssl
];
configureFlags = [
"--with-pcre"
"--with-libidn"
"--with-cracklib"
"--enable-large-net"
"--enable-contrib"
"--enable-reproducible-builds"
];
meta = with lib; {
description = "Set of services for IRC networks";
homepage = "https://atheme.github.io/";
license = licenses.isc;
platforms = platforms.unix;
maintainers = with maintainers; [ leo60228 ];
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
fetchFromGitHub,
buildGoModule,
nix-update-script,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "athens";
version = "0.16.1";
src = fetchFromGitHub {
owner = "gomods";
repo = "athens";
tag = "v${finalAttrs.version}";
hash = "sha256-qF5sSpWtw1qTxfaZkQse882JjE5idP2Wk0RVsPmzIlY=";
};
vendorHash = "sha256-bn3He7ImXxrl+Or2pqzVpM8VxbfqDDupwtZbdSMd4HI=";
env.CGO_ENABLED = "0";
ldflags = [
"-s"
"-X github.com/gomods/athens/pkg/build.version=${finalAttrs.version}"
];
subPackages = [ "cmd/proxy" ];
postInstall = ''
mv $out/bin/proxy $out/bin/athens
'';
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Go module datastore and proxy";
homepage = "https://github.com/gomods/athens";
changelog = "https://github.com/gomods/athens/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
mainProgram = "athens";
maintainers = with lib.maintainers; [
katexochen
malt3
];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchgit,
ronn,
mount,
}:
stdenv.mkDerivation {
pname = "atinout";
version = "0.9.2-alpha";
env.NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.cc.isClang) "-Werror=implicit-fallthrough=0";
LANG = if stdenv.hostPlatform.isDarwin then "en_US.UTF-8" else "C.UTF-8";
nativeBuildInputs = [
ronn
mount
];
src = fetchgit {
url = "git://git.code.sf.net/p/atinout/code";
rev = "4976a6cb5237373b7e23cd02d7cd5517f306e3f6";
sha256 = "0bninv2bklz7ly140cxx8iyaqjlq809jjx6xqpimn34ghwsaxbpv";
};
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
installPhase = ''
make PREFIX=$out install
'';
meta = with lib; {
homepage = "https://atinout.sourceforge.net";
description = "Tool for talking to modems";
platforms = platforms.unix;
license = licenses.gpl3;
maintainers = with maintainers; [ bendlas ];
mainProgram = "atinout";
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "atkinson-hyperlegible-mono";
version = "2.001-unstable-2024-11-20";
src = fetchFromGitHub {
owner = "googlefonts";
repo = "atkinson-hyperlegible-next-mono";
rev = "154d50362016cc3e873eb21d242cd0772384c8f9";
hash = "sha256-V0zWbNYT3RGO9vjX+GHfO38ywMozcZVJkBZH+8G5sC0=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm644 -t $out/share/fonts/opentype fonts/otf/*
install -Dm644 -t $out/share/fonts/variable fonts/variable/*
runHook postInstall
'';
meta = {
description = "New (2024) monospace sibling family to Atkinson Hyperlegible Next";
homepage = "https://www.brailleinstitute.org/freefont/";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ pancaek ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "atkinson-hyperlegible-next";
version = "2.001-unstable-2025-02-21";
src = fetchFromGitHub {
owner = "googlefonts";
repo = "atkinson-hyperlegible-next";
rev = "7925f50f649b3813257faf2f4c0b381011f434f1";
hash = "sha256-LhwfYI5Z6BhO7OaY/RwXT7r3WYiUY9AO2HL3MmhPpQY=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm644 -t $out/share/fonts/opentype fonts/otf/*
install -Dm644 -t $out/share/fonts/variable fonts/variable/*
runHook postInstall
'';
meta = {
description = "New (2024) second version of the Atkinson Hyperlegible fonts";
homepage = "https://www.brailleinstitute.org/freefont/";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ pancaek ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "atkinson-hyperlegible";
version = "0-unstable-2021-04-29";
src = fetchFromGitHub {
owner = "googlefonts";
repo = "atkinson-hyperlegible";
rev = "1cb311624b2ddf88e9e37873999d165a8cd28b46";
hash = "sha256-RN4m5gyY2OiPzRXgFVQ3pq6JdkPcMxV4fRlX2EK+gOM=";
};
installPhase = ''
runHook preInstall
install -Dm644 -t $out/share/fonts/opentype fonts/otf/*
runHook postInstall
'';
meta = with lib; {
description = "Typeface designed to offer greater legibility and readability for low vision readers";
homepage = "https://brailleinstitute.org/freefont";
license = licenses.ofl;
platforms = platforms.all;
maintainers = with maintainers; [ zhaofengli ];
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "atkinson-monolegible";
version = "0-unstable-2023-02-27";
src = fetchFromGitHub {
owner = "Hylian";
repo = "atkinson-monolegible";
rev = "4d0e404118dece699ca926c310588316bfcd5ac2";
hash = "sha256-U09ysphpDjXG/OwPxQDUiLHAYHGfiY+lL4+QIQLPj74=";
};
installPhase = ''
runHook preInstall
install -Dm644 AtkinsonMonolegible.ttf -t $out/share/fonts/truetype
runHook postInstall
'';
meta = {
homepage = "https://github.com/Hylian/atkinson-monolegible";
description = "Mono variant of the Atkinson Hyperlegible typeface";
license = lib.licenses.ofl;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ Gliczy ];
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
}:
buildGoModule (finalAttrs: {
pname = "atlantis";
version = "0.36.0";
src = fetchFromGitHub {
owner = "runatlantis";
repo = "atlantis";
tag = "v${finalAttrs.version}";
hash = "sha256-STw7qQHLyST5eyr3siBY1adO2vyUEH1xlwatj3Oyp0U=";
};
ldflags = [
"-X=main.version=${finalAttrs.version}"
"-X=main.date=1970-01-01T00:00:00Z"
];
vendorHash = "sha256-GeO+T8PUrN1zX0S6roeles5sB68KwStiuQ65k+tNf68=";
subPackages = [ "." ];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/atlantis";
versionCheckProgramArg = "version";
meta = {
homepage = "https://github.com/runatlantis/atlantis";
description = "Terraform Pull Request Automation";
mainProgram = "atlantis";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jpotier ];
};
})

View File

@@ -0,0 +1,57 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
testers,
}:
buildGoModule (finalAttrs: {
pname = "atlas";
version = "0.37.0";
src = fetchFromGitHub {
owner = "ariga";
repo = "atlas";
tag = "v${finalAttrs.version}";
hash = "sha256-9OX2CmL9/5LzIbYHQKvC/wRCifGq9Ycycvr3uYck94Q=";
};
modRoot = "cmd/atlas";
proxyVendor = true;
vendorHash = "sha256-wIDPTgfpWD0E9Afi5NHvL684k7YPjYkQIpHotNZeneY=";
nativeBuildInputs = [ installShellFiles ];
ldflags = [
"-s"
"-w"
"-X ariga.io/atlas/cmd/atlas/internal/cmdapi.version=v${finalAttrs.version}"
];
subPackages = [ "." ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd atlas \
--bash <($out/bin/atlas completion bash) \
--fish <($out/bin/atlas completion fish) \
--zsh <($out/bin/atlas completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "atlas version";
version = "v${finalAttrs.version}";
};
meta = {
description = "Manage your database schema as code";
homepage = "https://atlasgo.io/";
changelog = "https://github.com/ariga/atlas/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ aaronjheng ];
mainProgram = "atlas";
};
})

View File

@@ -0,0 +1,54 @@
{
lib,
stdenv,
fetchzip,
jre,
}:
stdenv.mkDerivation rec {
pname = "atlassian-cli";
version = "9.6.0";
src = fetchzip {
url = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
sha256 = "sha256-55ydhprVC9NdDMUrKbpSAEQBb9zRYgwOc7k8aP4R89A=";
};
tools = [
"agile"
"bamboo"
"bitbucket"
"confluence"
"csv"
"hipchat"
"jira"
"servicedesk"
"structure"
"tempo"
"trello"
"upm"
];
installPhase = ''
mkdir -p $out/{bin,share/doc/atlassian-cli}
cp -r lib $out/share/java
cp -r README.txt license $out/share/doc/atlassian-cli
for tool in $tools
do
substitute ${./wrapper.sh} $out/bin/$tool \
--subst-var out \
--subst-var-by jre ${jre} \
--subst-var-by tool $tool
chmod +x $out/bin/$tool
done
'';
meta = with lib; {
description = "Integrated family of CLIs for various Atlassian applications";
homepage = "https://bobswift.atlassian.net/wiki/spaces/ACLI/overview";
license = licenses.unfreeRedistributable;
sourceProvenance = with sourceTypes; [ binaryBytecode ];
maintainers = with maintainers; [ twey ];
inherit (jre.meta) platforms;
};
}

View File

@@ -0,0 +1,20 @@
#!/bin/bash
tool=@tool@
user=ATLASSIAN_${tool^^}_USER
host=ATLASSIAN_${tool^^}_HOST
pass=ATLASSIAN_${tool^^}_PASS
[ -f ~/.atlassian-cli ] && source ~/.atlassian-cli
if [ x = ${!user-x} ] || [ x = ${!host-x} ] || [ x = ${!pass-x} ]
then
>&2 echo please define $user, $host, and $pass in '~/.atlassian-cli'
exit 1
fi
@jre@/bin/java \
-jar @out@/share/java/@tool@-cli-* \
--server "${!host}" \
--user "${!user}" \
--password "${!pass}" \
"$@"

View File

@@ -0,0 +1,88 @@
{
lib,
stdenv,
fetchurl,
makeWrapper,
jdk11,
atlassian-plugin-sdk,
testers,
writeShellScript,
common-updater-scripts,
curl,
jq,
yq,
}:
let
mavenGroupIdUrl = "https://packages.atlassian.com/maven/public/com/atlassian/amps";
in
stdenv.mkDerivation rec {
pname = "atlassian-plugin-sdk";
version = "9.1.1";
src = fetchurl {
url = "${mavenGroupIdUrl}/atlassian-plugin-sdk/${version}/atlassian-plugin-sdk-${version}.tar.gz";
hash = "sha256-sEAe1eif9qXvIOu8RfZ4MWngEO5yCjU74g4Crd85J3Y=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jdk11 ];
unpackPhase = "tar -xzf $src";
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r atlassian-plugin-sdk-${version}/* $out
rm $out/bin/*.bat
for file in "$out"/bin/*; do
wrapProgram $file --set JAVA_HOME "${jdk11}"
done
runHook postInstall
'';
passthru = {
tests.version = testers.testVersion {
package = atlassian-plugin-sdk;
command = "atlas-version";
version = "atlassian-plugin-sdk-${version}";
};
updateScript = writeShellScript "update-atlassian-plugin-sdk" ''
set -o errexit
export PATH="${
lib.makeBinPath [
curl
jq
yq
common-updater-scripts
]
}:$PATH"
NEW_VERSION=$(curl -s ${mavenGroupIdUrl}/atlassian-plugin-sdk/maven-metadata.xml | xq -r '.metadata.versioning.latest')
if [[ "${version}" = "$NEW_VERSION" ]]; then
echo "The new version same as the old version."
exit 0
fi
DOWNLOAD_URL="${mavenGroupIdUrl}/atlassian-plugin-sdk/${version}/atlassian-plugin-sdk-$NEW_VERSION.tar.gz"
NIX_HASH=$(nix --extra-experimental-features nix-command hash to-sri sha256:$(nix-prefetch-url $DOWNLOAD_URL))
update-source-version "atlassian-plugin-sdk" "$NEW_VERSION" "$NIX_HASH" "$DOWNLOAD_URL"
'';
};
meta = with lib; {
description = "Atlassian Plugin SDK";
homepage = "https://developer.atlassian.com/server/framework/atlassian-sdk/";
license = licenses.asl20;
maintainers = with maintainers; [ pathob ];
platforms = platforms.linux;
mainProgram = "atlas-mvn";
};
}

1318
pkgs/by-name/at/atlauncher/deps.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,115 @@
{
fetchFromGitHub,
gradle_8,
jre,
lib,
makeWrapper,
stdenvNoCC,
gamemodeSupport ? stdenvNoCC.hostPlatform.isLinux,
textToSpeechSupport ? stdenvNoCC.hostPlatform.isLinux,
additionalLibs ? [ ],
# dependencies
flite,
gamemode,
libglvnd,
libpulseaudio,
udev,
xorg,
}:
let
# "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0."
gradle = gradle_8;
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "atlauncher";
version = "3.4.38.2";
src = fetchFromGitHub {
owner = "ATLauncher";
repo = "ATLauncher";
rev = "v${finalAttrs.version}";
hash = "sha256-x8ch8BdUckweuwEvsOxYG2M5UmbW4fRjF/jJ6feIjIA=";
};
postPatch = ''
# exclude UI tests
sed -i "/test {/a\ exclude '**/BasicLauncherUiTest.class'" build.gradle
'';
nativeBuildInputs = [
gradle
makeWrapper
];
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
doCheck = true;
gradleBuildTask = "shadowJar";
gradleFlags = [
"--exclude-task"
"createExe"
];
installPhase =
let
runtimeLibraries = [
libglvnd
libpulseaudio
udev
xorg.libX11
xorg.libXcursor
xorg.libXxf86vm
]
++ lib.optional gamemodeSupport gamemode.lib
++ lib.optional textToSpeechSupport flite
++ additionalLibs;
in
''
runHook preInstall
mkdir -p $out/{bin,share/java}
cp build/libs/ATLauncher-${finalAttrs.version}.jar $out/share/java/ATLauncher.jar
makeWrapper ${lib.getExe jre} $out/bin/atlauncher \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeLibraries}" \
--add-flags "-jar $out/share/java/ATLauncher.jar" \
--add-flags "--working-dir \"\''${XDG_DATA_HOME:-\$HOME/.local/share}/ATLauncher\"" \
--add-flags "--no-launcher-update"
runHook postInstall
'';
postInstall =
let
packagingDir = "${finalAttrs.src}/packaging/linux/_common";
in
''
install -D -m444 ${packagingDir}/atlauncher.desktop -t $out/share/applications
install -D -m444 ${packagingDir}/atlauncher.metainfo.xml -t $out/share/metainfo
install -D -m444 ${packagingDir}/atlauncher.png -t $out/share/pixmaps
install -D -m444 ${packagingDir}/atlauncher.svg -t $out/share/icons/hicolor/scalable/apps
'';
meta = {
broken = stdenvNoCC.hostPlatform.isDarwin; # https://github.com/NixOS/nixpkgs/issues/356259
changelog = "https://github.com/ATLauncher/ATLauncher/blob/v${finalAttrs.version}/CHANGELOG.md";
description = "Simple and easy to use Minecraft launcher which contains many different modpacks for you to choose from and play";
downloadPage = "https://atlauncher.com/downloads";
homepage = "https://atlauncher.com";
license = lib.licenses.gpl3;
mainProgram = "atlauncher";
maintainers = with lib.maintainers; [ getpsyched ];
platforms = lib.platforms.all;
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode # mitm cache
];
};
})

View File

@@ -0,0 +1,59 @@
{
lib,
buildGoModule,
fetchFromGitHub,
terraform,
}:
buildGoModule (finalAttrs: {
pname = "atmos";
version = "1.189.0";
src = fetchFromGitHub {
owner = "cloudposse";
repo = "atmos";
tag = "v${finalAttrs.version}";
hash = "sha256-udreQcDKZYnOLxeEUQfC+OsLg1VdwXP9R7hDKD6YEkw=";
};
vendorHash = "sha256-RnmYUEgVQyZXvPPIXxS8cCkpKkQTGxQzawfDN4zVLHw=";
ldflags = [
"-s"
"-w"
"-X github.com/cloudposse/atmos/cmd.Version=v${finalAttrs.version}"
];
nativeCheckInputs = [ terraform ];
preCheck = ''
# Remove tests that depend on a network connection.
rm -f \
pkg/vender/component_vendor_test.go \
pkg/atlantis/atlantis_generate_repo_config_test.go \
pkg/describe/describe_affected_test.go
'';
# depend on a network connection.
doCheck = false;
# depend on a network connection.
doInstallCheck = false;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/atmos version | grep "v${finalAttrs.version}"
runHook postInstallCheck
'';
meta = {
homepage = "https://atmos.tools";
changelog = "https://github.com/cloudposse/atmos/releases/tag/v${finalAttrs.version}";
description = "Universal Tool for DevOps and Cloud Automation (works with terraform, helm, helmfile, etc)";
mainProgram = "atmos";
license = lib.licenses.asl20;
teams = [ lib.teams.cloudposse ];
};
})

View File

@@ -0,0 +1,65 @@
{
lib,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "atomic-operator";
version = "0.8.5";
format = "pyproject";
src = fetchFromGitHub {
owner = "swimlane";
repo = "atomic-operator";
tag = version;
hash = "sha256-DyNqu3vndyLkmfybCfTbgxk3t/ALg7IAkAMg4kBkH7Q=";
};
build-system = with python3.pkgs; [
setuptools
];
pythonRelaxDeps = [
"charset_normalizer"
"urllib3"
];
dependencies = with python3.pkgs; [
attrs
certifi
chardet
charset-normalizer
fire
idna
paramiko
pick
pypsrp
pyyaml
requests
urllib3
];
nativeCheckInputs = with python3.pkgs; [
pytestCheckHook
];
pythonImportsCheck = [
"atomic_operator"
];
disabledTests = [
# Tests require network access
"test_download_of_atomic_red_team_repo"
"test_setting_input_arguments"
"test_config_parser"
];
meta = with lib; {
description = "Tool to execute Atomic Red Team tests (Atomics)";
mainProgram = "atomic-operator";
homepage = "https://www.atomic-operator.com/";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
makeWrapper,
monero-cli,
}:
let
pname = "atomic-swap";
version = "0.4.3";
in
buildGoModule {
inherit pname version;
src = fetchFromGitHub {
owner = "AthanorLabs";
repo = "atomic-swap";
rev = "v${version}";
hash = "sha256-MOylUZ6BrvlxUrsZ5gg3JzW9ROG5UXeGhq3YoPZKdHs=";
};
vendorHash = "sha256-fGQ6MI+3z7wRL0y7AUERVtN0V2rcRa+vqeB8+3FMzzc=";
subPackages = [
"cmd/swapcli"
"cmd/swapd"
"cmd/bootnode"
];
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/swapd --prefix PATH : ${lib.makeBinPath [ monero-cli ]}
'';
# integration tests require network access
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/AthanorLabs/atomic-swap";
changelog = "https://github.com/AthanorLabs/atomic-swap/releases/tag/v${version}";
description = "ETH-XMR atomic swap implementation";
license = with lib.licenses; [ lgpl3Only ];
maintainers = with lib.maintainers; [
happysalada
lord-valen
];
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
zlib,
}:
stdenv.mkDerivation rec {
pname = "atomicparsley";
version = "20240608.083822.1ed9031";
src = fetchFromGitHub {
owner = "wez";
repo = "atomicparsley";
tag = version;
sha256 = "sha256-VhrOMpGNMkNNYjcfCqlHI8gdApWr1ThtcxDwQ6gyV/g=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib ];
installPhase = ''
runHook preInstall
install -D AtomicParsley $out/bin/AtomicParsley
runHook postInstall
'';
doCheck = true;
postPatch = ''
patchShebangs tests/test.sh
'';
# copying files so that we dont need to patch the test.sh
checkPhase = ''
(
cp AtomicParsley ../tests
cd ../tests
mkdir tests
mv *.mp4 tests
./test.sh
)
'';
meta = with lib; {
description = "CLI program for reading, parsing and setting metadata into MPEG-4 files";
homepage = "https://github.com/wez/atomicparsley";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ pjones ];
mainProgram = "AtomicParsley";
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchurl,
meson,
ninja,
pkg-config,
wrapGAppsHook3,
python3,
gettext,
gnome,
glib,
gtk3,
libgnome-games-support,
gdk-pixbuf,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "atomix";
version = "44.0";
src = fetchurl {
url = "mirror://gnome/sources/atomix/${lib.versions.major finalAttrs.version}/atomix-${finalAttrs.version}.tar.xz";
hash = "sha256-yISTF2iNh9pzTJBjA1YxBSAH8qh5m2xsyRUmWIC1X7Q=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gettext
wrapGAppsHook3
python3
];
buildInputs = [
glib
gtk3
gdk-pixbuf
libgnome-games-support
];
postPatch = ''
chmod +x meson_post_install.py
patchShebangs meson_post_install.py
'';
passthru = {
updateScript = gnome.updateScript { packageName = "atomix"; };
};
meta = with lib; {
description = "Puzzle game where you move atoms to build a molecule";
mainProgram = "atomix";
homepage = "https://gitlab.gnome.org/GNOME/atomix";
changelog = "https://gitlab.gnome.org/GNOME/atomix/-/blob/${finalAttrs.version}/NEWS?ref_type=tags";
license = licenses.gpl2Plus;
teams = [ teams.gnome ];
platforms = platforms.unix;
};
})

View File

@@ -0,0 +1,28 @@
{
lib,
stdenv,
fetchurl,
perl,
bash,
}:
stdenv.mkDerivation rec {
pname = "atool";
version = "0.39.0";
src = fetchurl {
url = "mirror://savannah/atool/atool-${version}.tar.gz";
sha256 = "aaf60095884abb872e25f8e919a8a63d0dabaeca46faeba87d12812d6efc703b";
};
buildInputs = [ perl ];
configureScript = "${bash}/bin/bash configure";
meta = {
homepage = "https://www.nongnu.org/atool";
description = "Archive command line helper";
platforms = lib.platforms.unix;
license = lib.licenses.gpl3;
mainProgram = "atool";
};
}

View File

@@ -0,0 +1,16 @@
diff --git a/atop.service b/atop.service
index 6b11dea..f90935f 100644
--- a/atop.service
+++ b/atop.service
@@ -8,10 +8,10 @@ Environment="LOGOPTS="
Environment="LOGINTERVAL=600"
Environment="LOGGENERATIONS=28"
Environment="LOGPATH=/var/log/atop"
-EnvironmentFile=/etc/default/atop
+EnvironmentFile=-/etc/default/atop
ExecStartPre=/bin/sh -c 'test -d "${LOGPATH}" || mkdir -p "${LOGPATH}"'
ExecStartPre=/bin/sh -c 'test -n "$LOGINTERVAL" -a "$LOGINTERVAL" -eq "$LOGINTERVAL"'
ExecStartPre=/bin/sh -c 'test -n "$LOGGENERATIONS" -a "$LOGGENERATIONS" -eq "$LOGGENERATIONS"'
ExecStart=/bin/sh -c 'exec @out@/bin/atop ${LOGOPTS} -w "${LOGPATH}/atop_$(date +%%Y%%m%%d)" ${LOGINTERVAL}'
ExecStartPost=@findutils@/bin/find "${LOGPATH}" -name "atop_*" -mtime +${LOGGENERATIONS} -exec rm -v {} \;
KillSignal=SIGUSR2

View File

@@ -0,0 +1,68 @@
diff --git a/atop-pm.sh b/atop-pm.sh
index 3ff4ab5..c433b1a 100755
--- a/atop-pm.sh
+++ b/atop-pm.sh
@@ -1,10 +1,10 @@
#!/bin/sh
case "$1" in
- pre) /usr/bin/systemctl stop atop
+ pre) @systemd@/bin/systemctl stop atop
exit 0
;;
- post) /usr/bin/systemctl start atop
+ post) @systemd@/bin/systemctl start atop
exit 0
;;
*) exit 1
diff --git a/atop-rotate.service b/atop-rotate.service
index dbe8e0f..4eaa84d 100644
--- a/atop-rotate.service
+++ b/atop-rotate.service
@@ -4,4 +4,4 @@ Documentation=man:atop(1)
[Service]
Type=oneshot
-ExecStart=/usr/bin/systemctl restart atop.service
+ExecStart=@systemd@/bin/systemctl restart atop.service
diff --git a/atop.service b/atop.service
index 3e5bafd..6b11dea 100644
--- a/atop.service
+++ b/atop.service
@@ -12,8 +12,8 @@ EnvironmentFile=/etc/default/atop
ExecStartPre=/bin/sh -c 'test -d "${LOGPATH}" || mkdir -p "${LOGPATH}"'
ExecStartPre=/bin/sh -c 'test -n "$LOGINTERVAL" -a "$LOGINTERVAL" -eq "$LOGINTERVAL"'
ExecStartPre=/bin/sh -c 'test -n "$LOGGENERATIONS" -a "$LOGGENERATIONS" -eq "$LOGGENERATIONS"'
-ExecStart=/bin/sh -c 'exec /usr/bin/atop ${LOGOPTS} -w "${LOGPATH}/atop_$(date +%%Y%%m%%d)" ${LOGINTERVAL}'
-ExecStartPost=/usr/bin/find "${LOGPATH}" -name "atop_*" -mtime +${LOGGENERATIONS} -exec rm -v {} \;
+ExecStart=/bin/sh -c 'exec @out@/bin/atop ${LOGOPTS} -w "${LOGPATH}/atop_$(date +%%Y%%m%%d)" ${LOGINTERVAL}'
+ExecStartPost=@findutils@/bin/find "${LOGPATH}" -name "atop_*" -mtime +${LOGGENERATIONS} -exec rm -v {} \;
KillSignal=SIGUSR2
[Install]
diff --git a/atopacct.service b/atopacct.service
index 3aa529d..b95db43 100644
--- a/atopacct.service
+++ b/atopacct.service
@@ -7,7 +7,7 @@ Before=atop.service
Type=forking
PIDFile=/run/atopacctd.pid
ExecStartPre=/bin/sh -c 'if systemctl -q is-active acct psacct; then echo "Process accounting already in use by (ps)acct"; exit 1; fi'
-ExecStart=/usr/sbin/atopacctd
+ExecStart=@out@/bin/atopacctd
[Install]
WantedBy=multi-user.target
diff --git a/atopgpu.service b/atopgpu.service
index 4839235..8aae1c5 100644
--- a/atopgpu.service
+++ b/atopgpu.service
@@ -4,7 +4,7 @@ Documentation=man:atopgpud(8)
Before=atop.service
[Service]
-ExecStart=/usr/sbin/atopgpud
+ExecStart=@out@/bin/atopgpud
Type=oneshot
RemainAfterExit=yes

View File

@@ -0,0 +1,110 @@
{
lib,
stdenv,
fetchurl,
glib,
zlib,
ncurses,
pkg-config,
findutils,
systemd,
python3,
nixosTests,
# makes the package unfree via pynvml
withAtopgpu ? false,
}:
stdenv.mkDerivation rec {
pname = "atop";
version = "2.12.1";
src = fetchurl {
url = "https://www.atoptool.nl/download/atop-${version}.tar.gz";
hash = "sha256-T9vmfF36+JQFY54YWZ9OrneXgHP/pU88eMNoq1S9EvY=";
};
nativeBuildInputs = [
pkg-config
]
++ lib.optionals withAtopgpu [
python3.pkgs.wrapPython
];
buildInputs = [
glib
zlib
ncurses
]
++ lib.optionals withAtopgpu [
python3
];
pythonPath = lib.optionals withAtopgpu [
python3.pkgs.pynvml
];
makeFlags = [
"DESTDIR=$(out)"
"BINPATH=/bin"
"SBINPATH=/bin"
"MAN1PATH=/share/man/man1"
"MAN5PATH=/share/man/man5"
"MAN8PATH=/share/man/man8"
"SYSDPATH=/lib/systemd/system"
"PMPATHD=/lib/systemd/system-sleep"
];
patches = [
# Fix paths in atop.service, atop-rotate.service, atopgpu.service, atopacct.service,
# and atop-pm.sh
./fix-paths.patch
# Don't fail on missing /etc/default/atop, make sure /var/log/atop exists pre-start
./atop.service.patch
];
preConfigure = ''
for f in *.{sh,service}; do
findutils=${findutils} systemd=${systemd} substituteAllInPlace "$f"
done
substituteInPlace Makefile --replace 'chown' 'true'
substituteInPlace Makefile --replace 'chmod 04711' 'chmod 0711'
'';
preInstall = ''
mkdir -p $out/bin
'';
postInstall = ''
# Remove extra files we don't need
rm -r $out/{var,etc} $out/bin/atop{sar,}-${version}
''
+ (
if withAtopgpu then
''
wrapPythonPrograms
''
else
''
rm $out/lib/systemd/system/atopgpu.service $out/bin/atopgpud $out/share/man/man8/atopgpud.8
''
);
passthru.tests = { inherit (nixosTests) atop; };
meta = with lib; {
platforms = platforms.linux;
maintainers = with maintainers; [ raskin ];
description = "Console system performance monitor";
longDescription = ''
Atop is an ASCII full-screen performance monitor that is capable of reporting the activity of
all processes (even if processes have finished during the interval), daily logging of system
and process activity for long-term analysis, highlighting overloaded system resources by using
colors, etc. At regular intervals, it shows system-level activity related to the CPU, memory,
swap, disks and network layers, and for every active process it shows the CPU utilization,
memory growth, disk utilization, priority, username, state, and exit code.
'';
license = licenses.gpl2Plus;
downloadPage = "http://atoptool.nl/downloadatop.php";
};
}

View File

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

View File

@@ -0,0 +1,41 @@
{
lib,
buildGoModule,
fetchFromGitHub,
unstableGitUpdater,
}:
buildGoModule rec {
pname = "atproto-goat";
version = "0-unstable-2025-02-01";
src = fetchFromGitHub {
owner = "bluesky-social";
repo = "goat";
rev = "e79169f1d8fba9838274b1106d74751fc54eeb9c";
hash = "sha256-cLS44J6MlSSti7NRd9vSsdWXoYiMGwt3odg5p60W6ew=";
};
postPatch = ''
substituteInPlace main.go \
--replace-fail "versioninfo.Short()" '"${version}"' \
--replace-fail '"github.com/earthboundkid/versioninfo/v2"' ""
'';
vendorHash = "sha256-l9oSdTAO1YxfrBjMWJDzlmhaZkbo90FGTk5LedjbZB8=";
passthru.updateScript = unstableGitUpdater {
hardcodeZeroVersion = true;
};
meta = {
description = "Go AT protocol CLI tool";
homepage = "https://github.com/bluesky-social/goat/blob/main/README.md";
license = with lib.licenses; [
mit
asl20
];
maintainers = with lib.maintainers; [ pyrox0 ];
mainProgram = "goat";
};
}

View File

@@ -0,0 +1,32 @@
{
lib,
stdenv,
fetchFromGitHub,
ats2,
}:
stdenv.mkDerivation {
pname = "ats-acc";
version = "0-unstable-2018-10-21";
src = fetchFromGitHub {
owner = "sparverius";
repo = "ats-acc";
rev = "2d49f4e76d0fe1f857ceb70deba4aed13c306dcb";
sha256 = "sha256-Wp39488YNL40GKp4KaJwhi75PsYP+gMtrZqAvs4Q/sw=";
};
postPatch = ''
substituteInPlace Makefile \
--replace "mv acc \''$(PATSHOME)/bin/" "install -Dm755 acc ${placeholder "out"}/bin/"
'';
nativeBuildInputs = [ ats2 ];
meta = with lib; {
description = "Pretty-print error messages of the ATS Compiler";
homepage = "https://github.com/sparverius/ats-acc";
maintainers = with maintainers; [ moni ];
license = licenses.unfree; # Upstream has no license
};
}

View File

@@ -0,0 +1,84 @@
{
lib,
stdenv,
fetchurl,
gmp,
withEmacsSupport ? true,
withContrib ? true,
}:
let
versionPkg = "0.4.2";
contrib = fetchurl {
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz";
hash = "sha256-m0hfBLsaNiLaIktcioK+ZtWUsWht3IDSJ6CzgJmS06c=";
};
postInstallContrib = lib.optionalString withContrib ''
local contribDir=$out/lib/ats2-postiats-*/ ;
mkdir -p $contribDir ;
tar -xzf "${contrib}" --strip-components 1 -C $contribDir ;
'';
postInstallEmacs = lib.optionalString withEmacsSupport ''
local siteLispDir=$out/share/emacs/site-lisp/ats2 ;
mkdir -p $siteLispDir ;
install -m 0644 -v ./utils/emacs/*.el $siteLispDir ;
'';
in
stdenv.mkDerivation rec {
pname = "ats2";
version = versionPkg;
src = fetchurl {
url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-gmp-${version}.tgz";
hash = "sha256-UWgDjFojPBYgykrCrJyYvVWY+Gc5d4aRGjTWjc528AM=";
};
postPatch = ''
for i in cstream intinf libgmp libjson-c libpcre; do
ln -sf ../../../../../share/Makefile.gen contrib/atscntrb/atscntrb-hx-$i/SATS/DOCUGEN/Makefile.gen
done
for i in libcairo libsdl2; do
ln -sf ../../../../../../share/Makefile.gen npm-utils/contrib/atscntrb/atscntrb-hx-$i/SATS/DOCUGEN/Makefile.gen
done
''
+ lib.optionalString stdenv.cc.isClang ''
sed -i 's/gcc/clang/g' utils/*/DATS/atscc_util.dats
'';
buildInputs = [ gmp ];
# Disable parallel build, errors:
# *** No rule to make target 'patscc.dats', needed by 'patscc_dats.c'. Stop.
enableParallelBuilding = false;
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"CCOMP=${stdenv.cc.targetPrefix}cc"
];
env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
setupHook =
let
hookFiles = [ ./setup-hook.sh ] ++ lib.optional withContrib ./setup-contrib-hook.sh;
in
builtins.toFile "setupHook.sh" (lib.concatMapStringsSep "\n" builtins.readFile hookFiles);
postInstall = postInstallContrib + postInstallEmacs;
meta = with lib; {
description = "Functional programming language with dependent types";
homepage = "http://www.ats-lang.org";
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [
thoughtpolice
ttuegel
bbarker
];
};
}

View File

@@ -0,0 +1 @@
export PATSHOMERELOC=@out@/lib/ats2-postiats-@version@

View File

@@ -0,0 +1 @@
export PATSHOME=@out@/lib/ats2-postiats-@version@

View File

@@ -0,0 +1,79 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nixVersions,
nixosTests,
boost,
pkg-config,
stdenv,
installShellFiles,
nix-update-script,
crates ? [ "attic-client" ],
}:
let
# Only the attic-client crate builds against the Nix C++ libs
# This derivation is also used to build the server
needNixInclude = lib.elem "attic-client" crates;
nix = nixVersions.nix_2_28;
in
rustPlatform.buildRustPackage {
pname = "attic";
version = "0-unstable-2025-09-24";
src = fetchFromGitHub {
owner = "zhaofengli";
repo = "attic";
rev = "12cbeca141f46e1ade76728bce8adc447f2166c6";
hash = "sha256-0nZlCCDC5PfndsQJXXtcyrtrfW49I3KadGMDlutzaGU=";
};
nativeBuildInputs = [
pkg-config
installShellFiles
];
buildInputs = lib.optional needNixInclude nix ++ [ boost ];
cargoBuildFlags = lib.concatMapStrings (c: "-p ${c} ") crates;
cargoHash = "sha256-h041o0s+bciXnvSuk4j+/uCY/sRRQWDVf+WEb9GEYeY=";
env = {
ATTIC_DISTRIBUTOR = "nixpkgs";
}
// lib.optionalAttrs needNixInclude { NIX_INCLUDE_PATH = "${lib.getDev nix}/include"; };
# Attic interacts with Nix directly and its tests require trusted-user access
# to nix-daemon to import NARs, which is not possible in the build sandbox.
doCheck = false;
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
if [[ -f $out/bin/attic ]]; then
installShellCompletion --cmd attic \
--bash <($out/bin/attic gen-completions bash) \
--zsh <($out/bin/attic gen-completions zsh) \
--fish <($out/bin/attic gen-completions fish)
fi
'';
passthru = {
tests = { inherit (nixosTests) atticd; };
updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
};
meta = {
description = "Multi-tenant Nix Binary Cache";
homepage = "https://github.com/zhaofengli/attic";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
zhaofengli
aciceri
defelo
];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
mainProgram = "attic";
};
}

View File

@@ -0,0 +1,4 @@
{ lib, attic-client }:
lib.addMetaAttrs { mainProgram = "atticd"; } (
attic-client.override { crates = [ "attic-server" ]; }
)

View File

@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
expat,
ffmpeg,
freetype,
libarchive,
libjpeg,
libGLU,
sfml_2,
zlib,
openal,
fontconfig,
}:
stdenv.mkDerivation {
pname = "attract-mode";
version = "2.7.0-unstable-2024-08-02";
src = fetchFromGitHub {
owner = "mickelson";
repo = "attract";
rev = "6ed3a1e32a519608c0b495295cc4c18ceea6b461";
hash = "sha256-uhbu/DaQSE9Dissv7XLFMVYitPn8ZEewq90poCtEfYY=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
expat
ffmpeg
freetype
libarchive
libjpeg
libGLU
sfml_2
zlib
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
openal
fontconfig
];
makeFlags = [
"prefix=$(out)"
"CC=${stdenv.cc.targetPrefix}cc"
"CXX=${stdenv.cc.targetPrefix}c++"
"STRIP=${stdenv.cc.targetPrefix}strip"
"OBJCOPY=${stdenv.cc.targetPrefix}objcopy"
"PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config"
"AR=${stdenv.cc.targetPrefix}ar"
"BUILD_EXPAT=0"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ "USE_FONTCONFIG=0" ];
enableParallelBuilding = true;
meta = {
description = "Frontend for arcade cabinets and media PCs";
homepage = "http://attractmode.org";
license = lib.licenses.gpl3Plus;
maintainers = [ lib.maintainers.hrdinka ];
platforms = lib.platforms.unix;
mainProgram = "attract";
};
}

View File

@@ -0,0 +1,76 @@
{
lib,
stdenv,
fetchFromGitHub,
installShellFiles,
rustPlatform,
nixosTests,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "atuin";
version = "18.8.0";
src = fetchFromGitHub {
owner = "atuinsh";
repo = "atuin";
tag = "v${finalAttrs.version}";
hash = "sha256-FJEXIxdeg6ExXvrQ3dtugMK5xw+NwWyB+ld9rj7okoU=";
};
cargoHash = "sha256-xJPSMu22Bq9Panrafsd5vUSnEQYuJB19OEZaAq8z0mw=";
# atuin's default features include 'check-updates', which do not make sense
# for distribution builds. List all other default features.
buildNoDefaultFeatures = true;
buildFeatures = [
"client"
"sync"
"server"
"clipboard"
"daemon"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd atuin \
--bash <($out/bin/atuin gen-completions -s bash) \
--fish <($out/bin/atuin gen-completions -s fish) \
--zsh <($out/bin/atuin gen-completions -s zsh)
'';
passthru = {
tests = {
inherit (nixosTests) atuin;
};
updateScript = nix-update-script { };
};
checkFlags = [
# tries to make a network access
"--skip=registration"
# No such file or directory (os error 2)
"--skip=sync"
# PermissionDenied (Operation not permitted)
"--skip=change_password"
"--skip=multi_user_test"
"--skip=store::var::tests::build_vars"
# Tries to touch files
"--skip=build_aliases"
];
meta = {
description = "Replacement for a shell history which records additional commands context with optional encrypted synchronization between machines";
homepage = "https://github.com/atuinsh/atuin";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
SuperSandro2000
sciencentistguy
_0x4A6F
rvdp
];
mainProgram = "atuin";
};
})