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,27 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage {
pname = "as-tree";
version = "unstable-2021-03-09";
src = fetchFromGitHub {
owner = "jez";
repo = "as-tree";
rev = "0036c20f66795774eb9cda3ccbae6ca1e1c19444";
hash = "sha256-80yB89sKIuv7V68p0jEsi2hRdz+5CzE+4R0joRzO7Dk=";
};
cargoHash = "sha256-HTwzmfpp9HKBKvjYXUqVDv9GUHl+2K3LMBSy1+GfmNU=";
meta = {
description = "Print a list of paths as a tree of paths";
homepage = "https://github.com/jez/as-tree";
license = with lib.licenses; [ blueOak100 ];
maintainers = with lib.maintainers; [ jshholland ];
mainProgram = "as-tree";
};
}

View File

@@ -0,0 +1,24 @@
diff --git old/as31/run.c new/as31/run.c
index 28c5317..9e5263b 100644
--- old/as31/run.c
+++ new/as31/run.c
@@ -113,7 +113,8 @@ int run_as31(const char *infile, int lst, int use_stdout,
}
while (!feof(finPre)) {
- getline(&lineBuffer,&sizeBuf,finPre);
+ if (getline(&lineBuffer,&sizeBuf,finPre) == -1)
+ break;
if ((includePtr=strstr(lineBuffer,INC_CMD))) {
includePtr=includePtr+strlen(INC_CMD);
while ((*includePtr==' ')|| //move includePtr to filename
@@ -138,7 +139,8 @@ int run_as31(const char *infile, int lst, int use_stdout,
mesg_f("Cannot open include file: %s\n",includePtr);
} else {
while (!feof(includeFile)) {
- getline(&incLineBuffer,&incSizeBuf,includeFile);
+ if (getline(&incLineBuffer,&incSizeBuf,includeFile) == -1)
+ break;
fprintf(fin,"%s",incLineBuffer);
if (strlen(incLineBuffer)) {
incLineCount++;

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
bison,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "as31";
version = "2.3.1";
src = fetchurl {
url = "mirror://debian/pool/main/a/as31/as31_${finalAttrs.version}.orig.tar.gz";
name = "${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
hash = "sha256-zSEyWHFon5nyq717Mpmdv1XZ5Hz0e8ZABqsP8M83c1U=";
};
patches = [
# Check return value of getline in run.c
./0000-getline-break.patch
# fix build with gcc14
(fetchpatch {
url = "https://salsa.debian.org/debian/as31/-/raw/76735fbf1fb00ce70ffd98385137908b7bd9bd5c/debian/patches/update_sizebuf_types.patch";
hash = "sha256-ERrPdY0afKwXmdSLoWmWR55nKfvmieGlz+nhwFWRnrM=";
})
];
postPatch = ''
# parser.c is generated from parser.y; it is better to generate it via bison
# instead of using the prebuilt one, especially in x86_64
rm -f as31/parser.c
'';
preConfigure = ''
chmod +x configure
'';
nativeBuildInputs = [
bison
];
meta = {
homepage = "https://www.pjrc.com/tech/8051/tools/as31-doc.html";
description = "8031/8051 assembler";
mainProgram = "as31";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,78 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
lsp-plugins,
bankstown-lv2,
triforce-lv2,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "asahi-audio";
version = "3.4";
src = fetchFromGitHub {
owner = "AsahiLinux";
repo = "asahi-audio";
tag = "v${finalAttrs.version}";
hash = "sha256-7AuPkR/M1a4zB9+dJuOuv9uTp+kIqPlxVOXipsyGGz8=";
};
makeFlags = [
"DESTDIR=$(out)"
"DATA_DIR=share"
];
fixupPhase = ''
runHook preFixup
for config_file in $(find $out -type f -not -name '*.wav') ; do
substituteInPlace "$config_file" --replace-warn "/usr" "$out"
done
runHook postFixup
'';
passthru = {
updateScript = nix-update-script { };
requiredLv2Packages = [
lsp-plugins
bankstown-lv2
triforce-lv2
];
};
meta = {
description = "Linux userspace audio configuration for Apple Silicon Macs";
longDescription = ''
This package contains DSP configuration files for Apple Silicon
Macs supported by the Asahi Linux project. The goal is to make
the Asahi Linux audio experience better than macOS, and in doing
so demonstrate that desktop Linux audio can be made fit for
purpose with a little bit of effort.
Currently Supported Devices (speakers)
- MacBook Air (13-inch, M1, 2020)
- MacBook Air (13-inch, M2, 2022)
- MacBook Air (15-inch, M2, 2023)
- MacBook Pro (13-inch, M1/M2, 2020/2022)
- MacBook Pro (14-inch, M1/M2 Pro/Max, 2021/2023)
- MacBook Pro (16-inch, M1/M2 Pro/Max, 2021/2023)
- Mac mini (M1/M2/M2 Pro, 2020/2023)
- Mac Studio (M1/M2 Max/Ultra, 2022/2023)
Currently Supported Devices (microphones)
- MacBook Air (13-inch, M1, 2020)
- MacBook Air (13-inch, M2, 2022)
- MacBook Air (15-inch, M2, 2023)
- MacBook Pro (13-inch, M1/M2, 2020/2022)
- MacBook Pro (14-inch, M1/M2 Pro/Max, 2021/2023)
- MacBook Pro (16-inch, M1/M2 Pro/Max, 2021/2023)
'';
homepage = "https://github.com/AsahiLinux/asahi-audio";
changelog = "https://github.com/AsahiLinux/asahi-audio/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ normalcea ];
platforms = [ "aarch64-linux" ];
};
})

View File

@@ -0,0 +1,27 @@
{
lib,
fetchCrate,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "asahi-bless";
version = "0.4.1";
src = fetchCrate {
inherit pname version;
hash = "sha256-SNaA+CEuCBwo4c54qWGs5AdkBYb9IWY1cQ0dRd/noe8=";
};
cargoHash = "sha256-nfSJ9RkzFAWlxlfoUKk8ZmIXDJXoSyHCGgRgMy9FDkw=";
cargoDepsName = pname;
meta = with lib; {
description = "Tool to select active boot partition on ARM Macs";
homepage = "https://crates.io/crates/asahi-bless";
license = licenses.mit;
maintainers = with maintainers; [ lukaslihotzki ];
mainProgram = "asahi-bless";
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
fetchCrate,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "asahi-btsync";
version = "0.2.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-jp05WcwY1cWh4mBQj+3jRCZoG32OhDvTB84hOAGemX8=";
};
cargoHash = "sha256-gGWhi0T7xDIsbzfw/KL3TSneLvQaiz/2xbpHeZt1i3I=";
cargoDepsName = pname;
meta = with lib; {
description = "Tool to sync Bluetooth pairing keys with macos on ARM Macs";
homepage = "https://crates.io/crates/asahi-btsync";
license = licenses.mit;
maintainers = with maintainers; [ lukaslihotzki ];
mainProgram = "asahi-btsync";
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
python3,
fetchFromGitHub,
gzip,
gnutar,
lzfse,
nix-update-script,
}:
python3.pkgs.buildPythonApplication rec {
pname = "asahi-fwextract";
version = "0.7.9";
pyproject = true;
src = fetchFromGitHub {
owner = "AsahiLinux";
repo = "asahi-installer";
tag = "v${version}";
hash = "sha256-vbhepoZ52k5tW2Gd7tfQTZ5CLqzhV7dUcVh6+AYwECk=";
};
postPatch = ''
substituteInPlace asahi_firmware/img4.py \
--replace-fail 'liblzfse.so' '${lzfse}/lib/liblzfse.so'
substituteInPlace asahi_firmware/update.py \
--replace-fail '"tar"' '"${gnutar}/bin/tar"' \
--replace-fail '"xf"' '"-x", "-I", "${gzip}/bin/gzip", "-f"'
'';
build-system = [ python3.pkgs.setuptools ];
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Asahi firmware extraction script";
homepage = "https://github.com/AsahiLinux/asahi-installer";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ normalcea ];
mainProgram = "asahi-fwextract";
platforms = [ "aarch64-linux" ];
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
fetchCrate,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "asahi-nvram";
version = "0.2.3";
src = fetchCrate {
inherit pname version;
hash = "sha256-zfUvPHAPrYhzgeiirGuqZaWnLBH0PHsqOUy2e972bWM=";
};
cargoHash = "sha256-NW/puo/Xoum7DjSQjBgilQcKbY3mAfVgXxUK6+1H1JI=";
cargoDepsName = pname;
meta = with lib; {
description = "Tool to read and write nvram variables on ARM Macs";
homepage = "https://crates.io/crates/asahi-nvram";
license = licenses.mit;
maintainers = with maintainers; [ lukaslihotzki ];
mainProgram = "asahi-nvram";
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
fetchCrate,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "asahi-wifisync";
version = "0.2.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-wKd6rUUnegvl6cHODVQlllaOXuAGlmwx9gr73I/2l/c=";
};
cargoHash = "sha256-ZxgRxQyDID3mBpr8dhHScctk14Pm9V51Gn24d24JyVk=";
cargoDepsName = pname;
meta = with lib; {
description = "Tool to sync Wifi passwords with macos on ARM Macs";
homepage = "https://crates.io/crates/asahi-wifisync";
license = licenses.mit;
maintainers = with maintainers; [ lukaslihotzki ];
mainProgram = "asahi-wifisync";
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,52 @@
{
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
installShellFiles,
alsa-lib,
libjack2,
}:
rustPlatform.buildRustPackage rec {
pname = "asak";
version = "0.3.5";
src = fetchFromGitHub {
owner = "chaosprint";
repo = "asak";
tag = "v${version}";
hash = "sha256-7r05sVIHqBBOKwye2fr0pspo/uDqaYGjt5CpxqgqKzI=";
};
cargoHash = "sha256-XoTfymCXrvoToSY7jw+Pn8Wm6fskFzl4f55uiKnSsJ8=";
nativeBuildInputs = [
pkg-config
installShellFiles
];
buildInputs = [
alsa-lib
libjack2
];
postInstall = ''
installManPage target/man/asak.1
installShellCompletion --cmd asak \
--bash target/completions/asak.bash \
--fish target/completions/asak.fish \
--zsh target/completions/_asak
'';
meta = {
description = "Cross-platform audio recording/playback CLI tool with TUI, written in Rust";
homepage = "https://github.com/chaosprint/asak";
changelog = "https://github.com/chaosprint/asak/releases/tag/v${version}";
license = lib.licenses.mit;
mainProgram = "asak";
maintainers = with lib.maintainers; [ anas ];
platforms = with lib.platforms; unix ++ windows;
};
}

View File

@@ -0,0 +1,57 @@
{
stdenv,
lib,
fetchzip,
SDL,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "asap";
version = "6.0.3";
src = fetchzip {
url = "mirror://sourceforge/project/asap/asap/${finalAttrs.version}/asap-${finalAttrs.version}.tar.gz";
hash = "sha256-a4RUtFue5wdoGUykLRb46s4+yR/I/7DhwE1SiWPRg8s=";
};
outputs = [
"out"
"dev"
];
buildInputs = [
SDL
];
enableParallelBuilding = true;
buildFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
# Only targets that don't need cito transpiler
"asapconv"
"asap-sdl"
"lib"
];
installFlags = [
"prefix=${placeholder "dev"}"
"bindir=${placeholder "out"}/bin"
"install-asapconv"
"install-sdl"
"install-lib"
];
meta = {
homepage = "https://asap.sourceforge.net/";
mainProgram = "asap-sdl";
description = "Another Slight Atari Player";
longDescription = ''
ASAP (Another Slight Atari Player) plays and converts 8-bit Atari POKEY
music (*.sap, *.cmc, *.mpt, *.rmt, *.tmc, ...) on modern computers and
mobile devices.
'';
maintainers = with lib.maintainers; [ OPNA2608 ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
yarnConfigHook,
yarnInstallHook,
nodejs,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "asar";
version = "3.2.4";
src = fetchFromGitHub {
owner = "electron";
repo = "asar";
tag = "v${finalAttrs.version}";
hash = "sha256-12FP8VRDo1PQ+tiN4zhzkcfAx9zFs/0MU03t/vFo074=";
};
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-/fV3hd98pl46+fgmiMH9sDQrrZgdLY1oF9c3TaIxRSg=";
};
nativeBuildInputs = [
yarnConfigHook
yarnInstallHook
nodejs
];
meta = {
description = "Simple extensive tar-like archive format with indexing";
homepage = "https://github.com/electron/asar";
license = lib.licenses.mit;
mainProgram = "asar";
maintainers = with lib.maintainers; [ xvapx ];
};
})

View File

@@ -0,0 +1,57 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
imagemagick,
qrencode,
testQR ? false,
zbar ? null,
}:
assert testQR -> zbar != false;
stdenvNoCC.mkDerivation {
pname = "asc-key-to-qr-code-gif";
version = "0-unstable-2019-01-27";
src = fetchFromGitHub {
owner = "yishilin14";
repo = "asc-key-to-qr-code-gif";
rev = "5d36a1bada8646ae0f61b04356e62ba5ef10a1aa";
hash = "sha256-DwxYgBsioL86WM6KBFJ+DuSJo3/1pwD1Fl156XD98RY=";
};
dontBuild = true;
postPatch =
let
substitutions = [
''--replace-fail "convert" "${lib.getExe imagemagick}"''
''--replace-fail "qrencode" "${lib.getExe qrencode}"''
]
++ lib.optionals testQR [
''--replace-fail "hash zbarimg" "true"'' # hash does not work on NixOS
''--replace-fail "$(zbarimg --raw" "$(${zbar}/bin/zbarimg --raw"''
];
in
''
substituteInPlace asc-to-gif.sh ${lib.concatStringsSep " " substitutions}
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp asc-to-gif.sh $out/bin/asc-to-gif
runHook postInstall
'';
meta = {
homepage = "https://github.com/yishilin14/asc-key-to-qr-code-gif";
description = "Convert ASCII-armored PGP keys to animated QR code";
license = lib.licenses.unfree; # program does not have a license
mainProgram = "asc-to-gif";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
asymmetric
NotAShelf
];
};
}

View File

@@ -0,0 +1,60 @@
{
lib,
python3Packages,
fetchFromGitHub,
meson,
ninja,
pkg-config,
gobject-introspection,
wrapGAppsHook4,
desktop-file-utils,
libadwaita,
}:
python3Packages.buildPythonApplication rec {
pname = "ascii-draw";
version = "1.1.0";
pyproject = false;
src = fetchFromGitHub {
owner = "Nokse22";
repo = "ascii-draw";
tag = "v${version}";
hash = "sha256-ed8RSS9anU5gstWTrJc2APx7PLmTzVVWXg8Sif8tySM=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
gobject-introspection
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
];
propagatedBuildInputs = with python3Packages; [
pygobject3
pyfiglet
emoji
];
dontWrapGApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = {
description = "Draw diagrams or anything using only ASCII";
homepage = "https://github.com/Nokse22/ascii-draw";
license = lib.licenses.gpl3Plus;
mainProgram = "ascii-draw";
maintainers = with lib.maintainers; [ aleksana ];
# gnulib bindtextdomain is missing on various other unix platforms
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "ascii-image-converter";
version = "1.13.1";
src = fetchFromGitHub {
owner = "TheZoraiz";
repo = "ascii-image-converter";
tag = "v${version}";
hash = "sha256-svM/TzGQU/QgjqHboy0470+A6p4kR76typ9gnfjfAJk=";
};
vendorHash = "sha256-rQS3QH9vnEbQZszG3FOr1P5HYgS63BurCNCFQTTdvZs=";
meta = {
description = "Convert images into ASCII art on the console";
homepage = "https://github.com/TheZoraiz/ascii-image-converter#readme";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ danth ];
mainProgram = "ascii-image-converter";
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitLab,
gitUpdater,
asciidoctor,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ascii";
version = "3.30";
src = fetchFromGitLab {
owner = "esr";
repo = "ascii";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-TE9YR5Va9tXaf2ZyNxz7d8lZRTgnD4Lz7FyqRDl1HNY=";
};
nativeBuildInputs = [
asciidoctor
];
prePatch = ''
sed -i -e "s|^PREFIX = .*|PREFIX = $out|" Makefile
'';
preInstall = ''
mkdir -vp "$out/bin" "$out/share/man/man1"
'';
passthru.updateScript = gitUpdater { };
meta = with lib; {
description = "Interactive ASCII name and synonym chart";
mainProgram = "ascii";
homepage = "http://www.catb.org/~esr/ascii/";
changelog = "https://gitlab.com/esr/ascii/-/blob/${finalAttrs.version}/NEWS.adoc";
license = licenses.bsd2;
platforms = platforms.all;
maintainers = [ maintainers.bjornfor ];
};
})

View File

@@ -0,0 +1,32 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule {
pname = "asciicam";
version = "0-unstable-2022-06-25";
src = fetchFromGitHub {
owner = "muesli";
repo = "asciicam";
rev = "e17a9333fdfe5f7c4c610c6aac23419fe2cba7a9";
hash = "sha256-BzMoyqp2chlQGA2Q9i8koXlH4pemN6q3P8gwM1i8ZAU=";
};
vendorHash = "sha256-Qnt1wo/yKC3Ce4JoZBIWtXyzlkh4bWz9vyE349iRsjk=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Displays your webcam on the terminal";
homepage = "https://github.com/muesli/asciicam";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
mainProgram = "asciicam";
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchzip,
jdk,
makeWrapper,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "asciidoctorj";
version = "3.0.0";
src = fetchzip {
url = "mirror://maven/org/asciidoctor/asciidoctorj/${finalAttrs.version}/asciidoctorj-${finalAttrs.version}-bin.zip";
hash = "sha256-F4tmpdNS0PIoLpqV9gifJf2iQ/kX+cp3EssRyhzyOUw=";
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
rm bin/asciidoctorj.bat
cp -r . $out
wrapProgram $out/bin/asciidoctorj \
--prefix JAVA_HOME : ${jdk}
'';
meta = {
description = "Official library for running Asciidoctor on the JVM";
longDescription = ''
AsciidoctorJ is the official library for running Asciidoctor on the JVM.
Using AsciidoctorJ, you can convert AsciiDoc content or analyze the
structure of a parsed AsciiDoc document from Java and other JVM
languages.
'';
homepage = "https://asciidoctor.org/docs/asciidoctorj/";
license = lib.licenses.asl20;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ moaxcp ];
mainProgram = "asciidoctorj";
};
})

View File

@@ -0,0 +1,32 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "asciigraph";
version = "0.7.3";
src = fetchFromGitHub {
owner = "guptarohit";
repo = "asciigraph";
tag = "v${version}";
hash = "sha256-+4aGkumO42cloHWV8qEEJ5bj8TTdtfXTWGFCgCRE4Mg=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
];
meta = {
homepage = "https://github.com/guptarohit/asciigraph";
description = "Lightweight ASCII line graph command line app";
mainProgram = "asciigraph";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ mmahut ];
};
}

View File

@@ -0,0 +1,30 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "agg";
version = "1.5.0";
src = fetchFromGitHub {
owner = "asciinema";
repo = "agg";
rev = "v${version}";
hash = "sha256-bCE59NeITaCwgajgyXgP6jxtV7aPihPaZ/Uzh39Po1k=";
};
strictDeps = true;
cargoHash = "sha256-KQ4g4hWy8FZH4nLiB0874r8FCINXJboZ4C1dAAPA8Gc=";
meta = with lib; {
description = "Command-line tool for generating animated GIF files from asciicast v2 files produced by asciinema terminal recorder";
homepage = "https://github.com/asciinema/agg";
changelog = "https://github.com/asciinema/agg/releases/tag/${src.rev}";
license = licenses.asl20;
maintainers = with maintainers; [ figsoda ];
mainProgram = "agg";
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
python3,
fetchFromGitHub,
asciinema,
}:
python3.pkgs.buildPythonApplication rec {
pname = "asciinema-automation";
version = "0.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "PierreMarchand20";
repo = "asciinema_automation";
rev = "v${version}";
hash = "sha256-VfIr7w/5hQwr6XYuC3f8h71uScr0lBdx6PyO1hpiZhA=";
};
nativeBuildInputs = [
python3.pkgs.setuptools
python3.pkgs.wheel
];
propagatedBuildInputs = with python3.pkgs; [
asciinema
pexpect
];
optional-dependencies = with python3.pkgs; {
dev = [
mypy
pytest
ruff
types-pexpect
];
};
pythonImportsCheck = [ "asciinema_automation" ];
meta = {
changelog = "https://github.com/PierreMarchand20/asciinema_automation/blob/${src.rev}/CHANGELOG.md";
description = "CLI utility to automate asciinema recordings";
homepage = "https://github.com/PierreMarchand20/asciinema_automation";
license = lib.licenses.mit;
mainProgram = "asciinema-automation";
maintainers = [ ];
};
}

View File

@@ -0,0 +1,25 @@
{
lib,
rustPlatform,
fetchCrate,
}:
rustPlatform.buildRustPackage rec {
pname = "asciinema-scenario";
version = "0.3.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-fnX5CIYLdFqi04PQPVIAYDGn+xXi016l8pPcIrYIhmQ=";
};
cargoHash = "sha256-D9CSw05OFaWvBzGSEQmH8ao6gY/0OhQQ5gFkL1TVeO4=";
meta = with lib; {
description = "Create asciinema videos from a text file";
homepage = "https://github.com/garbas/asciinema-scenario/";
maintainers = with maintainers; [ garbas ];
license = with licenses; [ mit ];
mainProgram = "asciinema-scenario";
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication rec {
pname = "asciinema";
version = "2.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "asciinema";
repo = "asciinema";
rev = "v${version}";
hash = "sha256-UegLwpJ+uc9cW3ozLQJsQBjIGD7+vzzwzQFRV5gmDmI=";
};
build-system = [ python3Packages.setuptools ];
postPatch = ''
substituteInPlace tests/pty_test.py \
--replace-fail "python3" "${python3Packages.python.interpreter}"
'';
nativeCheckInputs = [ python3Packages.pytestCheckHook ];
meta = {
description = "Terminal session recorder and the best companion of asciinema.org";
homepage = "https://asciinema.org/";
license = with lib.licenses; [ gpl3Plus ];
maintainers = [ ];
platforms = lib.platforms.all;
mainProgram = "asciinema";
};
}

View File

@@ -0,0 +1,70 @@
{
lib,
fetchFromGitHub,
installShellFiles,
python3,
rustPlatform,
testers,
}:
let
self = rustPlatform.buildRustPackage {
pname = "asciinema";
version = "3.0.0";
src = fetchFromGitHub {
name = "asciinema-source-${self.version}";
owner = "asciinema";
repo = "asciinema";
rev = "v${self.version}";
hash = "sha256-P92EZyg8f/mm66SmXAyPX9f4eMgOP6lyn3Uqhqh+D0I=";
};
cargoHash = "sha256-2DQqtCcvSO43+RcMN2/BGqvf+cp/WvzUY4dxVpNcbGU=";
env.ASCIINEMA_GEN_DIR = "gendir";
nativeCheckInputs = [ python3 ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installManPage gendir/man/*
installShellCompletion --cmd asciinema \
--bash gendir/completion/asciinema.bash \
--fish gendir/completion/asciinema.fish \
--zsh gendir/completion/_asciinema
'';
strictDeps = true;
passthru = {
tests.version = testers.testVersion {
package = self;
command = "asciinema --version";
};
};
meta = {
homepage = "https://asciinema.org/";
description = "Terminal session recorder and the best companion of asciinema.org";
longDescription = ''
asciinema is a suite of tools for recording, replaying, and sharing
terminal sessions. It is free and open-source software (FOSS), created
by Marcin Kulik.
Its typical use cases include creating tutorials, demonstrating
command-line tools, and sharing reproducible bug reports. It focuses on
simplicity and interoperability, which makes it a popular choice among
computer users working with the command-line, such as developers or
system administrators.
'';
license = with lib.licenses; [ gpl3Plus ];
mainProgram = "asciinema";
maintainers = with lib.maintainers; [
jiriks74
llakala
];
};
};
in
self

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
perl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "asciiquarium-transparent";
version = "1.4";
src = fetchFromGitHub {
owner = "nothub";
repo = "asciiquarium";
rev = "v${finalAttrs.version}";
hash = "sha256-lUNPg+/R/UwnHxjVXROMjvQxBZuCPBrYWB546OHplJM=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perl ];
installPhase = ''
runHook preInstall
install -Dm555 asciiquarium -t $out/bin
wrapProgram $out/bin/asciiquarium \
--set PERL5LIB ${with perl.pkgs; makeFullPerlPath [ TermAnimation ]}
runHook postInstall
'';
meta = {
description = "Aquarium/sea animation in ASCII art (with option of transparent background)";
homepage = "https://github.com/nothub/asciiquarium";
license = lib.licenses.gpl2Only;
mainProgram = "asciiquarium";
maintainers = with lib.maintainers; [ quantenzitrone ];
platforms = perl.meta.platforms;
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchurl,
makeWrapper,
perlPackages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "asciiquarium";
version = "1.1";
src = fetchurl {
url = "https://robobunny.com/projects/asciiquarium/asciiquarium_${finalAttrs.version}.tar.gz";
hash = "sha256-GwjGYTUl516HVG9OiYSrOzPx6SIIAmjHSfF3fVbJ02E=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perlPackages.perl ];
installPhase = ''
mkdir -p $out/bin
cp asciiquarium $out/bin
chmod +x $out/bin/asciiquarium
wrapProgram $out/bin/asciiquarium \
--set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.TermAnimation ]}
'';
meta = {
description = "Enjoy the mysteries of the sea from the safety of your own terminal";
mainProgram = "asciiquarium";
homepage = "https://robobunny.com/projects/asciiquarium/html/";
license = lib.licenses.gpl2;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
sigmasquadron
utdemir
];
};
})

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
pkg-config,
udev,
udevCheckHook,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "asdbctl";
version = "1.0.0";
src = fetchFromGitHub {
owner = "juliuszint";
repo = "asdbctl";
tag = "v${finalAttrs.version}";
hash = "sha256-S5m1iQlchGKc0PODQNDHpNzaNXRepmk5zfK5aXdiMiM=";
};
cargoHash = "sha256-OPmnGh6xN6XeREeIgyYB2aeHUpdQ5hFS5MivcTeY29E=";
nativeBuildInputs = [
pkg-config
udevCheckHook
];
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
udev
];
postInstall = ''
install -Dm444 \
rules.d/20-asd-backlight.rules \
$out/lib/udev/rules.d/20-asd-backlight.rules
'';
doInstallCheck = true;
meta = {
description = "Apple Studio Display brightness controll";
mainProgram = "asdbctl";
homepage = "https://github.com/juliuszint/asdbctl";
changelog = "https://github.com/juliuszint/asdbctl/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = [
lib.maintainers.danieldk
];
};
})

View File

@@ -0,0 +1,97 @@
{
stdenv,
lib,
fetchFromGitHub,
makeWrapper,
installShellFiles,
bash,
curl,
git,
writeScript,
}:
let
asdfReshimFile = writeScript "asdf-reshim" ''
#!/usr/bin/env bash
# asdf-vm create "shim" file like this:
#
# exec $ASDF_DIR/bin/asdf exec "node" "$@"
#
# So we should reshim all installed versions every time shell initialized,
# because $out always change
asdfDir="''${ASDF_DIR:-$HOME/.asdf}"
asdfDataDir="''${ASDF_DATA_DIR:-$HOME/.asdf}"
prevAsdfDirFilePath="$asdfDataDir/.nix-prev-asdf-dir-path"
if [ -r "$prevAsdfDirFilePath" ]; then
prevAsdfDir="$(cat "$prevAsdfDirFilePath")"
else
prevAsdfDir=""
fi
if [ "$prevAsdfDir" != "$asdfDir" ]; then
rm -rf "$asdfDataDir"/shims
"$asdfDir"/bin/asdf reshim
echo "$asdfDir" > "$prevAsdfDirFilePath"
fi
'';
asdfPrepareFile = writeScript "asdf-prepare" ''
ASDF_DIR="@asdfDir@"
source "$ASDF_DIR/asdf.sh"
${asdfReshimFile}
'';
in
stdenv.mkDerivation (finalAttrs: {
pname = "asdf-vm";
version = "0.15.0";
src = fetchFromGitHub {
owner = "asdf-vm";
repo = "asdf";
tag = "v${finalAttrs.version}";
hash = "sha256-quDgoYi+3hZUEAzXWTHuL5UK1T+4o7+G67w0UzZOjJA=";
};
nativeBuildInputs = [
makeWrapper
installShellFiles
];
buildInputs = [
bash
curl
git
];
installPhase = ''
mkdir -p $out/share/asdf-vm
cp -r . $out/share/asdf-vm
mkdir -p $out/etc/profile.d
substitute ${asdfPrepareFile} $out/etc/profile.d/asdf-prepare.sh \
--replace "@asdfDir@" "$out/share/asdf-vm"
mkdir -p $out/bin
makeWrapper $out/share/asdf-vm/bin/asdf $out/bin/asdf \
--set ASDF_DIR $out/share/asdf-vm
installShellCompletion --cmd asdf \
--zsh completions/_asdf \
--fish completions/asdf.fish \
--bash completions/asdf.bash
'';
meta = {
description = "Extendable version manager with support for Ruby, Node.js, Erlang & more";
homepage = "https://asdf-vm.com/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ c4605 ];
mainProgram = "asdf";
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,175 @@
{
clangStdenv,
cmake,
cmark,
curl,
fetchFromGitHub,
fetchpatch,
fmt,
fontconfig,
freetype,
giflib,
gitUpdater,
glib,
harfbuzzFull,
lib,
libGL,
libjpeg,
libpng,
libwebp,
libX11,
libXcursor,
libXext,
libXi,
libXxf86vm,
libxcb,
ninja,
pcre2,
pixman,
pkg-config,
skia-aseprite,
tinyxml-2,
zlib,
}:
clangStdenv.mkDerivation (finalAttrs: {
pname = "aseprite";
version = "1.3.13";
srcs = [
(fetchFromGitHub {
name = "aseprite-source";
owner = "aseprite";
repo = "aseprite";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-eeB/4fQp1lbNYQj9LpNhOn7DYxaTc+BcmyvY2vPzpxk=";
})
# Translation strings
(fetchFromGitHub {
name = "aseprite-strings";
owner = "aseprite";
repo = "strings";
rev = "7b0af61dec1d98242d7eb2e9cab835d442d21235";
hash = "sha256-8OwwHCFP55pwLjk5O+a36hDZf9uX3P7cNliJM5SZdAg=";
})
];
# Sets the main build directory to "aseprite-source" since multiple sources are fetched.
sourceRoot = "aseprite-source";
# Translation files are copied without overwriting existing ones to preserve the potentially more up-to-date English file from the main source.
postUnpack = ''
cp --no-clobber $PWD/aseprite-strings/* ./aseprite-source/data/strings
'';
nativeBuildInputs = [
cmake
ninja
pkg-config
];
buildInputs = [
cmark
curl
fmt
fontconfig
freetype
giflib
glib
harfbuzzFull
libGL
libjpeg
libpng
libwebp
libX11
libXcursor
libXext
libXi
libXxf86vm
libxcb
pcre2
pixman
skia-aseprite
tinyxml-2
zlib
];
patches = [
./shared-fmt.patch
./shared-libwebp.patch
./shared-skia-deps.patch
];
postPatch = ''
substituteInPlace src/ver/CMakeLists.txt \
--replace-fail '"1.x-dev"' '"${finalAttrs.version}"'
'';
cmakeFlags = [
"-DENABLE_DESKTOP_INTEGRATION=ON"
"-DENABLE_UPDATER=OFF"
"-DUSE_SHARED_CMARK=ON"
"-DUSE_SHARED_CURL=ON"
"-DUSE_SHARED_FMT=ON"
"-DUSE_SHARED_FREETYPE=ON"
"-DUSE_SHARED_GIFLIB=ON"
"-DUSE_SHARED_HARFBUZZ=ON"
"-DUSE_SHARED_JPEGLIB=ON"
"-DUSE_SHARED_LIBPNG=ON"
"-DUSE_SHARED_LIBWEBP=ON"
"-DUSE_SHARED_PIXMAN=ON"
"-DUSE_SHARED_TINYXML=OFF"
"-DUSE_SHARED_WEBP=ON"
"-DUSE_SHARED_ZLIB=ON"
# Disable libarchive programs.
"-DENABLE_CAT=OFF"
"-DENABLE_CPIO=OFF"
"-DENABLE_TAR=OFF"
# UI backend.
"-DLAF_BACKEND=skia"
"-DLAF_WITH_EXAMPLES=OFF"
"-DSKIA_DIR=${skia-aseprite}"
"-DSKIA_LIBRARY_DIR=${skia-aseprite}/lib"
];
postInstall = ''
# Install desktop icons.
src="$out/share/aseprite/data/icons"
for size in 16 32 48 64 128 256; do
dst="$out"/share/icons/hicolor/"$size"x"$size"
install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png
install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/image-x-aseprite.png
done
# Delete unneeded artifacts of bundled libraries.
rm -rf "$out"/{include,lib,man}
'';
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
homepage = "https://www.aseprite.org/";
description = "Animated sprite editor & pixel art tool";
license = lib.licenses.unfree;
longDescription = ''
Aseprite is a program to create animated sprites. Its main features are:
- Sprites are composed by layers & frames (as separated concepts).
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.
- Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA).
- Export/import animations to/from Sprite Sheets.
- Tiled drawing mode, useful to draw patterns and textures.
- Undo/Redo for every operation.
- Real-time animation preview.
- Multiple editors support.
- Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc.
- Onion skinning.
'';
maintainers = with lib.maintainers; [
orivej
];
platforms = lib.platforms.linux;
mainProgram = "aseprite";
};
})

View File

@@ -0,0 +1,79 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b1bd0189b..3fb7abffb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -66,6 +66,7 @@ enable_testing()
option(USE_SHARED_CMARK "Use your installed copy of cmark" off)
option(USE_SHARED_CURL "Use your installed copy of curl" off)
+option(USE_SHARED_FMT "Use your installed copy of fmt" off)
option(USE_SHARED_GIFLIB "Use your installed copy of giflib" off)
option(USE_SHARED_JPEGLIB "Use your installed copy of jpeglib" off)
option(USE_SHARED_ZLIB "Use your installed copy of zlib" off)
@@ -185,6 +186,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_PROFILE "${CMAKE_BINARY_DIR}/bin")
set(SOURCE_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data)
set(CMARK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cmark)
set(CURL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/curl)
+set(FMT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/fmt)
set(GIFLIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/giflib)
set(LIBJPEG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/jpeg)
set(LIBPNG_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/libpng)
@@ -225,6 +227,16 @@ if(NOT USE_SHARED_CURL)
set(CURL_STATICLIB ON BOOL)
endif()
+# fmt
+if(USE_SHARED_FMT)
+ find_package(FMT REQUIRED)
+ set(FMT_LIBRARIES fmt::fmt)
+else()
+ set(FMT_FOUND)
+ set(FMT_LIBRARIES fmt)
+ # No need to include extra directories, actually
+endif()
+
# zlib
if(USE_SHARED_ZLIB)
find_package(ZLIB REQUIRED)
diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
index 9c67c0268..b19a3e412 100644
--- a/src/app/CMakeLists.txt
+++ b/src/app/CMakeLists.txt
@@ -754,7 +754,7 @@ target_link_libraries(app-lib
${ZLIB_LIBRARIES}
json11
archive_static
- fmt
+ ${FMT_LIBRARIES}
tinyexpr
qoi)
diff --git a/src/dio/CMakeLists.txt b/src/dio/CMakeLists.txt
index 55cb24de5..b253dca0b 100644
--- a/src/dio/CMakeLists.txt
+++ b/src/dio/CMakeLists.txt
@@ -16,7 +16,7 @@ endif()
target_link_libraries(dio-lib
${ZLIB_LIBRARIES}
- fmt
+ ${FMT_LIBRARIES}
flic-lib
laf-base
fixmath-lib
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 9d09a98c8..1973b134b 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -117,7 +117,10 @@ if(NOT USE_SHARED_HARFBUZZ AND NOT LAF_BACKEND STREQUAL "skia")
endif()
add_subdirectory(simpleini)
-add_subdirectory(fmt)
+
+if(NOT USE_SHARED_FMT)
+ add_subdirectory(fmt)
+endif()
# Add cmark without tests
if(NOT USE_SHARED_CMARK)

View File

@@ -0,0 +1,47 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 87aed2f28f9c..498472ec2a60 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -76,6 +76,7 @@ option(USE_SHARED_TINYXML "Use your installed copy of tinyxml" off)
option(USE_SHARED_PIXMAN "Use your installed copy of pixman" off)
option(USE_SHARED_FREETYPE "Use shared FreeType library" off)
option(USE_SHARED_HARFBUZZ "Use shared HarfBuzz library" off)
+option(USE_SHARED_WEBP "Use your installed copy of webp" off)
option(ENABLE_ASEPRITE_EXE "Compile main Aseprite executable" on)
option(ENABLE_MEMLEAK "Enable memory-leaks detector (only for developers)" off)
option(ENABLE_NEWS "Enable the news in Home tab" on)
@@ -380,7 +381,20 @@ add_subdirectory(laf)
# libwebp
if(ENABLE_WEBP)
# Use libwebp from Skia
- if(LAF_BACKEND STREQUAL "skia")
+ if(USE_SHARED_WEBP)
+ find_library(WEBP_LIBRARY NAMES webp)
+ find_library(WEBPDEMUX_LIBRARY NAMES webpdemux)
+ find_library(WEBPMUX_LIBRARY NAMES webpmux)
+ set(WEBP_LIBRARIES ${WEBP_LIBRARY} ${WEBPDEMUX_LIBRARY} ${WEBPMUX_LIBRARY})
+ find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+ find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+ find_path(WEBP_INCLUDE_DIRS NAMES decode.h PATH_SUFFIXES webp)
+ if(WEBP_LIBRARIES)
+ set(WEBP_FOUND ON)
+ else()
+ set(WEBP_FOUND OFF)
+ endif()
+ elseif(LAF_BACKEND STREQUAL "skia")
find_library(WEBP_LIBRARIES webp
NAMES libwebp # required for Windows
PATHS "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 1973b134b9f8..f15dba5a7968 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -33,7 +33,7 @@ if(NOT USE_SHARED_GIFLIB)
add_subdirectory(giflib)
endif()
-if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia")
+if(ENABLE_WEBP AND NOT LAF_BACKEND STREQUAL "skia" AND NOT USE_SHARED_WEBP)
set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "Build extras.")
set(WEBP_BUILD_ANIM_UTILS OFF CACHE BOOL "Build animation utilities.")
set(WEBP_BUILD_CWEBP OFF CACHE BOOL "Build the cwebp command line tool.")

View File

@@ -0,0 +1,21 @@
--- src/laf/cmake/FindSkia.cmake.orig 2022-01-08 02:15:13.417619266 +0100
+++ src/laf/cmake/FindSkia.cmake 2022-01-08 02:15:43.603960491 +0100
@@ -32,14 +32,18 @@
# SkShaper module + freetype + harfbuzz
find_library(SKSHAPER_LIBRARY skshaper PATH "${SKIA_LIBRARY_DIR}")
+if(NOT USE_SHARED_FREETYPE)
set(FREETYPE_FOUND ON)
find_library(FREETYPE_LIBRARY freetype2 PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
set(FREETYPE_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/freetype/include")
+endif()
+if(NOT USE_SHARED_HARFBUZZ)
find_library(HARFBUZZ_LIBRARY harfbuzz PATH "${SKIA_LIBRARY_DIR}" NO_DEFAULT_PATH)
set(HARFBUZZ_LIBRARIES ${HARFBUZZ_LIBRARY})
set(HARFBUZZ_INCLUDE_DIRS "${SKIA_DIR}/third_party/externals/harfbuzz/src")
+endif()
set(SKIA_LIBRARIES
${SKIA_LIBRARY}

View File

@@ -0,0 +1,41 @@
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
alsa-lib,
glib,
json-glib,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "aseq2json";
version = "0-unstable-2018-04-28";
src = fetchFromGitHub {
owner = "google";
repo = "midi-dump-tools";
rev = "8572e6313a0d7ec95492dcab04a46c5dd30ef33a";
hash = "sha256-LQ9LLVumi3GN6c9tuMSOd1Bs2pgrwrLLQbs5XF+NZeA=";
};
sourceRoot = "source/aseq2json";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
alsa-lib
glib
json-glib
];
installPhase = ''
install -D --target-directory "$out/bin" aseq2json
'';
meta = {
description = "Listens for MIDI events on the Alsa sequencer and outputs as JSON to stdout";
mainProgram = "aseq2json";
homepage = "https://github.com/google/midi-dump-tools";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ queezle ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,69 @@
{
lib,
rustPlatform,
fetchFromGitHub,
stdenv,
help2man,
openssl,
pkg-config,
installShellFiles,
}:
let
version = "0.10.0-1";
src = fetchFromGitHub {
owner = "obreitwi";
repo = "asfa";
rev = "v${version}";
hash = "sha256-ARdUlACxmbjmOTuNW2oiVUcfd5agR4rcp9aMQYUAYsw=";
};
in
rustPlatform.buildRustPackage {
pname = "asfa";
inherit version src;
cargoHash = "sha256-1aSUH1F6W7+3YQOphmF9olYmPuH/OJ9eIW5j6Jebn+s=";
outputs = [
"out"
"man"
];
buildInputs = [ openssl ];
nativeBuildInputs = [
help2man
installShellFiles
pkg-config
];
# checks disabled because tests need to be run against (docker-based) ephemeral ssh-server
doCheck = false;
postInstall = ''
mkdir -p "man/man1"
help2man -o "man/man1/asfa.1" "$out/bin/asfa"
# Generate info about all subcommands except for 'help' (which leads to error)
"$out/bin/asfa" --help | awk 'enabled && $1 != "help" { print $1 } /^SUBCOMMANDS:$/ { enabled=1 }' \
| while read -r cmd; do
help2man \
"--version-string=${version}" \
-o "man/man1/asfa-$cmd.1" \
"$out/bin/asfa $cmd"
done
installManPage man/man1/*.1
'';
meta = {
description = "Avoid sending file attachments by uploading them via SSH to a remote site and sharing a publicly-accessible URL with non-guessable (hash-based) prefix instead";
homepage = "https://github.com/obreitwi/asfa";
changelog = "https://github.com/obreitwi/asfa/blob/${src.rev}/CHANGELOG.md";
license = with lib.licenses; [
asl20
mit
];
maintainers = with lib.maintainers; [ obreitwi ];
mainProgram = "asfa";
};
}

View File

@@ -0,0 +1,46 @@
{
cmake,
stdenv,
fetchFromGitHub,
lib,
pkg-config,
pipewire,
bluez,
glib,
}:
stdenv.mkDerivation {
pname = "asha-pipewire-sink";
version = "0-unstable-2024-10-22";
src = fetchFromGitHub {
owner = "thewierdnut";
repo = "asha_pipewire_sink";
rev = "bbf665b9a3b90fcdbaeb092799ea3c5ba4347e31";
hash = "sha256-PuJ6lBV7s5OqGe1X4wD7T+8LVMCFpgvM1pnMjXYr8gs=";
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
bluez.dev
glib.dev
pipewire.dev
];
installPhase = ''
install -Dm755 asha_connection_test snoop_analyze asha_stream_test asha_pipewire_sink -t $out/bin
'';
meta = {
description = "Sample ASHA implementation for Linux designed to work with pipewire and bluez";
homepage = "https://github.com/thewierdnut/asha_pipewire_sink";
license = lib.licenses.unlicense;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ onny ];
mainProgram = "asha_pipewire_sink";
};
}

View File

@@ -0,0 +1,56 @@
{
fetchFromGitHub,
lib,
rustPlatform,
autoPatchelfHook,
pkg-config,
libxkbcommon,
libGL,
pipewire,
libpulseaudio,
wayland,
udev,
vulkan-loader,
}:
rustPlatform.buildRustPackage rec {
pname = "ashell";
version = "0.6.0";
src = fetchFromGitHub {
owner = "MalpenZibo";
repo = "ashell";
tag = version;
hash = "sha256-1PqK+jq0ZioTluwQtEp8rpB/ZNsrvQhLgJiyIM9PQ0k=";
};
cargoHash = "sha256-L8RxsDxL8oyR3kz+F/NckGikfNLg+Pa1DI2nFgHL5VM=";
nativeBuildInputs = [
pkg-config
autoPatchelfHook
rustPlatform.bindgenHook
];
runtimeDependencies = [
wayland
libGL
vulkan-loader
];
buildInputs = [
libpulseaudio
libxkbcommon
pipewire
udev
]
++ runtimeDependencies;
meta = {
description = "Ready to go Wayland status bar for Hyprland";
homepage = "https://github.com/MalpenZibo/ashell";
license = lib.licenses.mit;
mainProgram = "ashell";
maintainers = with lib.maintainers; [ justdeeevin ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,108 @@
{
stdenv,
lib,
fetchFromGitHub,
cargo,
meson,
ninja,
rustPlatform,
rustc,
pkg-config,
glib,
libshumate,
gst_all_1,
gtk4,
libadwaita,
pipewire,
wayland,
wrapGAppsHook4,
desktop-file-utils,
gitUpdater,
common-updater-scripts,
_experimental-update-script-combinators,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ashpd-demo";
version = "0.5.0";
src = fetchFromGitHub {
owner = "bilelmoussaoui";
repo = "ashpd";
rev = "${finalAttrs.version}-demo";
hash = "sha256-0IGqA8PM6I2p4/MrptkdSWIZThMoeaMsdMc6tVTI2MU=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
src = "${finalAttrs.src}/ashpd-demo";
hash = "sha256-kUEzVBk8dKXCQdHFJJS633CBG1F57TIxJg1xApMwzbI=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
cargo
rustPlatform.cargoSetupHook
rustc
wrapGAppsHook4
rustPlatform.bindgenHook
desktop-file-utils
glib # for glib-compile-schemas
];
buildInputs = [
glib
gtk4
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
libadwaita
pipewire
wayland
libshumate
];
postPatch = ''
cd ashpd-demo
'';
passthru = {
updateScript =
let
updateSource = gitUpdater {
url = finalAttrs.src.gitRepoUrl;
rev-suffix = "-demo";
};
updateLockfile = {
command = [
"sh"
"-c"
''
PATH=${
lib.makeBinPath [
common-updater-scripts
]
}
update-source-version ashpd-demo --ignore-same-version --source-key=cargoDeps.vendorStaging > /dev/null
''
];
# Experimental feature: do not copy!
supportedFeatures = [ "silent" ];
};
in
_experimental-update-script-combinators.sequence [
updateSource
updateLockfile
];
};
meta = with lib; {
description = "Tool for playing with XDG desktop portals";
mainProgram = "ashpd-demo";
homepage = "https://github.com/bilelmoussaoui/ashpd/tree/master/ashpd-demo";
license = licenses.mit;
maintainers = with maintainers; [ jtojnar ];
platforms = platforms.linux;
};
})

View File

@@ -0,0 +1,51 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
meson,
ninja,
libmpdclient,
yaml-cpp,
}:
stdenv.mkDerivation rec {
pname = "ashuffle";
version = "3.14.9";
src = fetchFromGitHub {
owner = "joshkunz";
repo = "ashuffle";
tag = "v${version}";
hash = "sha256-HQ4+vyTvX0mhfuRclbiC+MvllV3300ztAwL0IxrUiC8=";
fetchSubmodules = true;
};
dontUseCmakeConfigure = true;
nativeBuildInputs = [
cmake
pkg-config
meson
ninja
];
buildInputs = [
libmpdclient
yaml-cpp
];
mesonFlags = [ "-Dunsupported_use_system_yamlcpp=true" ];
env = lib.optionalAttrs stdenv.hostPlatform.isDarwin {
NIX_LDFLAGS = "-framework CoreFoundation";
};
meta = with lib; {
homepage = "https://github.com/joshkunz/ashuffle";
description = "Automatic library-wide shuffle for mpd";
maintainers = [ maintainers.tcbravo ];
platforms = platforms.unix;
license = licenses.mit;
mainProgram = "ashuffle";
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
rustPlatform,
fetchCrate,
}:
rustPlatform.buildRustPackage rec {
pname = "askalono";
version = "0.5.0";
src = fetchCrate {
pname = "askalono-cli";
inherit version;
hash = "sha256-LwyUaU4m9fk+mG8FBfkbj9nBvd8KokwlV7cE7EBwk0Q=";
};
cargoHash = "sha256-ug79p75Oa5lsd9COWO2aIx3jN7de1QZggMFiOPAN5kQ=";
meta = {
description = "Tool to detect open source licenses from texts";
homepage = "https://github.com/jpeddicord/askalono";
changelog = "https://github.com/jpeddicord/askalono/blob/${version}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ figsoda ];
mainProgram = "askalono";
};
}

View File

@@ -0,0 +1,31 @@
# -------------------------------------------------------------------------
# choose your compiler (must be ANSI-compliant!) and linker command, plus
# any additionally needed flags
OBJDIR = .objdir/
CC = cc
CFLAGS = -g -fomit-frame-pointer -Wall
HOST_OBJEXTENSION = .o
LD = $(CC)
LDFLAGS =
HOST_EXEXTENSION =
# no cross build
TARG_OBJDIR = $(OBJDIR)
TARG_CC = $(CC)
TARG_CFLAGS = $(CFLAGS)
TARG_OBJEXTENSION = $(HOST_OBJEXTENSION)
TARG_LD = $(LD)
TARG_LDFLAGS = $(LDFLAGS)
TARG_EXEXTENSION = $(HOST_EXEXTENSION)
# -------------------------------------------------------------------------
# directories where binaries, includes, and manpages should go during
# installation
BINDIR = @bindir@
INCDIR = @incdir@
MANDIR = @mandir@
LIBDIR = @libdir@
DOCDIR = @docdir@

View File

@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchzip,
texliveMedium,
buildDocs ? false,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "asl";
version = "142-bld232";
src =
let
inherit (finalAttrs) pname version;
in
fetchzip {
name = "${pname}-${version}";
url = "http://john.ccac.rwth-aachen.de:8000/ftp/as/source/c_version/asl-current-${version}.tar.bz2";
hash = "sha256-Q50GzXBxFMhbt5s9OgHPNH4bdqz2hhEmTnMmKowVn2E=";
};
outputs = [
"out"
"doc"
"man"
];
nativeBuildInputs = lib.optionals buildDocs [ texliveMedium ];
postPatch =
lib.optionalString (!buildDocs) ''
substituteInPlace Makefile --replace "all: binaries docs" "all: binaries"
''
+ lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) ''
substituteInPlace sysdefs.h --replace "x86_64" "aarch64"
'';
dontConfigure = true;
preBuild = ''
bindir="${placeholder "out"}/bin" \
docdir="${placeholder "doc"}/share/doc/asl" \
incdir="${placeholder "out"}/include/asl" \
libdir="${placeholder "out"}/lib/asl" \
mandir="${placeholder "man"}/share/man" \
substituteAll ${./Makefile-nixos.def} Makefile.def
mkdir -p .objdir
'';
meta = with lib; {
homepage = "http://john.ccac.rwth-aachen.de:8000/as/index.html";
description = "Portable macro cross assembler";
longDescription = ''
AS is a portable macro cross assembler for a variety of microprocessors
and -controllers. Though it is mainly targeted at embedded processors and
single-board computers, you also find CPU families in the target list that
are used in workstations and PCs.
'';
license = licenses.gpl2Plus;
maintainers = [ ];
platforms = platforms.unix;
};
})
# TODO: cross-compilation support
# TODO: customize TeX input
# TODO: report upstream about `mkdir -p .objdir/`
# TODO: suggest upstream about building docs as an option

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchFromGitHub,
openssl,
libpcap,
libxcrypt,
}:
stdenv.mkDerivation {
pname = "asleap";
version = "0-unstable-2021-06-20";
src = fetchFromGitHub {
owner = "zackw";
repo = "asleap";
rev = "eb3bd42098cba42b65f499c9d8c73d890861b94f";
hash = "sha256-S6jS0cg9tHSfmP6VHyISkXJxczhPx3HDdxT46c+YmE8=";
};
buildInputs = [
openssl
libpcap
libxcrypt
];
installPhase = ''
runHook preInstall
install -Dm755 asleap $out/bin/asleap
install -Dm755 genkeys $out/bin/genkeys
runHook postInstall
'';
meta = {
homepage = "https://github.com/zackw/asleap";
description = "Recovers weak LEAP and PPTP passwords";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ pyrox0 ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,45 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
pkg-config,
openssl,
}:
let
pname = "asm-lsp";
version = "0.10.0";
in
rustPlatform.buildRustPackage {
inherit pname version;
src = fetchFromGitHub {
owner = "bergercookie";
repo = "asm-lsp";
rev = "v${version}";
hash = "sha256-RAyiE+Msmr/Qt5v7rWuUTAji383XLKxeMQJove2b1NE=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ openssl ];
cargoHash = "sha256-41iWqgywfFdqf3TzZT5peh39jiSZw8FRTI1AeL5CroY=";
# tests expect ~/.cache/asm-lsp to be writable
preCheck = ''
export HOME=$(mktemp -d)
'';
meta = {
description = "Language server for NASM/GAS/GO Assembly";
homepage = "https://github.com/bergercookie/asm-lsp";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [
NotAShelf
CaiqueFigueiredo
];
mainProgram = "asm-lsp";
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,44 @@
{
buildGoModule,
lib,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "asmfmt";
version = "1.3.2";
src = fetchFromGitHub {
owner = "klauspost";
repo = "asmfmt";
tag = "v${version}";
hash = "sha256-YxIVqPGsqxvOY0Qz4Jw5FuO9IbplCICjChosnHrSCgc=";
};
vendorHash = null;
# This package comes with its own version of goimports, gofmt and goreturns
# but these binaries are outdated and are offered by other packages.
subPackages = [ "cmd/asmfmt" ];
ldflags = [
"-s"
"-w"
];
# There are no tests.
doCheck = false;
meta = {
description = "Go assembler formatter";
mainProgram = "asmfmt";
longDescription = ''
This will format your assembler code in a similar way that gofmt formats
your Go code.
'';
homepage = "https://github.com/klauspost/asmfmt";
changelog = "https://github.com/klauspost/asmfmt/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ kalbasit ];
};
}

View File

@@ -0,0 +1,39 @@
{
stdenv,
fetchFromGitHub,
cmake,
ninja,
lib,
}:
stdenv.mkDerivation {
pname = "asmjit";
version = "0-unstable-2025-02-12";
src = fetchFromGitHub {
owner = "asmjit";
repo = "asmjit";
rev = "029075b84bf0161a761beb63e6eda519a29020db";
hash = "sha256-/9F1rFNPwJUrVOVeK9sIA+Q7UrqQpQy8T6g4ywcoJc8=";
};
nativeBuildInputs = [
cmake
ninja
];
strictDeps = true;
meta = with lib; {
description = "Machine code generation for C++";
longDescription = ''
AsmJit is a lightweight library for machine code generation written in
C++ language. It can generate machine code for X86, X86_64, and AArch64
architectures and supports baseline instructions and all recent
extensions.
'';
homepage = "https://asmjit.com/";
license = licenses.zlib;
maintainers = with maintainers; [ thillux ];
};
}

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
curl,
whois,
bind,
mtr,
jq,
ipcalc,
grepcidr,
nmap,
aha,
}:
stdenv.mkDerivation rec {
pname = "asn";
version = "0.80.0";
src = fetchFromGitHub {
owner = "nitefood";
repo = "asn";
tag = "v${version}";
hash = "sha256-GHzlYLBiWkayYvbkc/n1HLhL7RN1Q/AEjj+IDQBDTek=";
};
nativeBuildInputs = [
makeWrapper
];
installPhase = ''
install -Dv asn "$out/bin/asn"
wrapProgram $out/bin/asn \
--prefix PATH : "${
lib.makeBinPath [
curl
whois
bind
mtr
jq
ipcalc
grepcidr
nmap
aha
]
}"
'';
meta = {
description = "OSINT command line tool for investigating network data";
longDescription = ''
ASN / RPKI validity / BGP stats / IPv4v6 / Prefix / URL / ASPath / Organization /
IP reputation / IP geolocation / IP fingerprinting / Network recon /
lookup API server / Web traceroute server
'';
homepage = "https://github.com/nitefood/asn";
changelog = "https://github.com/nitefood/asn/releases/tag/v${version}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ devhell ];
mainProgram = "asn";
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchurl,
perl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "asn1c";
version = "0.9.28";
src = fetchurl {
url = "https://lionet.info/soft/asn1c-${finalAttrs.version}.tar.gz";
hash = "sha256-gAdEC2R+8t2ftz2THDOsEXZOavskN9vmOLtOX8gjhrk=";
};
outputs = [
"out"
"doc"
"man"
];
buildInputs = [ perl ];
preConfigure = ''
patchShebangs examples/crfc2asn1.pl
'';
postInstall = ''
cp -r skeletons/standard-modules $out/share/asn1c
'';
doCheck = true;
meta = {
homepage = "http://lionet.info/asn1c/compiler.html";
description = "Open Source ASN.1 Compiler";
license = lib.licenses.bsd2;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ numinit ];
};
})

View File

@@ -0,0 +1,42 @@
{
lib,
python3,
fetchFromGitHub,
}:
python3.pkgs.buildPythonApplication rec {
pname = "asn1editor";
version = "0.8.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "Futsch1";
repo = "asn1editor";
rev = "v${version}";
hash = "sha256-mgluhC2DMS4OyS/BoWqBdVf7GcxquOtOKTHZ/hbiHQM=";
};
build-system = with python3.pkgs; [
setuptools
];
dependencies = with python3.pkgs; [
asn1tools
coverage
wxpython
];
pythonImportsCheck = [ "asn1editor" ];
# Tests fail in sandbox, e.g.
# "SystemExit: Unable to access the X Display, is $DISPLAY set properly?"
doCheck = false;
meta = with lib; {
description = "Python based editor for ASN.1 encoded data";
homepage = "https://github.com/Futsch1/asn1editor";
license = licenses.mit;
mainProgram = "asn1editor";
maintainers = with maintainers; [ bjornfor ];
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "asnmap";
version = "1.1.1";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "asnmap";
tag = "v${version}";
hash = "sha256-dGSWUuM4Zcz9QYjYaHur3RYryxe1wJycx/wUL5yqCpM=";
};
vendorHash = "sha256-bSpMYQvrlR9T06dYF8gaTZmMAp6Gnb2cfsYCUes7i2s=";
ldflags = [
"-w"
"-s"
];
# Tests require network access
doCheck = false;
meta = {
description = "Tool to gather network ranges using ASN information";
homepage = "https://github.com/projectdiscovery/asnmap";
changelog = "https://github.com/projectdiscovery/asnmap/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "asnmap";
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
asouldocs,
buildGoModule,
fetchFromGitHub,
testers,
}:
buildGoModule rec {
pname = "asouldocs";
version = "1.0.0";
src = fetchFromGitHub {
owner = "asoul-sig";
repo = "asouldocs";
rev = "v${version}";
hash = "sha256-ctRE7aF3Qj+fI/m0CuLA6x7E+mY6s1+UfBJI5YFea4g=";
};
vendorHash = "sha256-T/KLiSK6bxXGkmVJ5aGrfHTUfLs/ElGyWSoCL5kb/KU=";
passthru.tests.version = testers.testVersion {
package = asouldocs;
command = "asouldocs --version";
};
meta = with lib; {
description = "Web server for multi-language, real-time synchronization and searchable documentation";
homepage = "https://asouldocs.dev/";
license = licenses.mit;
maintainers = with maintainers; [ anthonyroussel ];
mainProgram = "asouldocs";
};
}

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchFromGitHub,
boost,
catch2,
cmake,
clingo,
re2c,
}:
stdenv.mkDerivation rec {
version = "1.9.6";
pname = "aspcud";
src = fetchFromGitHub {
owner = "potassco";
repo = "aspcud";
rev = "v${version}";
hash = "sha256-PdRfpmH7zF5dn+feoijtzdSUjaYhjHwyAUfuYoWCL9E=";
};
postPatch = ''
cp ${catch2}/include/catch2/catch.hpp libcudf/tests/catch.hpp
'';
nativeBuildInputs = [ cmake ];
buildInputs = [
boost
clingo
re2c
];
cmakeFlags = [
"-DASPCUD_GRINGO_PATH=${clingo}/bin/gringo"
"-DASPCUD_CLASP_PATH=${clingo}/bin/clasp"
];
doCheck = true;
meta = with lib; {
description = "Solver for package problems in CUDF format using ASP";
homepage = "https://potassco.org/aspcud/";
platforms = platforms.all;
maintainers = [ maintainers.hakuch ];
license = licenses.gpl3Plus;
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
stdenvNoCC,
fetchurl,
jre,
}:
let
version = "1.9.24";
versionSnakeCase = builtins.replaceStrings [ "." ] [ "_" ] version;
in
stdenvNoCC.mkDerivation {
pname = "aspectj";
inherit version;
__structuredAttrs = true;
src = fetchurl {
url = "https://github.com/eclipse/org.aspectj/releases/download/V${versionSnakeCase}/aspectj-${version}.jar";
hash = "sha256-p+UOtuP8hNymfvmL/SPg99YrhU7m5GDudtLISqL5TWQ=";
};
dontUnpack = true;
nativeBuildInputs = [ jre ];
installPhase = ''
runHook preInstall
cat >> props <<EOF
output.dir=$out
context.javaPath=${jre}
EOF
mkdir -p $out
java -jar $src -text props
cat >> $out/bin/aj-runtime-env <<EOF
#! ${stdenvNoCC.shell}
export CLASSPATH=$CLASSPATH:.:$out/lib/aspectjrt.jar
EOF
chmod u+x $out/bin/aj-runtime-env
runHook postInstall
'';
meta = {
homepage = "https://www.eclipse.org/aspectj/";
description = "Seamless aspect-oriented extension to the Java programming language";
license = lib.licenses.epl10;
platforms = lib.platforms.unix;
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
zlib,
boost,
}:
let
glucose' = fetchurl {
url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup.tgz";
hash = "sha256-jboqQX/Z8RcPG30UVHaI7hLJKpgOCwCeha7BpaSgBS8=";
};
in
stdenv.mkDerivation {
pname = "aspino";
version = "0-unstable-2018-03-24";
src = fetchFromGitHub {
owner = "alviano";
repo = "aspino";
rev = "4d7483e328bdf9a00ef1eb7f2868e7b0f2a82d56";
hash = "sha256-R1TpBDGdq+NQQzmzqk0wYaz2Hns3qru0AkAyFPQasPA=";
};
buildInputs = [
zlib
boost
];
postPatch = ''
substituteInPlace Makefile \
--replace "GCC = g++" "GCC = c++"
substituteInPlace src/main.cc \
--replace "defined(__linux__)" "defined(__linux__) && defined(__x86_64__)"
substituteInPlace src/MaxSatSolver.cc \
--replace "occ[i][sign(softLiterals[j])] > 0" "occ[i][sign(softLiterals[j])] != 0"
'';
preBuild = ''
cp ${glucose'} patches/glucose-syrup.tgz
./bootstrap.sh
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -m0755 build/release/{aspino,fairino-{bs,ls,ps},maxino-2015-{k16,kdyn}} $out/bin
runHook postInstall
'';
meta = {
description = "SAT/PseudoBoolean/MaxSat/ASP solver using glucose";
maintainers = [ ];
platforms = lib.platforms.unix;
license = lib.licenses.asl20;
homepage = "https://alviano.net/software/maxino/";
};
}

View File

@@ -0,0 +1,109 @@
{
lib,
stdenv,
fetchFromGitHub,
makeDesktopItem,
copyDesktopItems,
openal,
pkg-config,
libogg,
libvorbis,
SDL2,
SDL2_image,
libGL,
libX11,
makeWrapper,
zlib,
file,
client ? true,
server ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "assaultcube";
version = "1.3.0.2";
src = fetchFromGitHub {
owner = "assaultcube";
repo = "AC";
tag = "v${finalAttrs.version}";
hash = "sha256-6UfOKgI+6rMGNHlRQnVCm/zD3wCKwbeOD7jgxH8aY2M=";
};
nativeBuildInputs = [
makeWrapper
pkg-config
copyDesktopItems
];
buildInputs = [
file
zlib
]
++ lib.optionals client [
openal
SDL2
SDL2_image
libGL
libX11
libogg
libvorbis
];
makeFlags = [
"-C source/src"
"CXX=${stdenv.cc.targetPrefix}c++"
]
++ lib.optionals server [ "server" ]
++ lib.optionals client [ "client" ];
desktopItems = [
(makeDesktopItem {
name = "assaultcube";
desktopName = "AssaultCube";
comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
genericName = "First-person shooter";
categories = [
"Game"
"ActionGame"
"Shooter"
];
icon = "assaultcube";
exec = "assaultcube";
})
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/games/assaultcube
cp -r config packages $out/share/games/assaultcube
if (test -e source/src/ac_client) then
cp source/src/ac_client $out/bin
mkdir -p $out/share/applications
install -Dpm644 packages/misc/icon.png $out/share/icons/assaultcube.png
install -Dpm644 packages/misc/icon.png $out/share/pixmaps/assaultcube.png
makeWrapper $out/bin/ac_client $out/bin/assaultcube \
--chdir "$out/share/games/assaultcube" --add-flags "--home=\$HOME/.assaultcube/v1.2next --init"
fi
if (test -e source/src/ac_server) then
cp source/src/ac_server $out/bin
makeWrapper $out/bin/ac_server $out/bin/assaultcube-server \
--chdir "$out/share/games/assaultcube" --add-flags "-Cconfig/servercmdline.txt"
fi
runHook postInstall
'';
meta = {
description = "Fast and fun first-person-shooter based on the Cube fps";
homepage = "https://assault.cubers.net";
platforms = lib.platforms.linux; # should work on darwin with a little effort.
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ darkonion0 ];
};
})

View File

@@ -0,0 +1,26 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage rec {
pname = "assemblyscript";
version = "0.28.2";
src = fetchFromGitHub {
owner = "AssemblyScript";
repo = "assemblyscript";
rev = "v${version}";
hash = "sha256-8nY3Rst6i+RGW+kfjn/QSbYkaZf67k/KwuyIp40fCSM=";
};
npmDepsHash = "sha256-wj/PMoqUBjXqz8/KOFAH5P5eFty3pztpQ8inGIy+ve4=";
meta = with lib; {
homepage = "https://github.com/AssemblyScript/assemblyscript";
description = "TypeScript-like language for WebAssembly";
license = licenses.asl20;
maintainers = with maintainers; [ lucperkins ];
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule rec {
pname = "assetfinder";
version = "0.1.1";
src = fetchFromGitHub {
owner = "tomnomnom";
repo = "assetfinder";
rev = "v${version}";
hash = "sha256-7+YF1VXBcFehKw9JzurmXNu8yeZPdqfQEuaqwtR4AuA=";
};
postPatch = ''
go mod init github.com/tomnomnom/assetfinder
'';
vendorHash = null;
meta = with lib; {
homepage = "https://github.com/tomnomnom/assetfinder";
description = "Find domains and subdomains related to a given domain";
mainProgram = "assetfinder";
maintainers = with maintainers; [ shard7 ];
platforms = platforms.unix;
sourceProvenance = with sourceTypes; [
fromSource
binaryNativeCode
];
license = with licenses; [ mit ];
};
}

527
pkgs/by-name/as/assetripper/deps.json generated Normal file
View File

@@ -0,0 +1,527 @@
[
{
"pname": "AsmResolver",
"version": "6.0.0-beta.3",
"hash": "sha256-hZfhHUMesxRo7Ek0kwKBOQ7+2+WkkFhavEk4stK4Ku0="
},
{
"pname": "AsmResolver.DotNet",
"version": "6.0.0-beta.3",
"hash": "sha256-x9BE2dfeACzOUtwrrzFJARMbt6yYREtSQYmdeqJIdJo="
},
{
"pname": "AsmResolver.PE",
"version": "6.0.0-beta.3",
"hash": "sha256-//cJkU4+PCAlBcSDeLjwWVkPJBQT1XzHx65uzrEPJR8="
},
{
"pname": "AsmResolver.PE.File",
"version": "6.0.0-beta.3",
"hash": "sha256-YzOcIBeILNSn8XATTC9j+0vgFXi6j4t/CQngOK/ZrnA="
},
{
"pname": "AssetRipper.Checksum",
"version": "1.0.0",
"hash": "sha256-/RUgkXYya3tpl7NAEbfMoTpw8UJQodSEs0j3l4iO5t4="
},
{
"pname": "AssetRipper.CIL",
"version": "1.1.6",
"hash": "sha256-dDiXWd3AtOWlaxFC1+xdw1MkmIGat2/CuH1oTZBF/RA="
},
{
"pname": "AssetRipper.Conversions.FastPng",
"version": "1.0.0",
"hash": "sha256-tcMBR4jo61eqEQSiZSFjtsfIku9KOTEgkZnVXD5WX7s="
},
{
"pname": "AssetRipper.Gee.External.Capstone",
"version": "2.3.2",
"hash": "sha256-IrcwjWUR0hAO2dmDVIFCd82pJYnpnrRrUMd8Z0dcVjk="
},
{
"pname": "AssetRipper.GUI.Web.Dependencies",
"version": "1.0.0",
"hash": "sha256-vRaU7qR5u2TKk1RdP4ZyTbe+/rJ02ffeC8YkqMp+W4E="
},
{
"pname": "AssetRipper.HashAlgorithms",
"version": "1.0.0",
"hash": "sha256-z2ryExCXJymw2UsdZxKseYPWQWg5aJe9surz5QABof4="
},
{
"pname": "AssetRipper.ICSharpCode.Decompiler",
"version": "9.1.0.8017",
"hash": "sha256-2OC9esZJ2hbeEcWJte0aAYdvykxwzGVF2IB1hV0BcMg="
},
{
"pname": "AssetRipper.IO.Endian",
"version": "2.0.2",
"hash": "sha256-/oxfkQpCaERReRha+2fkPQaW9JNAyJdiujp1326Pcmw="
},
{
"pname": "AssetRipper.Mining.PredefinedAssets",
"version": "1.5.0",
"hash": "sha256-c1Ru75IKNz/TTYrgMvA0JBW25fNmDsWDxx0bWwrOKco="
},
{
"pname": "AssetRipper.NativeDialogs",
"version": "1.0.0",
"hash": "sha256-RwrdAQpmZZII5jugbfCDd/sNqy3ozJ6dqWunuHApkuo="
},
{
"pname": "AssetRipper.Primitives",
"version": "3.1.3",
"hash": "sha256-17RT4wzgcZwzWjS92fX9lsZk91BKxEM8/kHc5aG/WU0="
},
{
"pname": "AssetRipper.Primitives",
"version": "3.1.6",
"hash": "sha256-0RJAOo3bP8o5pxLvJd7TVTLZqkHg+/PqvN0IF2EyRPY="
},
{
"pname": "AssetRipper.Primitives",
"version": "3.2.0",
"hash": "sha256-CoWcgLFJ9hIH09vDfTvrtN6dz9CzBOrXkC2kwj+ebGc="
},
{
"pname": "AssetRipper.SharpGLTF.Core",
"version": "1.0.2",
"hash": "sha256-WZgPF8/KMTIML3dYeePGGSap3j2RxWTegteKUrrOmas="
},
{
"pname": "AssetRipper.SharpGLTF.Runtime",
"version": "1.0.2",
"hash": "sha256-i3EdcJig488wNOlS2my+iGQMuc2+gm/EYmTZ1Ju7iR4="
},
{
"pname": "AssetRipper.SharpGLTF.Toolkit",
"version": "1.0.2",
"hash": "sha256-5cn9qRZNl+lAjG2NTZ0KoMnsuCUhlI8bctqzB3vT4UE="
},
{
"pname": "AssetRipper.SourceGenerated",
"version": "1.2.5",
"hash": "sha256-sYOnCL+63F8LVLONtxC9Wcu5erFqkms95FM2QwphEck="
},
{
"pname": "AssetRipper.Text.Html",
"version": "2.1.0",
"hash": "sha256-SW5BW3FT8Rt0zR6JNtKLfzjc5kl2fJpBs2PuWP3gBWY="
},
{
"pname": "AssetRipper.Text.SourceGeneration",
"version": "1.2.2",
"hash": "sha256-CsJuv8agq57DsjChX5CC9gyhnr0hwNpCdeCxxu62w48="
},
{
"pname": "AssetRipper.TextureDecoder",
"version": "2.3.0",
"hash": "sha256-P+McipTHztjmibwO4kOsqGs5u6o+15k52r35tq80oNQ="
},
{
"pname": "AssetRipper.Tpk",
"version": "1.1.0",
"hash": "sha256-1FJI8HbeJsXc77+uQngG3LJJQt7LshTKoYwtnQ+gyoc="
},
{
"pname": "AtkSharp",
"version": "3.24.24.117-develop",
"hash": "sha256-ubAzPecV3tV9h2OUUqiJw8OqPzg+iHQ1LBMZ7sU/mJo="
},
{
"pname": "CairoSharp",
"version": "3.24.24.117-develop",
"hash": "sha256-3dTmn3TpcDxEqTsvPdA8ueMYzK0IR5Z/vUR6xPCEnYE="
},
{
"pname": "Disarm",
"version": "2022.1.0-master.57",
"hash": "sha256-KtLpcS+n+HVkHc/CKBoyx+PWKpxkkVvtsqf002KSbPI=",
"url": "https://nuget.samboy.dev/v3/package/disarm/2022.1.0-master.57/disarm.2022.1.0-master.57.nupkg"
},
{
"pname": "DXDecompiler-ly",
"version": "0.0.1",
"hash": "sha256-R8Nyy60qOPru3SH5mPGNL1/tUKwqbxNq2QqbveoYznc="
},
{
"pname": "Fmod5Sharp",
"version": "3.0.1",
"hash": "sha256-Od9D7s20ONwuD1V6ZUCKkCyLR57pX8GRDuDs5oZzc+I="
},
{
"pname": "GdkSharp",
"version": "3.24.24.117-develop",
"hash": "sha256-6pW0Pj5jJXiyQfqPKIu0klrViMqKf+pRk++a4chIaxA="
},
{
"pname": "GioSharp",
"version": "3.24.24.117-develop",
"hash": "sha256-CLW912aVbiFjcWS8g36fEx+4HfOB7nAlhK1sVaPZSCM="
},
{
"pname": "GLibSharp",
"version": "3.24.24.117-develop",
"hash": "sha256-aJC9OOXB6qV/vjCarQn4DC/jxAuyV2cTclFjB3oguMk="
},
{
"pname": "GtkSharp",
"version": "3.24.24.117-develop",
"hash": "sha256-CgNVKW81n8MdVy481nYVY6KApDzlhEzxILSKkNLe5pg="
},
{
"pname": "Iced",
"version": "1.21.0",
"hash": "sha256-0xYTYX4935Ejm7yUqMWHhJtCNuj4oqK6Weojl6FIfHo="
},
{
"pname": "IndexRange",
"version": "1.0.2",
"hash": "sha256-bsoOY0HLG+nsjdeA3XiTOq0NSvXIz/xasFdSMe6svWQ="
},
{
"pname": "K4os.Compression.LZ4",
"version": "1.3.8",
"hash": "sha256-OmT3JwO4qpkZDL7XqiFqZCyxySj64s9t+mXcN1T+IyA="
},
{
"pname": "Kyaru.Texture2DDecoder",
"version": "0.17.0",
"hash": "sha256-8eHFAZ8Y00C9g4ZmUTxYrgqIr4gxMwTM7vtxER8w29g="
},
{
"pname": "Kyaru.Texture2DDecoder.Linux",
"version": "0.1.0",
"hash": "sha256-Wrk4NnAGx3E/3zRn03822Zzfcuyx7U4+54NbAe7Mc58="
},
{
"pname": "Kyaru.Texture2DDecoder.macOS",
"version": "0.1.0",
"hash": "sha256-BjioRXZSKONx5A1v7HAQtYzhVpMHCzfsi6XvyxLdO0s="
},
{
"pname": "Kyaru.Texture2DDecoder.Windows",
"version": "0.1.0",
"hash": "sha256-I4Huq7yZFFVX+9lAebuKf88LVj+oKQB5AetnwalEhlA="
},
{
"pname": "Microsoft.AspNetCore.OpenApi",
"version": "9.0.6",
"hash": "sha256-Kk1WNf1BS+9LjjXjBrYb1YCr+23W9PJ+B9Kv2OBv2Oc="
},
{
"pname": "Microsoft.Bcl.AsyncInterfaces",
"version": "9.0.6",
"hash": "sha256-+7YVB4UIGrvWzDkW5boLTC+6l2s96Jh1p0NeT95bb9Y="
},
{
"pname": "Microsoft.CodeAnalysis.Analyzers",
"version": "4.14.0",
"hash": "sha256-zmTSI77qeBKTmb0m79mbVaW3/94t7AWPO1A2Tchowng="
},
{
"pname": "Microsoft.CodeAnalysis.Common",
"version": "4.14.0",
"hash": "sha256-ne/zxH3GqoGB4OemnE8oJElG5mai+/67ASaKqwmL2BE="
},
{
"pname": "Microsoft.CodeAnalysis.CSharp",
"version": "4.14.0",
"hash": "sha256-5Mzj3XkYYLkwDWh17r1NEXSbXwwWYQPiOmkSMlgo1JY="
},
{
"pname": "Microsoft.Extensions.ApiDescription.Server",
"version": "8.0.0",
"hash": "sha256-GceEAtCVtm8xUHjR6obQ6bBJMOf+9d9OQ1iVr48sQbg="
},
{
"pname": "Microsoft.NETCore.Platforms",
"version": "1.1.0",
"hash": "sha256-FeM40ktcObQJk4nMYShB61H/E8B7tIKfl9ObJ0IOcCM="
},
{
"pname": "Microsoft.OpenApi",
"version": "1.6.17",
"hash": "sha256-Wx9PwlEJPNMq1kp59nJJnLHQ+yNhqCTudcokmlP+tSk="
},
{
"pname": "Microsoft.OpenApi",
"version": "1.6.23",
"hash": "sha256-YD2oxM/tlNpK5xUeHF85xdqcpBzHioUSyRjpN2A7KcY="
},
{
"pname": "Microsoft.OpenApi",
"version": "1.6.24",
"hash": "sha256-26sypyWk/38Xz6nlFQ1eYQeLM/k4kGyNiLazgyPyuJQ="
},
{
"pname": "NAudio.Core",
"version": "2.0.0",
"hash": "sha256-rD5ubdSgpufNjNyCerO0N5Gg2brUMhjEOL5qaNwFhBM="
},
{
"pname": "NAudio.Core",
"version": "2.1.0",
"hash": "sha256-cVfdq9B7wwojGiTOOrcnweQyI9q7U9+uDirqjisWrd8="
},
{
"pname": "NAudio.Core",
"version": "2.2.1",
"hash": "sha256-eUZF2/0w5IgGY9UtnZIk1VwwH6VCKP9iPJXVcseIc0c="
},
{
"pname": "NAudio.Vorbis",
"version": "1.5.0",
"hash": "sha256-FX5EHVRLcWfjY+/NhkUf33fMFrTcPG3Ztm5ptmu1caw="
},
{
"pname": "NETStandard.Library",
"version": "2.0.3",
"hash": "sha256-Prh2RPebz/s8AzHb2sPHg3Jl8s31inv9k+Qxd293ybo="
},
{
"pname": "NVorbis",
"version": "0.10.4",
"hash": "sha256-6ZouAJWaNge6DFnLHDr35uf4vs6Kf12RPp4ahuEejlA="
},
{
"pname": "OggVorbisEncoder",
"version": "1.2.0",
"hash": "sha256-5UhHf3JJUTG968Bst/cLR30qMTe1AntntDIv8w1IkFY="
},
{
"pname": "Ookii.CommandLine",
"version": "5.0.0",
"hash": "sha256-9iSS/YaB+rwChSn0PLUZXiBWDqJ4GyjnETwmemNG8b8="
},
{
"pname": "Ookii.Common",
"version": "1.0.0",
"hash": "sha256-u8J6JSAOp2gJBsmu9ZjiSgipoXOVpseqtYf38tlnN3g="
},
{
"pname": "oqo0.SwaggerThemes",
"version": "1.4.3",
"hash": "sha256-KiOTY0s0J4K9hbQ7pSvgNeb9j6h0lbI9sHQxlNSMIqY="
},
{
"pname": "PangoSharp",
"version": "3.24.24.117-develop",
"hash": "sha256-G+UgcJKurjnR3kGfHB6SFZ7ujz1+5/+yN8jUYQ7jpgM="
},
{
"pname": "PolySharp",
"version": "1.15.0",
"hash": "sha256-nH/UOZW4X93FUELaDteMvEEWofX4vii4e59jOqx9JTg="
},
{
"pname": "Samboy063.Cpp2IL.Core",
"version": "2022.1.0-development.1356",
"hash": "sha256-fGf4BItKAA5wxqnHeipLAc9Tezsb6m0dtGcnXMcnYdM=",
"url": "https://nuget.samboy.dev/v3/package/samboy063.cpp2il.core/2022.1.0-development.1356/samboy063.cpp2il.core.2022.1.0-development.1356.nupkg"
},
{
"pname": "Samboy063.LibCpp2IL",
"version": "2022.1.0-development.1356",
"hash": "sha256-F8SN2ooYcE+rAya645I166xqZeC5XsqGo8OiYnAkBH8=",
"url": "https://nuget.samboy.dev/v3/package/samboy063.libcpp2il/2022.1.0-development.1356/samboy063.libcpp2il.2022.1.0-development.1356.nupkg"
},
{
"pname": "Samboy063.WasmDisassembler",
"version": "2022.1.0-development.1356",
"hash": "sha256-w2fMnjPYikPEveS9lPwiTHlOazN2w3IlP5EnLyp+Ln0=",
"url": "https://nuget.samboy.dev/v3/package/samboy063.wasmdisassembler/2022.1.0-development.1356/samboy063.wasmdisassembler.2022.1.0-development.1356.nupkg"
},
{
"pname": "SharpCompress",
"version": "0.38.0",
"hash": "sha256-bQL3kazuqbuqn+Csy9RYMMUsNMtqkGXF7x32s787UBM="
},
{
"pname": "SharpCompress",
"version": "0.40.0",
"hash": "sha256-pxz5ef//xOUClwuyflO0eLAfUItFcwfq74Cf0Hj5c1E="
},
{
"pname": "SharpZipLib",
"version": "1.4.2",
"hash": "sha256-/giVqikworG2XKqfN9uLyjUSXr35zBuZ2FX2r8X/WUY="
},
{
"pname": "SourceGenerator.Foundations",
"version": "2.0.13",
"hash": "sha256-duI1IaumXBKE7xY/YoNqJWXLF96OznZT5IF79ox1s64="
},
{
"pname": "StableNameDotNet",
"version": "0.1.0-development.1356",
"hash": "sha256-BsH+CwpStediIOeM+b79PZzZWJQnqKi5ofgTHorcXUU=",
"url": "https://nuget.samboy.dev/v3/package/stablenamedotnet/0.1.0-development.1356/stablenamedotnet.0.1.0-development.1356.nupkg"
},
{
"pname": "StbImageWriteSharp",
"version": "1.16.7",
"hash": "sha256-E9AQO6tcXneDo4rwcSaW/cNhqFDv881o74wqB2fTG0Y="
},
{
"pname": "Swashbuckle.AspNetCore",
"version": "9.0.1",
"hash": "sha256-rJFeYQgpQ6O3nK0I0ovzh5k8NA/Hzp6kIxKRBryBBBw="
},
{
"pname": "Swashbuckle.AspNetCore.Swagger",
"version": "9.0.1",
"hash": "sha256-MgjUvPjRdrSVALtJL+kQZsL0siNVPUhVKzsc6VMKsLM="
},
{
"pname": "Swashbuckle.AspNetCore.SwaggerGen",
"version": "9.0.1",
"hash": "sha256-yRYM43099u0sH9uozOWAHSj0uLBOSEAp1zzR4RJCYEU="
},
{
"pname": "Swashbuckle.AspNetCore.SwaggerUI",
"version": "9.0.1",
"hash": "sha256-R1c/a5mMqstqSwm/PIj6FYa0fimE7ry4KibY6PUAuZQ="
},
{
"pname": "System.Buffers",
"version": "4.5.1",
"hash": "sha256-wws90sfi9M7kuCPWkv1CEYMJtCqx9QB/kj0ymlsNaxI="
},
{
"pname": "System.Buffers",
"version": "4.6.0",
"hash": "sha256-c2QlgFB16IlfBms5YLsTCFQ/QeKoS6ph1a9mdRkq/Jc="
},
{
"pname": "System.Collections.Immutable",
"version": "6.0.0",
"hash": "sha256-DKEbpFqXCIEfqp9p3ezqadn5b/S1YTk32/EQK+tEScs="
},
{
"pname": "System.Collections.Immutable",
"version": "9.0.0",
"hash": "sha256-+6q5VMeoc5bm4WFsoV6nBXA9dV5pa/O4yW+gOdi8yac="
},
{
"pname": "System.IO.Hashing",
"version": "8.0.0",
"hash": "sha256-szOGt0TNBo6dEdC3gf6H+e9YW3Nw0woa6UnCGGGK5cE="
},
{
"pname": "System.IO.Pipelines",
"version": "9.0.6",
"hash": "sha256-bOZgOtovt6tNf1IVV8ndHVvdqpMDlHN6Zwfl0KnsE0M="
},
{
"pname": "System.Memory",
"version": "4.5.3",
"hash": "sha256-Cvl7RbRbRu9qKzeRBWjavUkseT2jhZBUWV1SPipUWFk="
},
{
"pname": "System.Memory",
"version": "4.5.4",
"hash": "sha256-3sCEfzO4gj5CYGctl9ZXQRRhwAraMQfse7yzKoRe65E="
},
{
"pname": "System.Memory",
"version": "4.5.5",
"hash": "sha256-EPQ9o1Kin7KzGI5O3U3PUQAZTItSbk9h/i4rViN3WiI="
},
{
"pname": "System.Numerics.Tensors",
"version": "10.0.0-preview.5.25277.114",
"hash": "sha256-zXbNpujiQO8JcKNvJTMdOtokqvBpD6LeWpeurJDFmts="
},
{
"pname": "System.Numerics.Vectors",
"version": "4.4.0",
"hash": "sha256-auXQK2flL/JpnB/rEcAcUm4vYMCYMEMiWOCAlIaqu2U="
},
{
"pname": "System.Numerics.Vectors",
"version": "4.5.0",
"hash": "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8="
},
{
"pname": "System.Reflection.Metadata",
"version": "6.0.0",
"hash": "sha256-VJHXPjP05w6RE/Swu8wa2hilEWuji3g9bl/6lBMSC/Q="
},
{
"pname": "System.Reflection.Metadata",
"version": "9.0.0",
"hash": "sha256-avEWbcCh7XgpsSesnR3/SgxWi/6C5OxjR89Jf/SfRjQ="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "4.5.3",
"hash": "sha256-lnZMUqRO4RYRUeSO8HSJ9yBHqFHLVbmenwHWkIU20ak="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.0.0",
"hash": "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="
},
{
"pname": "System.Runtime.CompilerServices.Unsafe",
"version": "6.1.1",
"hash": "sha256-FeUStJ8EDvosTT651WiWE0X19rE9QqNQpLmhkb/n+rM="
},
{
"pname": "System.Text.Encoding.CodePages",
"version": "7.0.0",
"hash": "sha256-eCKTVwumD051ZEcoJcDVRGnIGAsEvKpfH3ydKluHxmo="
},
{
"pname": "System.Text.Encodings.Web",
"version": "6.0.0",
"hash": "sha256-UemDHGFoQIG7ObQwRluhVf6AgtQikfHEoPLC6gbFyRo="
},
{
"pname": "System.Text.Encodings.Web",
"version": "9.0.6",
"hash": "sha256-HHifM7LW0+JhFLHMbPx3954t70IjdTPoBE8mWEiJxcI="
},
{
"pname": "System.Text.Json",
"version": "6.0.5",
"hash": "sha256-NKWNrCcKy8S5ldsJzm6+udU53fWzmPGZZG/gpk0Kz4k="
},
{
"pname": "System.Text.Json",
"version": "9.0.4",
"hash": "sha256-oIOqfOIIUXXVkfFiTCI9wwIJBETQqF7ZcOJv2iYuq1s="
},
{
"pname": "System.Text.Json",
"version": "9.0.6",
"hash": "sha256-WC/QbZhTaoZ3PbDKcFvJwMIA4xLUdnMrAXGlOW87VNY="
},
{
"pname": "System.Threading.Tasks.Extensions",
"version": "4.5.4",
"hash": "sha256-owSpY8wHlsUXn5xrfYAiu847L6fAKethlvYx97Ri1ng="
},
{
"pname": "System.ValueTuple",
"version": "4.5.0",
"hash": "sha256-niH6l2fU52vAzuBlwdQMw0OEoRS/7E1w5smBFoqSaAI="
},
{
"pname": "TerraFX.Interop.Windows",
"version": "10.0.26100.2",
"hash": "sha256-dIyetiPHgFg3cXN620ur3O/O3c+7Piw+KKzr88SlpHw="
},
{
"pname": "ZstdSharp.Port",
"version": "0.8.1",
"hash": "sha256-PeQvyz3lUrK+t+n1dFtNXCLztQtAfkqUuM6mOqBZHLg="
},
{
"pname": "ZstdSharp.Port",
"version": "0.8.5",
"hash": "sha256-+UQFeU64md0LlSf9nMXif6hHnfYEKm+WRyYd0Vo2QvI="
}
]

View File

@@ -0,0 +1,87 @@
{
lib,
stdenv,
autoPatchelfHook,
buildDotnetModule,
fetchFromGitHub,
dbus,
dotnetCorePackages,
}:
buildDotnetModule (finalAttrs: {
pname = "assetripper";
version = "1.3.0";
src = fetchFromGitHub {
owner = "AssetRipper";
repo = "AssetRipper";
tag = finalAttrs.version;
hash = "sha256-ixXWbygFhvOjld+YRLIhkO3cgDNkQsbivri2pjU4rgM=";
};
postPatch = ''
sed 's@Path.Join(ExecutingDirectory, "temp",@Path.Join(Path.GetTempPath(), "AssetRipper",@' \
-i Source/AssetRipper.IO.Files/Utils/TemporaryFileStorage.cs
'';
buildInputs = [
dbus
(lib.getLib stdenv.cc.cc)
];
nativeBuildInputs = [ autoPatchelfHook ];
# Prevent automatic patching of all files. This is necessary as applying
# autoPatchelf indiscriminately causes dangling references to openssl and
# icu4c in AssetRipper.GUI.Free
dontAutoPatchelf = true;
# Avoid IOException on startup
makeWrapperArgs = [
"--add-flags"
"--log=false"
];
# Make the main executable available under a more intuitive name.
postInstall = ''
mkdir -p $out/bin
ln -rs $out/bin/AssetRipper.GUI.Free $out/bin/AssetRipper
'';
# Patch some prebuilt libraries fetched via NuGet.
fixupPhase = ''
runHook preFixup
autoPatchelf $out/lib/${finalAttrs.pname}/libnfd.so
autoPatchelf $out/lib/${finalAttrs.pname}/libTexture2DDecoderNative.so
runHook postFixup
'';
projectFile = "Source/AssetRipper.GUI.Free/AssetRipper.GUI.Free.csproj";
# Error: "PublishTrimmed is implied by native compilation and cannot be disabled."
# We need to override the project settings and disable native AoT compilation
# as this is incompatible with PublishTrimmed.
dotnetInstallFlags = [ "-p:PublishAot=false" ];
nugetDeps = ./deps.json;
executables = [ "AssetRipper.GUI.Free" ];
dotnet-sdk = dotnetCorePackages.sdk_9_0;
dotnet-runtime = finalAttrs.dotnet-sdk.aspnetcore;
meta = {
description = "Tool for extracting assets from Unity serialized files and asset bundles";
homepage = "https://github.com/AssetRipper/AssetRipper";
license = lib.licenses.gpl3Only;
mainProgram = "AssetRipper";
maintainers = with lib.maintainers; [ YoshiRulz ];
platforms = lib.platforms.unix;
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryNativeCode # libraries fetched by NuGet
];
};
})

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
openssh,
makeWrapper,
ps,
}:
buildGoModule rec {
pname = "assh";
version = "2.16.0";
src = fetchFromGitHub {
repo = "advanced-ssh-config";
owner = "moul";
tag = "v${version}";
hash = "sha256-rvJJZqVSBdaJ154NV6RaxbymsSsHbKnlJDeR6KHQE7M=";
};
vendorHash = "sha256-L2Uo/jsMtxQClF1UDa7NIUbOm7BflvncNsjqGnCsPKo=";
ldflags = [
"-s"
"-w"
"-X moul.io/assh/v2/pkg/version.Version=${version}"
];
nativeBuildInputs = [ makeWrapper ];
nativeCheckInputs = lib.optionals stdenv.hostPlatform.isDarwin [ ps ];
postInstall = ''
wrapProgram "$out/bin/assh" \
--prefix PATH : ${openssh}/bin
'';
doInstallCheck = true;
installCheckPhase = ''
$out/bin/assh --help > /dev/null
'';
meta = {
description = "Advanced SSH config - Regex, aliases, gateways, includes and dynamic hosts";
homepage = "https://github.com/moul/assh";
changelog = "https://github.com/moul/assh/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = [ ];
platforms = with lib.platforms; linux ++ darwin;
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "assign-lb-ip";
version = "2.3.1";
src = fetchFromGitHub {
owner = "Nordix";
repo = "assign-lb-ip";
tag = "v${version}";
hash = "sha256-Sfi58wcX61HNCmlDoparTqnfsuxu6barSnV0uYlC+ng=";
};
vendorHash = "sha256-N78a0pjs2Bg2Bslk/I0ntL88ui4IkRGenL0Pn17Lt/w=";
meta = {
description = "Assigns loadBalancerIP address to a Kubernetes service for testing purposes";
mainProgram = "assign-lb-ip";
homepage = "https://github.com/Nordix/assign-lb-ip";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ starcraft66 ];
};
}

View File

@@ -0,0 +1,60 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
zlib,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "assimp";
version = "6.0.2";
outputs = [
"out"
"lib"
"dev"
];
src = fetchFromGitHub {
owner = "assimp";
repo = "assimp";
tag = "v${finalAttrs.version}";
hash = "sha256-ixtqK+3iiL17GEbEVHz5S6+gJDDQP7bVuSfRMJMGEOY=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
zlib
];
strictDeps = true;
enableParallelBuilding = true;
cmakeFlags = [
(lib.cmakeBool "ASSIMP_BUILD_ASSIMP_TOOLS" true)
];
# Some matrix tests fail on non-86_64-linux:
# https://github.com/assimp/assimp/issues/6246
# https://github.com/assimp/assimp/issues/6247
doCheck = !(stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isx86_64);
checkPhase = ''
runHook preCheck
bin/unit
runHook postCheck
'';
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/assimp/assimp/releases/tag/${finalAttrs.src.tag}";
description = "Library to import various 3D model formats";
mainProgram = "assimp";
homepage = "https://www.assimp.org/";
license = lib.licenses.bsd3;
maintainers = [ ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
};
})

View File

@@ -0,0 +1,71 @@
{
lib,
rustPlatform,
fetchFromGitHub,
stdenv,
installShellFiles,
versionCheckHook,
nix-update-script,
enableLegacySg ? false,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ast-grep";
version = "0.39.5";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
tag = finalAttrs.version;
hash = "sha256-hgJD3cc+FbOuI2ZCuKDN2u9vMZngIvPGUqFRjpFE/zY=";
};
# error: linker `aarch64-linux-gnu-gcc` not found
postPatch = ''
rm .cargo/config.toml
'';
cargoHash = "sha256-KLiE1lbgrWj8RYLTFLMqukeH1W9ipE1vYaId2/DJHrE=";
nativeBuildInputs = [ installShellFiles ];
cargoBuildFlags = [
"--package ast-grep --bin ast-grep"
]
++ lib.optionals enableLegacySg [ "--package ast-grep --bin sg" ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd ast-grep \
--bash <($out/bin/ast-grep completions bash) \
--fish <($out/bin/ast-grep completions fish) \
--zsh <($out/bin/ast-grep completions zsh)
${lib.optionalString enableLegacySg ''
installShellCompletion --cmd sg \
--bash <($out/bin/sg completions bash) \
--fish <($out/bin/sg completions fish) \
--zsh <($out/bin/sg completions zsh)
''}
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
mainProgram = "ast-grep";
description = "Fast and polyglot tool for code searching, linting, rewriting at large scale";
homepage = "https://ast-grep.github.io/";
changelog = "https://github.com/ast-grep/ast-grep/blob/${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
xiaoxiangmoe
montchr
lord-valen
cafkafk
];
};
})

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule rec {
pname = "astartectl";
version = "24.5.2";
src = fetchFromGitHub {
owner = "astarte-platform";
repo = "astartectl";
rev = "v${version}";
hash = "sha256-T4/lkeipE7GWq1zTxkoV3MfADlduFKtGuB/dsI4YZZw=";
};
vendorHash = "sha256-kVI1DigDlTvrYLVRUYoW+AAkd31d9EehjRJxrqo8OB4=";
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd astartectl \
--bash <($out/bin/astartectl completion bash) \
--fish <($out/bin/astartectl completion fish) \
--zsh <($out/bin/astartectl completion zsh)
'';
meta = with lib; {
homepage = "https://github.com/astarte-platform/astartectl";
description = "Astarte command line client utility";
license = licenses.asl20;
mainProgram = "astartectl";
maintainers = with maintainers; [ noaccos ];
};
}

View File

@@ -0,0 +1,95 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
simdExtensions ? null,
}:
let
inherit (lib)
head
licenses
maintainers
platforms
replaceStrings
toList
;
# SIMD instruction sets to compile for. If none are specified by the user,
# an appropriate one is selected based on the detected host system
isas =
with stdenv.hostPlatform;
if simdExtensions != null then
toList simdExtensions
else if avx2Support then
[ "AVX2" ]
else if sse4_1Support then
[ "SSE41" ]
else if isx86_64 then
[ "SSE2" ]
else if isAarch64 then
[ "NEON" ]
else
[ "NONE" ];
# CMake Build flags for the selected ISAs. For a list of flags, see
# https://github.com/ARM-software/astc-encoder/blob/main/Docs/Building.md
isaFlags = map (isa: "-DASTCENC_ISA_${isa}=ON") isas;
# The suffix of the binary to link as 'astcenc'
mainBinary =
replaceStrings
[ "AVX2" "SSE41" "SSE2" "NEON" "NONE" "NATIVE" ]
[ "avx2" "sse4.1" "sse2" "neon" "none" "native" ]
(head isas);
in
stdenv.mkDerivation (finalAttrs: {
pname = "astc-encoder";
version = "5.3.0";
src = fetchFromGitHub {
owner = "ARM-software";
repo = "astc-encoder";
tag = finalAttrs.version;
hash = "sha256-15fX+3wzDoVzvQAhneeGajMsFXqSwmYtlsi3qrNFNus=";
};
nativeBuildInputs = [ cmake ];
cmakeBuildType = "RelWithDebInfo";
cmakeFlags = isaFlags ++ [
"-DASTCENC_UNIVERSAL_BUILD=OFF"
];
# Set a fixed build year to display within help output (otherwise, it would be 1980)
postPatch = ''
substituteInPlace Source/cmake_core.cmake \
--replace 'string(TIMESTAMP astcencoder_YEAR "%Y")' 'set(astcencoder_YEAR "2023")'
'';
# Provide 'astcenc' link to main executable
postInstall = ''
ln -s $out/bin/astcenc-${mainBinary} $out/bin/astcenc
'';
meta = {
homepage = "https://github.com/ARM-software/astc-encoder";
description = "Encoder for the ASTC texture compression format";
longDescription = ''
The Adaptive Scalable Texture Compression (ASTC) format is
widely supported by mobile and desktop graphics hardware and
provides better quality at a given bitrate compared to ETC2.
This program supports both compression and decompression in LDR
and HDR mode and can read various image formats. Run `astcenc
-help` to see all the options.
'';
platforms = lib.platforms.unix;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dasisdormax ];
broken = !stdenv.hostPlatform.is64bit;
};
})

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchFromGitHub,
binutils-unwrapped,
patchelf,
asterisk,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "asterisk-module-sccp";
version = "4.3.5";
src = fetchFromGitHub {
owner = "chan-sccp";
repo = "chan-sccp";
tag = "v${finalAttrs.version}";
hash = "sha256-Lonsh7rx3C17LU5pZpZuFxlki0iotDt+FivggFJbldU=";
};
nativeBuildInputs = [ patchelf ];
configureFlags = [ "--with-asterisk=${asterisk}" ];
installFlags = [
"DESTDIR=/build/dest"
"DATAROOTDIR=/build/dest"
];
postInstall = ''
mkdir -p "$out"
cp -r /build/dest/${asterisk}/* "$out"
'';
postFixup = ''
p="$out/lib/asterisk/modules/chan_sccp.so"
patchelf --set-rpath "$p:${lib.makeLibraryPath [ binutils-unwrapped ]}" "$p"
'';
meta = {
description = "Replacement for the SCCP channel driver in Asterisk";
license = lib.licenses.gpl1Only;
maintainers = with lib.maintainers; [ das_j ];
};
})

View File

@@ -0,0 +1,21 @@
diff --git a/make.sh b/make.sh
index 3ff6529..937b1a2 100644
--- a/make.sh
+++ b/make.sh
@@ -17,6 +17,8 @@ jar cvfm ../astral.$version.jar ../manifest.text phylonet/util/BitSet.* phylonet
cd ..
+strip-nondeterminism --type jar astral.$version.jar
+
chmod +x astral.$version.jar
sed -e "s/__astral.jar__/astral.$version.jar/g" -e "s/__astral.zip__/Astral.$version.zip/g" README.template.md > README.md
sed -e "s/__astral.jar__/astral.$version.jar/g" -e "s/__astral.zip__/Astral.$version.zip/g" astral-tutorial-template.md > astral-tutorial.md
@@ -32,6 +34,7 @@ ln -s ../astral-tutorial.pdf .
cd ..
rm -f Astral.$version.zip
zip -r Astral.$version.zip Astral
+strip-nondeterminism --type zip Astral.$version.zip
set +x
echo "

View File

@@ -0,0 +1,83 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
jdk8,
jre8,
strip-nondeterminism,
makeWrapper,
zip,
}:
let
jdk = jdk8;
jre = jre8;
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "astral";
version = "5.7.1";
src = fetchFromGitHub {
owner = "smirarab";
repo = "ASTRAL";
rev = "v${finalAttrs.version}";
hash = "sha256-VhcsX9BxiZ0nISN6Xe4N+kq0iBMCtNhyxDrm9cwXfBA=";
};
patches = [
# we can't use stripJavaArchivesHook here, because the build process puts a .jar file into a zip file
# this patch calls strip-nondeterminism manually
./make-deterministic.patch
];
nativeBuildInputs = [
jdk
zip
strip-nondeterminism
makeWrapper
];
buildPhase = ''
runHook preBuild
patchShebangs ./make.sh
./make.sh
runHook postBuild
'';
doCheck = true;
checkPhase = ''
runHook preCheck
java -jar astral.${finalAttrs.version}.jar -i main/test_data/song_primates.424.gene.tre
runHook postCheck
'';
installPhase = ''
runHook preInstall
install -Dm644 astral.${finalAttrs.version}.jar -t $out/share
install -Dm644 lib/*.jar -t $out/share/lib
install -Dm644 Astral.${finalAttrs.version}.zip -t $out/share
cp -a main/test_data $out/share
makeWrapper ${jre}/bin/java $out/bin/astral \
--add-flags "-jar $out/share/astral.${finalAttrs.version}.jar"
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/smirarab/ASTRAL";
description = "Tool for estimating an unrooted species tree given a set of unrooted gene trees";
mainProgram = "astral";
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
];
license = licenses.asl20;
maintainers = with maintainers; [
bzizou
tomasajt
];
};
})

View File

@@ -0,0 +1,77 @@
{
lib,
stdenv,
fetchFromGitHub,
pnpm_9,
nodejs_22,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "astro-language-server";
version = "2.15.4";
src = fetchFromGitHub {
owner = "withastro";
repo = "language-tools";
rev = "@astrojs/language-server@${finalAttrs.version}";
hash = "sha256-NBLUeg1WqxTXtu8eg1fihQSfm8koYAEWhfXAj/fIdC8=";
};
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs)
pname
version
src
pnpmWorkspaces
prePnpmInstall
;
fetcherVersion = 1;
hash = "sha256-tlpk+wbLjJqt37lu67p2A2RZAR1ZfnZFiYoqIQwvWPQ=";
};
nativeBuildInputs = [
nodejs_22
pnpm_9.configHook
];
buildInputs = [ nodejs_22 ];
# Must specify to download "@astrojs/yaml2ts" depencendies
# https://pnpm.io/filtering#--filter-package_name-1
pnpmWorkspaces = [ "@astrojs/language-server..." ];
prePnpmInstall = ''
# Warning section for "pnpm@v8"
# https://pnpm.io/cli/install#--filter-package_selector
pnpm config set dedupe-peer-dependents false
'';
buildPhase = ''
runHook preBuild
# Must build the "@astrojs/yaml2ts" package. Dependency is linked via workspace by "pnpm"
# (https://github.com/withastro/language-tools/blob/%40astrojs/language-server%402.14.2/pnpm-lock.yaml#L78-L80)
pnpm --filter "@astrojs/language-server..." build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib/astro-language-server}
cp -r {packages,node_modules} $out/lib/astro-language-server
ln -s $out/lib/astro-language-server/packages/language-server/bin/nodeServer.js $out/bin/astro-ls
runHook postInstall
'';
meta = {
description = "Astro language server";
homepage = "https://github.com/withastro/language-tools";
changelog = "https://github.com/withastro/language-tools/blob/@astrojs/language-server@${finalAttrs.version}/packages/language-server/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pyrox0 ];
mainProgram = "astro-ls";
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchurl,
jre,
makeWrapper,
unzip,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "astrolabe-generator";
version = "3.3";
src = fetchurl {
url = "https://github.com/wymarc/astrolabe-generator/releases/download/v${finalAttrs.version}/AstrolabeGenerator-${finalAttrs.version}.zip";
hash = "sha256-yTYiUEjxlfZbFNSxvF56LlUPL3kRH6QVFq4GhXN1L5A=";
};
buildInputs = [ jre ];
nativeBuildInputs = [
makeWrapper
unzip
];
sourceRoot = ".";
installPhase = ''
mkdir -p $out/{bin,share/java}
cp AstrolabeGenerator-${finalAttrs.version}.jar $out/share/java
makeWrapper ${jre}/bin/java $out/bin/AstrolabeGenerator \
--add-flags "-jar $out/share/java/AstrolabeGenerator-${finalAttrs.version}.jar"
'';
meta = {
homepage = "https://www.astrolabeproject.com";
description = "Java-based tool for generating EPS files for constructing astrolabes and related tools";
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
license = lib.licenses.gpl3;
maintainers = [ ];
mainProgram = "AstrolabeGenerator";
platforms = lib.platforms.all;
};
})

View File

@@ -0,0 +1,71 @@
{
lib,
stdenv,
fetchzip,
fetchurl,
xorg,
withBigAtlas ? true,
withEphemeris ? true,
withMoonsEphemeris ? true,
}:
stdenv.mkDerivation {
pname = "astrolog";
version = "7.70";
src = fetchzip {
url = "https://www.astrolog.org/ftp/ast77src.zip";
hash = "sha256-rG7njEtnHwUDqWstj0bQxm2c9CbsOmWOCYs0FtiVoJE=";
stripRoot = false;
};
patchPhase = ''
sed -i "s:~/astrolog:$out/astrolog:g" astrolog.h
substituteInPlace Makefile --replace cc "$CC" --replace strip "$STRIP"
'';
buildInputs = [ xorg.libX11 ];
env.NIX_CFLAGS_COMPILE = "-Wno-format-security";
installPhase =
let
ephemeris = fetchzip {
url = "http://astrolog.org/ftp/ephem/astephem.zip";
hash = "sha256-+on9LE27hCPRacHaIo6wz6M3V+G1QpyJ1Rp4wHbycM0=";
stripRoot = false;
};
moonsEphemeris = fetchzip {
url = "https://www.astrolog.org/ftp/ephem/moons/sepm.zip";
hash = "sha256-bHJc1yyR2loSOC4QJWsYNtKRYpxN9ZnKK5cWCapAptI=";
stripRoot = false;
};
atlas = fetchurl {
url = "http://astrolog.org/ftp/atlas/atlasbig.as";
hash = "sha256-5DVfW3IaOwOguH9cv2opr1gIWo+K/Q2bLtRM35oD/EM=";
};
in
''
mkdir -p $out/bin $out/astrolog
cp *.as $out/astrolog
install astrolog $out/bin
${lib.optionalString withBigAtlas "cp ${atlas} $out/astrolog/atlas.as"}
${lib.optionalString withEphemeris ''
sed -i "/-Yi1/s#\".*\"#\"$out/ephemeris\"#" $out/astrolog/astrolog.as
mkdir -p $out/ephemeris
cp -r ${ephemeris}/*.se1 $out/ephemeris
''}
${lib.optionalString withMoonsEphemeris ''
sed -i "/-Yi1/s#\".*\"#\"$out/ephemeris\"#" $out/astrolog/astrolog.as
mkdir -p $out/ephemeris
cp -r ${moonsEphemeris}/*.se1 $out/ephemeris
''}
'';
meta = {
maintainers = with lib.maintainers; [ kmein ];
homepage = "https://astrolog.org/astrolog.htm";
description = "Freeware astrology program";
mainProgram = "astrolog";
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;
};
}

View File

@@ -0,0 +1,79 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
ninja,
makeWrapper,
xorg,
libGLU,
libGL,
SDL2,
openal,
fontconfig,
freealut,
freetype,
libogg,
libvorbis,
runtimeShell,
}:
stdenv.mkDerivation rec {
pname = "astromenace";
version = "1.4.3";
src = fetchFromGitHub {
owner = "viewizard";
repo = "astromenace";
rev = "v${version}";
hash = "sha256-W6d+8iw7/r2qJbE75U7egxqvK2HXaKzk+GtnspZRAxk=";
};
patches = [
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/astromenace/raw/5e6bc02d115a53007dc47ef8223d8eaa25607588/f/astromenace-gcc13.patch";
hash = "sha256-pkmTVR86vS+KCICxAp+d7upNWVnSNxwdKmxnbtqIvgU=";
})
];
nativeBuildInputs = [
cmake
ninja
makeWrapper
];
buildInputs = [
xorg.libICE
xorg.libX11
xorg.libXinerama
libGLU
libGL
SDL2
openal
fontconfig
freealut
freetype
libogg
libvorbis
];
installPhase = ''
runHook preInstall
mkdir -p $out/share/astromenace
install -Dm644 gamedata.vfs $out/share/astromenace/gamedata.vfs
install -Dm755 astromenace $out/bin/astromenace
wrapProgram $out/bin/astromenace \
--add-flags "--dir=$out/share/astromenace"
runHook postInstall
'';
meta = with lib; {
description = "Hardcore 3D space shooter with spaceship upgrade possibilities";
homepage = "https://www.viewizard.com/";
license = licenses.gpl3Plus;
platforms = platforms.linux;
mainProgram = "astromenace";
maintainers = with maintainers; [ fgaz ];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "astronomer";
version = "1.1.3";
src = fetchFromGitHub {
owner = "Ullaakut";
repo = "astronomer";
rev = "v${version}";
hash = "sha256-4hUfJI2BRZl3Trk8F2qLZAyA57kq0oW9/e13atj/BVg=";
};
vendorHash = "sha256-EOtpZPIrAVMPIZGnkZoNs7ovaR7Ts3dJsFLXClIoNVI=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Tool to detect illegitimate stars from bot accounts on GitHub projects";
homepage = "https://github.com/Ullaakut/astronomer";
changelog = "https://github.com/Ullaakut/astronomer/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = with maintainers; [ figsoda ];
mainProgram = "astronomer";
};
}

View File

@@ -0,0 +1,63 @@
{
stdenv,
lib,
fetchurl,
fetchFromGitHub,
xxd,
meson,
ninja,
ncurses,
argtable,
versionCheckHook,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "astroterm";
version = "1.0.9";
src = fetchFromGitHub {
owner = "da-luce";
repo = "astroterm";
tag = "v${finalAttrs.version}";
hash = "sha256-3UXFB4NNKn2w1dYlQzhFyxWwa7/1qkCXPNdBqHK+eQ8=";
};
bsc5File = fetchurl {
url = "https://web.archive.org/web/20231007085824/http://tdc-www.harvard.edu/catalogs/BSC5";
hash = "sha256-5HHQLq9O7LYcEvh5octkMrqde2ipqMVlSh60KgyMw0A=";
};
nativeBuildInputs = [
meson
ninja
xxd
];
buildInputs = [
argtable
ncurses
];
doInstallCheck = true;
nativeInstallCheckInputs = [
versionCheckHook
];
postPatch = ''
mkdir -p data
ln -s ${finalAttrs.bsc5File} data/bsc5
'';
doCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Celestial viewer for the terminal, written in C";
homepage = "https://github.com/da-luce/astroterm/";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.da-luce ];
mainProgram = "astroterm";
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,44 @@
{
stdenv,
lib,
fetchurl,
cmake,
versionCheckHook,
asLibrary ? false,
}:
stdenv.mkDerivation rec {
pname = "astyle";
version = "3.6.12";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
hash = "sha256-Gd6wahq25QELlsKBuuNQVg2XicvIluMD82EBeYMv0r4=";
};
nativeBuildInputs = [ cmake ];
# upstream repo includes a build/ directory
cmakeBuildDir = "_build";
cmakeFlags = lib.optional asLibrary [
"-DBUILD_SHARED_LIBS=ON"
];
postInstall = lib.optionalString asLibrary ''
install -Dm444 ../src/astyle.h $out/include/astyle.h
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = !asLibrary;
meta = with lib; {
description = "Source code indenter, formatter, and beautifier for C, C++, C# and Java";
mainProgram = "astyle";
homepage = "https://astyle.sourceforge.net/";
license = licenses.lgpl3;
maintainers = with maintainers; [ carlossless ];
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
rustPlatform,
fetchFromSourcehut,
pkg-config,
ncurses,
openssl,
}:
rustPlatform.buildRustPackage rec {
pname = "asuka";
version = "0.8.5";
src = fetchFromSourcehut {
owner = "~julienxx";
repo = "asuka";
tag = version;
hash = "sha256-+rj6P3ejc4Qb/uqbf3N9MqyqDT7yg9JFE0yfW/uzd6M=";
};
cargoHash = "sha256-aNHkhcvOdK6sf6nWxCNPxcktYhrnmLdMrLqWb/1QBQ4=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [
ncurses
openssl
];
meta = {
description = "Gemini Project client written in Rust with NCurses";
mainProgram = "asuka";
homepage = "https://git.sr.ht/~julienxx/asuka";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ sikmir ];
};
}

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchurl,
makeWrapper,
gtk2,
libcddb,
intltool,
pkg-config,
cdparanoia,
mp3Support ? false,
lame,
oggSupport ? true,
vorbis-tools,
flacSupport ? true,
flac,
opusSupport ? false,
opusTools,
wavpackSupport ? false,
wavpack,
#, musepackSupport ? false, TODO: mpcenc
monkeysAudioSupport ? false,
monkeysAudio,
#, aacSupport ? false, TODO: neroAacEnc
}:
let
runtimeDeps =
lib.optional mp3Support lame
++ lib.optional oggSupport vorbis-tools
++ lib.optional flacSupport flac
++ lib.optional opusSupport opusTools
++ lib.optional wavpackSupport wavpack
++ lib.optional monkeysAudioSupport monkeysAudio
++ [ cdparanoia ];
in
stdenv.mkDerivation (finalAttrs: {
version = "3.0.1";
pname = "asunder";
src = fetchurl {
url = "http://littlesvr.ca/asunder/releases/asunder-${finalAttrs.version}.tar.bz2";
hash = "sha256-iGji4bl7ZofIAOf2EiYqMWu4V+3TmIN2jOYottJTN2s=";
};
nativeBuildInputs = [
intltool
makeWrapper
pkg-config
];
buildInputs = [
gtk2
libcddb
];
postInstall = ''
wrapProgram "$out/bin/asunder" \
--prefix PATH : "${lib.makeBinPath runtimeDeps}"
'';
meta = {
description = "Graphical Audio CD ripper and encoder for Linux";
mainProgram = "asunder";
homepage = "http://littlesvr.ca/asunder/index.php";
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ mudri ];
platforms = lib.platforms.linux;
longDescription = ''
Asunder is a graphical Audio CD ripper and encoder for Linux. You can use
it to save tracks from an Audio CD as any of WAV, MP3, OGG, FLAC, Opus,
WavPack, Musepack, AAC, and Monkey's Audio files.
'';
};
})

View File

@@ -0,0 +1,33 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
let
version = "1.0.0";
in
rustPlatform.buildRustPackage {
pname = "asus-wmi-screenpad-ctl";
inherit version;
src = fetchFromGitHub {
repo = "asus-wmi-screenpad-ctl";
owner = "aldenparker";
tag = "v${version}";
hash = "sha256-TV61Kh8A7PFJPRONqeCK1xEK2AHfiV/eoZOCL0SZ+5M=";
};
cargoHash = "sha256-ZluFoV9TclY6NOB5sHBN+1ht3zovmb4H+q7qT/Ywwmc=";
passthru.updateScript = nix-update-script { };
meta = {
description = "Brightness control program for the asus-wmi-screenpad kernel module";
mainProgram = "asus-wmi-screenpad-ctl";
homepage = "https://github.com/aldenparker/asus-wmi-screenpad-ctl";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aldenparker ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,108 @@
{
lib,
rustPlatform,
fetchFromGitLab,
systemd,
coreutils,
gnugrep,
pkg-config,
fontconfig,
libGL,
libinput,
libxkbcommon,
libgbm,
seatd,
wayland,
glibc,
udevCheckHook,
}:
rustPlatform.buildRustPackage rec {
pname = "asusctl";
version = "6.1.14";
src = fetchFromGitLab {
owner = "asus-linux";
repo = "asusctl";
tag = version;
hash = "sha256-TMfuqtMaXklAEQjSxeYToszZ6foL0b7PTEdpBrAeIxY=";
};
cargoHash = "sha256-rJuFdBvypwPFCOUQ+34xDHTKYhrgJPaHng54oybN2Tk=";
postPatch = ''
files="
asusd-user/src/config.rs
asusd-user/src/daemon.rs
asusd/src/aura_anime/config.rs
rog-aura/src/aura_detection.rs
rog-control-center/src/lib.rs
rog-control-center/src/main.rs
rog-control-center/src/tray.rs
"
for file in $files; do
substituteInPlace $file --replace-fail /usr/share $out/share
done
substituteInPlace data/asusd.rules --replace-fail /usr/bin/systemctl ${lib.getExe' systemd "systemctl"}
substituteInPlace data/asusd.service \
--replace-fail /usr/bin/asusd $out/bin/asusd \
--replace-fail /bin/sleep ${lib.getExe' coreutils "sleep"}
substituteInPlace data/asusd-user.service \
--replace-fail /usr/bin/asusd-user $out/bin/asusd-user \
--replace-fail /usr/bin/sleep ${lib.getExe' coreutils "sleep"}
substituteInPlace Makefile \
--replace-fail /usr/bin/grep ${lib.getExe gnugrep}
substituteInPlace /build/asusctl-${version}-vendor/sg-0.4.0/build.rs \
--replace-fail /usr/include ${lib.getDev glibc}/include
'';
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
udevCheckHook
];
buildInputs = [
fontconfig
libGL
libinput
libxkbcommon
libgbm
seatd
systemd
wayland
];
# force linking to all the dlopen()ed dependencies
RUSTFLAGS = map (a: "-C link-arg=${a}") [
"-Wl,--push-state,--no-as-needed"
"-lEGL"
"-lfontconfig"
"-lwayland-client"
"-Wl,--pop-state"
];
# upstream has minimal tests, so don't rebuild twice
doCheck = false;
doInstallCheck = true;
postInstall = ''
make prefix=$out install-data
patchelf $out/bin/rog-control-center \
--add-needed ${lib.getLib libxkbcommon}/lib/libxkbcommon.so.0
'';
meta = with lib; {
description = "Control daemon, CLI tools, and a collection of crates for interacting with ASUS ROG laptops";
homepage = "https://gitlab.com/asus-linux/asusctl";
license = licenses.mpl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [
k900
aacebedo
];
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
fetchFromGitHub,
jdk,
makeWrapper,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "async-profiler";
version = "4.1";
src = fetchFromGitHub {
owner = "jvm-profiling-tools";
repo = "async-profiler";
rev = "v${version}";
hash = "sha256-82aZK9y1Y5PaYtIG7FqnrbYU+bQ3nNzOCn+3lFzyeCA=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jdk ];
installPhase =
let
ext = stdenv.hostPlatform.extensions.sharedLibrary;
in
''
runHook preInstall
install -D build/bin/asprof "$out/bin/async-profiler"
install -D build/lib/libasyncProfiler${ext} "$out/lib/libasyncProfiler${ext}"
runHook postInstall
'';
fixupPhase = ''
wrapProgram $out/bin/async-profiler --prefix PATH : ${lib.makeBinPath [ jdk ]}
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Low overhead sampling profiler for Java that does not suffer from Safepoint bias problem";
homepage = "https://github.com/jvm-profiling-tools/async-profiler";
license = licenses.asl20;
maintainers = with maintainers; [ mschuwalow ];
platforms = platforms.all;
mainProgram = "async-profiler";
};
}