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,42 @@
{
autoreconfHook,
fetchFromGitHub,
lib,
stdenv,
testers,
unstableGitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "alac";
version = "0.0.7-unstable-2024-10-16";
outputs = [
"out"
"dev"
];
src = fetchFromGitHub {
owner = "mikebrady";
repo = "alac";
rev = "1832544d27d01335d823d639b176d1cae25ecfd4";
hash = "sha256-xRWDeqyJ/BEaSWVlDXgaKIKJuBwM8kJDIATVTVaMn2k=";
};
nativeBuildInputs = [
autoreconfHook
];
passthru = {
updateScript = unstableGitUpdater { };
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = {
description = "Apple Lossless Codec and Utility with Autotools";
homepage = "https://github.com/mikebrady/alac";
license = lib.licenses.asl20;
pkgConfigModules = [ "alac" ];
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ jopejoe1 ];
};
})

View File

@@ -0,0 +1,71 @@
{
lib,
fetchFromGitLab,
python3,
autoconf,
automake,
gettext,
pkg-config,
libxslt,
gobject-introspection,
wrapGAppsHook3,
gnome-menus,
glib,
gtk3,
docbook_xsl,
nix-update-script,
}:
python3.pkgs.buildPythonApplication rec {
pname = "alacarte";
version = "3.56.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "alacarte";
tag = version;
hash = "sha256-sH/2ULI1QEqmgFIFFnOwsx2/+TMt+bPu0l0LUcnBgWg=";
};
format = "other";
nativeBuildInputs = [
autoconf
automake
gettext
pkg-config
python3
libxslt
gobject-introspection
wrapGAppsHook3
];
buildInputs = [
gnome-menus
glib
gtk3
];
propagatedBuildInputs = with python3.pkgs; [ pygobject3 ];
configureScript = "./autogen.sh";
# Builder couldn't fetch the docbook.xsl from the internet directly,
# so we substitute it with the docbook.xsl in already in nixpkgs
preConfigure = ''
substituteInPlace man/Makefile.am \
--replace-fail "http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" "${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"
'';
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://gitlab.gnome.org/GNOME/alacarte";
changelog = "https://gitlab.gnome.org/GNOME/alacarte/-/blob/${version}/NEWS?ref_type=tags";
description = "Menu editor for GNOME using the freedesktop.org menu specification";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
mainProgram = "alacarte";
maintainers = with lib.maintainers; [ pluiedev ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
fetchFromGitHub,
unstableGitUpdater,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation (self: {
pname = "alacritty-theme";
version = "0-unstable-2025-08-18";
src = fetchFromGitHub {
owner = "alacritty";
repo = "alacritty-theme";
rev = "40e0c6c8690d1c62f58718fcef8a48eb6077740b";
hash = "sha256-guNbnnSyENom6SkwN2Zjn3I1KnV5F3hbvYS1ns4q4uE=";
sparseCheckout = [ "themes" ];
};
dontConfigure = true;
dontBuild = true;
preferLocalBuild = true;
sourceRoot = "${self.src.name}/themes";
installPhase = ''
runHook preInstall
install -Dt $out/share/alacritty-theme *.toml
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater {
hardcodeZeroVersion = true;
};
meta = with lib; {
description = "Collection of Alacritty color schemes";
homepage = "https://alacritty.org/";
license = licenses.asl20;
maintainers = [ maintainers.nicoo ];
platforms = platforms.all;
};
})

View File

@@ -0,0 +1,157 @@
{
stdenv,
lib,
fetchFromGitHub,
rustPlatform,
nixosTests,
cmake,
installShellFiles,
makeWrapper,
ncurses,
pkg-config,
python3,
scdoc,
expat,
fontconfig,
freetype,
libGL,
xorg,
libxkbcommon,
wayland,
xdg-utils,
nix-update-script,
withGraphics ? false,
}:
let
rpathLibs = [
expat
fontconfig
freetype
]
++ lib.optionals stdenv.hostPlatform.isLinux [
libGL
xorg.libX11
xorg.libXcursor
xorg.libXi
xorg.libXxf86vm
xorg.libxcb
libxkbcommon
wayland
];
in
rustPlatform.buildRustPackage rec {
pname = "alacritty";
version = "0.15.1" + lib.optionalString withGraphics "-graphics";
src =
# by default we want the official package
if !withGraphics then
fetchFromGitHub {
owner = "alacritty";
repo = "alacritty";
tag = "v${version}";
hash = "sha256-/yERMNfCFLPb1S17Y9OacVH8UobDIIZDhM2qPzf5Vds=";
}
# optionally we want to build the sixels feature fork
else
fetchFromGitHub {
owner = "ayosec";
repo = "alacritty";
tag = "v${version}";
hash = "sha256-n8vO6Q4bzWLaOqg8YhZ+aLOtBBTQ9plKIEJHXq+hhnM=";
};
cargoHash =
if !withGraphics then
"sha256-uXwefUV1NAKqwwPIWj4Slkx0c5b+RfLR3caTb42fc4M="
else
"sha256-UtxZFqU974N+YcHoEHifBjNSyaVuMvuc1clTDgUPuoQ=";
nativeBuildInputs = [
cmake
installShellFiles
makeWrapper
ncurses
pkg-config
python3
scdoc
];
buildInputs = rpathLibs;
outputs = [
"out"
"terminfo"
];
postPatch = lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace alacritty/src/config/ui_config.rs \
--replace xdg-open ${xdg-utils}/bin/xdg-open
'';
checkFlags = [ "--skip=term::test::mock_term" ]; # broken on aarch64
postInstall =
(
if stdenv.hostPlatform.isDarwin then
''
mkdir $out/Applications
cp -r extra/osx/Alacritty.app $out/Applications
ln -s $out/bin $out/Applications/Alacritty.app/Contents/MacOS
''
else
''
install -D extra/linux/Alacritty.desktop -t $out/share/applications/
install -D extra/linux/org.alacritty.Alacritty.appdata.xml -t $out/share/appdata/
install -D extra/logo/compat/alacritty-term.svg $out/share/icons/hicolor/scalable/apps/Alacritty.svg
# patchelf generates an ELF that binutils' "strip" doesn't like:
# strip: not enough room for program headers, try linking with -N
# As a workaround, strip manually before running patchelf.
$STRIP -S $out/bin/alacritty
patchelf --add-rpath "${lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
''
)
+ ''
installShellCompletion --zsh extra/completions/_alacritty
installShellCompletion --bash extra/completions/alacritty.bash
installShellCompletion --fish extra/completions/alacritty.fish
install -dm 755 "$out/share/man/man1"
install -dm 755 "$out/share/man/man5"
scdoc < extra/man/alacritty.1.scd | gzip -c > $out/share/man/man1/alacritty.1.gz
scdoc < extra/man/alacritty-msg.1.scd | gzip -c > $out/share/man/man1/alacritty-msg.1.gz
scdoc < extra/man/alacritty.5.scd | gzip -c > $out/share/man/man5/alacritty.5.gz
scdoc < extra/man/alacritty-bindings.5.scd | gzip -c > $out/share/man/man5/alacritty-bindings.5.gz
install -dm 755 "$terminfo/share/terminfo/a/"
tic -xe alacritty,alacritty-direct -o "$terminfo/share/terminfo" extra/alacritty.info
mkdir -p $out/nix-support
echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
'';
dontPatchELF = true;
passthru = {
tests.test = nixosTests.terminal-emulators.alacritty;
updateScript = nix-update-script { };
};
meta = {
description = "Cross-platform, GPU-accelerated terminal emulator";
homepage = "https://github.com/alacritty/alacritty";
license = lib.licenses.asl20;
mainProgram = "alacritty";
maintainers = with lib.maintainers; [
Br1ght0ne
rvdp
];
platforms = lib.platforms.unix;
changelog = "https://github.com/alacritty/alacritty/blob/v${version}/CHANGELOG.md";
};
}

View File

@@ -0,0 +1,60 @@
{
stdenv,
lib,
fetchFromGitHub,
cgreen,
openjdk,
pkg-config,
which,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "alan";
version = "3.0beta8";
src = fetchFromGitHub {
owner = "alan-if";
repo = "alan";
tag = "v${finalAttrs.version}";
sha256 = "sha256-9F99rr7tdkaGPHtD92ecmUxO6xrjQDRhGtSTVbMLz30=";
};
postPatch = ''
patchShebangs --build bin
# The Makefiles have complex CFLAGS that don't allow separate control of optimization
sed -i 's/-O0/-O2/g' compiler/Makefile.common
sed -i 's/-Og/-O2/g' interpreter/Makefile.common
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/alan/examples
# Build the release tarball
make package
# The release tarball isn't split up into subdirectories
tar -xf alan*.tgz --strip-components=1 -C $out/share/alan
mv $out/share/alan/*.alan $out/share/alan/examples
chmod a-x $out/share/alan/examples/*.alan
mv $out/share/alan/{alan,arun} $out/bin
# a2a3 isn't included in the release tarball
cp bin/a2a3 $out/bin
runHook postInstall
'';
nativeBuildInputs = [
cgreen
openjdk
pkg-config
which
];
meta = {
homepage = "https://www.alanif.se/";
description = "Alan interactive fiction language";
license = lib.licenses.artistic2;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ neilmayhew ];
};
})

View File

@@ -0,0 +1,48 @@
{
stdenv,
lib,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "alan2";
version = "2.8.7";
src = fetchFromGitHub {
owner = "alan-if";
repo = "alan";
rev = "71f23ec79f7f5d66aa5ae9fd3f9b8dae41a89f15";
hash = "sha256-lqrMnfANgQtXTAmzxzHaJMAyqHNOdrerjtrs8LGd0hg=";
};
makefile = "Makefile.unix";
env.NIX_CFLAGS_COMPILE = toString [
# Add a workaround for -fno-common toolchains like upstream gcc-10.
# alan-3 is already fixed, but the backport is nontrivial.
"-fcommon"
# smScSema.c:142:11: error: assignment to 'unsigned char *' from incompatible pointer type 'unsigned char **' [-Wincompatible-pointer-types]
"-Wno-error=incompatible-pointer-types"
# smScSema.c:183:10: error: implicit declaration of function 'read'; did you mean 'fread'? [-Wimplicit-function-declaration]
"-Wno-error=implicit-function-declaration"
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/alan2
cp compiler/alan $out/bin/alan2
cp interpreter/arun $out/bin/arun2
cp alan.readme ChangeLog $out/share/alan2
runHook postInstall
'';
meta = {
homepage = "https://www.alanif.se/";
description = "Alan interactive fiction language (legacy version)";
license = lib.licenses.artistic2;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ neilmayhew ];
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
pkg-config,
wrapGAppsHook3,
gst_all_1,
libnotify,
libayatana-appindicator,
}:
stdenv.mkDerivation rec {
pname = "alarm-clock-applet";
version = "0.4.1";
src = fetchFromGitHub {
owner = pname;
repo = "alarm-clock";
tag = version;
hash = "sha256-10hkWWEsAUJnGeu35bR5d0RFKd9CKDZI7WGMzmEM3rI=";
};
patches = [
(fetchpatch {
url = "https://github.com/alarm-clock-applet/alarm-clock/commit/6a11003099660dfae0e3d5800f49880d3a26f5ec.patch";
hash = "sha256-NP1PlEw5AFWZgywvppIs2e+5EfMSPbU4Pq2tIfwODrQ=";
})
(fetchpatch {
url = "https://github.com/alarm-clock-applet/alarm-clock/commit/cbcf22fac5b45ab251ade2e7e993f422f33f926e.patch";
hash = "sha256-xKaaNfXsv9Ckwy73r1n93kOWIZ01fU5GDqYSQCch1Kc=";
})
];
nativeBuildInputs = [
cmake
pkg-config
wrapGAppsHook3
];
buildInputs = [
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
libnotify
libayatana-appindicator
];
cmakeFlags = [
# gconf is already deprecated
"-DENABLE_GCONF_MIGRATION=OFF"
];
meta = with lib; {
description = "Fully-featured alarm clock with an indicator";
homepage = "https://alarm-clock-applet.github.io";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ aleksana ];
platforms = platforms.linux;
mainProgram = "alarm-clock-applet";
};
}

View File

@@ -0,0 +1,31 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "Albatross";
version = "1.7.4";
src = fetchFromGitHub {
repo = "Albatross";
owner = "shimmerproject";
tag = "v${version}";
sha256 = "0mq87n2hxy44nzr567av24n5nqjaljhi1afxrn3mpjqdbkq7lx88";
};
dontBuild = true;
installPhase = ''
install -dm 755 $out/share/themes/Albatross
cp -dr --no-preserve='ownership' {LICENSE.GPL,README,index.theme,gtk-2.0,gtk-3.0,metacity-1,xfwm4} $out/share/themes/Albatross/
'';
meta = {
description = "Desktop Suite for Xfce";
homepage = "https://github.com/shimmerproject/Albatross";
license = lib.licenses.gpl2;
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "albedo";
version = "0.2.0";
src = fetchFromGitHub {
owner = "coreruleset";
repo = "albedo";
tag = "v${version}";
hash = "sha256-4ZQTOix5bCn4EmrabiG4L74F2++cQhIbvtgNKBW7aDk=";
};
vendorHash = "sha256-qZga699UjBsPmOUSN66BFInl8Bmk42HiVn0MfPlxRE4=";
ldflags = [
"-s"
"-w"
];
meta = {
description = "HTTP reflector and black hole";
homepage = "https://github.com/coreruleset/albedo";
changelog = "https://github.com/coreruleset/albedo/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "albedo";
};
}

View File

@@ -0,0 +1,89 @@
{
lib,
stdenv,
fetchFromGitHub,
kdePackages,
qt6,
cmake,
libqalculate,
muparser,
libarchive,
python3Packages,
nix-update-script,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "albert";
version = "0.32.1";
src = fetchFromGitHub {
owner = "albertlauncher";
repo = "albert";
tag = "v${finalAttrs.version}";
hash = "sha256-v2SMY0KGFwwybsiMu1W1wBWdyoDEFF3hWd4LeaT8Nts=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
qt6.wrapQtAppsHook
];
buildInputs = [
kdePackages.qtkeychain
libqalculate
libarchive
muparser
]
++ (with qt6; [
qt5compat
qtbase
qtdeclarative
qtscxml
qtsvg
qttools
qtwayland
])
++ (with python3Packages; [
python
pybind11
]);
postPatch = ''
find -type f -name CMakeLists.txt -exec sed -i {} -e '/INSTALL_RPATH/d' \;
substituteInPlace src/app/qtpluginprovider.cpp \
--replace-fail "QStringList install_paths;" "QStringList install_paths;${"\n"}install_paths << QFileInfo(\"$out/lib\").canonicalFilePath();"
'';
postFixup = ''
for i in $out/{bin/.albert-wrapped,lib/albert/plugins/*.so}; do
patchelf $i --add-rpath $out/lib/albert
done
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Fast and flexible keyboard launcher";
longDescription = ''
Albert is a desktop agnostic launcher. Its goals are usability and beauty,
performance and extensibility. It is written in C++ and based on the Qt
framework.
'';
homepage = "https://albertlauncher.github.io";
changelog = "https://github.com/albertlauncher/albert/blob/${finalAttrs.src.rev}/CHANGELOG.md";
# See: https://github.com/NixOS/nixpkgs/issues/279226
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
synthetica
eljamm
];
mainProgram = "albert";
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
buildGoModule,
fetchFromGitHub,
ldkNode,
}:
buildGoModule {
pname = "ldk-node-go";
version = "0-unstable-2025-09-03";
src = fetchFromGitHub {
owner = "getAlby";
repo = "ldk-node-go";
rev = "91db97badfc261f8c680cf64124914ef97d08d0d";
hash = "sha256-7HbwMDLi1vRWMbUzx1bHyq/r+BwEejbz7SM1j/5SdmE=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
];
buildInputs = [
ldkNode
];
propagatedBuildInputs = [ ldkNode ];
meta = {
description = "Experimental Go bindings for LDK-node";
homepage = "https://github.com/getAlby/ldk-node-go";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bleetube ];
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
rustPlatform,
fetchFromGitHub,
cmake,
llvmPackages,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ldk-node";
version = "0-unstable-2025-09-03";
src = fetchFromGitHub {
owner = "getAlby";
repo = "ldk-node";
rev = "75825474e5a551bb5ae5d1cf62cc434a26c30259";
hash = "sha256-8LhR2Ep7y+zXTKKwVdqmAqedq1FoTfdL3GyhCruHnz8=";
};
buildFeatures = [ "uniffi" ];
cargoHash = "sha256-VLQohnbuEdnu2E+BXe2mDKFUnDVlSY09rIIvHMIQ+Hg=";
# Skip tests because they download bitcoin-core and electrs zip files, and then fail
doCheck = false;
nativeBuildInputs = [
cmake
llvmPackages.clang
rustPlatform.bindgenHook
];
# Add CFLAGS to suppress the stringop-overflow error during aws-lc-sys compilation.
NIX_CFLAGS_COMPILE = "-Wno-error=stringop-overflow";
meta = {
description = "Embeds the LDK node implementation compiled as shared library objects";
homepage = "https://github.com/getAlby/ldk-node";
changelog = "https://github.com/getAlby/ldk-node/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = with lib.licenses; [
asl20
mit
];
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bleetube ];
};
})

View File

@@ -0,0 +1,99 @@
{
lib,
buildGoModule,
fetchFromGitHub,
fetchYarnDeps,
fixup-yarn-lock,
nodejs,
pkgs,
yarn,
stdenv,
makeWrapper,
callPackage,
go,
}:
let
ldkNode = callPackage ./ldk-node { };
ldkNodeGo = callPackage ./ldk-node-go {
inherit ldkNode;
};
in
buildGoModule (finalAttrs: {
pname = "albyhub";
version = "1.20.0";
src = fetchFromGitHub {
owner = "getAlby";
repo = "hub";
tag = "v${finalAttrs.version}";
hash = "sha256-MbEKRdPyLlZE23UbwwWO1tSFhXG0Hs/m0NaHo9d4pD8=";
};
vendorHash = "sha256-oTyMR/Nc2CngKB2f0tAqrms6E1tsqymBr1x4OhNyK/Q=";
proxyVendor = true; # needed for secp256k1-zkp CGO bindings
nativeBuildInputs = [
fixup-yarn-lock
nodejs
yarn
makeWrapper
];
buildInputs = [
ldkNodeGo
(lib.getLib stdenv.cc.cc)
];
frontendYarnOfflineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/frontend/yarn.lock";
hash = "sha256-fCzrNdiZTOY/fnakwheDNny9ip1Mg/gGX7+Z2N4w6lw=";
};
preBuild = ''
export HOME=$TMPDIR
pushd frontend
fixup-yarn-lock yarn.lock
yarn config set yarn-offline-mirror "${finalAttrs.frontendYarnOfflineCache}"
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules
yarn --offline build:http
popd
'';
subPackages = [
"cmd/http"
];
ldflags = [
"-X github.com/getAlby/hub/version.Tag=v${finalAttrs.version}"
"-s"
"-w"
];
postInstall = ''
mv $out/bin/http $out/bin/albyhub
'';
preFixup = ''
patchelf --set-rpath ${
lib.makeLibraryPath [
ldkNode
ldkNodeGo
(lib.getLib stdenv.cc.cc)
]
} $out/bin/albyhub
'';
meta = {
description = "Control lightning wallets over nostr";
homepage = "https://github.com/getAlby/hub";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ bleetube ];
mainProgram = "albyhub";
};
})
# nixpkgs-update: no auto update

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchurl,
jre,
runtimeShell,
}:
stdenv.mkDerivation rec {
pname = "alchemy";
version = "008";
enableParallelBuilding = true;
src = fetchurl {
url = "http://al.chemy.org/files/Alchemy-${version}.tar.gz";
sha256 = "0449bvdccgx1jqnws1bckzs4nv2d230523qs0jx015gi81s1q7li";
};
installPhase = ''
mkdir -p $out/bin $out/share
cp -a . $out/share/alchemy
cat >> $out/bin/alchemy << EOF
#!${runtimeShell}
cd $out/share/alchemy
${jre}/bin/java -jar Alchemy.jar "$@"
EOF
chmod +x $out/bin/alchemy
'';
meta = with lib; {
description = "Drawing application";
longDescription = ''
Alchemy is an open drawing project aimed at exploring how we can sketch,
draw, and create on computers in new ways. Alchemy isnt software for
creating finished artwork, but rather a sketching environment that
focuses on the absolute initial stage of the creation process.
Experimental in nature, Alchemy lets you brainstorm visually to explore
an expanded range of ideas and possibilities in a serendipitous way.
'';
homepage = "http://al.chemy.org/";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.gpl3Plus;
maintainers = [ maintainers.marcweber ];
platforms = platforms.linux;
mainProgram = "alchemy";
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/vrc-get-gui/Tauri.toml b/vrc-get-gui/Tauri.toml
index cd180da8..66a81aa9 100644
--- a/vrc-get-gui/Tauri.toml
+++ b/vrc-get-gui/Tauri.toml
@@ -34,8 +34,6 @@ icon = [
resources = []
publisher = "anatawa12"
-createUpdaterArtifacts = "v1Compatible" # remove if ci # we do not generate updater artifacts in CI
-
[[bundle.fileAssociations]]
# note: for macOS we directory use info.plist for registering file association.
description = "ALCOM Project Template"

View File

@@ -0,0 +1,76 @@
{
cargo-about,
cargo-tauri,
fetchFromGitHub,
fetchNpmDeps,
glib-networking,
lib,
libsoup_3,
makeBinaryWrapper,
nodejs,
npmHooks,
openssl,
pkg-config,
rustPlatform,
stdenv,
wrapGAppsHook4,
webkitgtk_4_1,
}:
let
pname = "alcom";
version = "1.1.4";
src = fetchFromGitHub {
owner = "vrc-get";
repo = "vrc-get";
tag = "gui-v${version}";
hash = "sha256-pGWDMQIS2WgtnqRoOXRZrc25kJ5c6TY6UE2aZtpxN/s=";
};
subdir = "vrc-get-gui";
in
rustPlatform.buildRustPackage {
inherit pname version src;
patches = [
./disable-updater-artifacts.patch
];
nativeBuildInputs = [
cargo-about
cargo-tauri.hook
nodejs
npmHooks.npmConfigHook
wrapGAppsHook4
pkg-config
];
buildInputs = [
openssl
]
++ lib.optionals stdenv.hostPlatform.isLinux [
glib-networking
libsoup_3
makeBinaryWrapper
webkitgtk_4_1
];
cargoHash = "sha256-JuZHfpOYuLNdb03srECx73GK5ajgL6bHlbKbiuMN2NE=";
buildAndTestSubdir = subdir;
npmDeps = fetchNpmDeps {
inherit src;
sourceRoot = "${src.name}/${subdir}";
hash = "sha256-snXOfAtanLPhQNo0mg/r8UUXJua2X+52t7+7QS1vOkI=";
};
npmRoot = subdir;
meta = {
description = "Experimental GUI application to manage VRChat Unity Projects";
homepage = "https://github.com/vrc-get/vrc-get";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ Scrumplex ];
broken = stdenv.hostPlatform.isDarwin;
mainProgram = "ALCOM";
};
}

269
pkgs/by-name/al/alda/deps.json generated Normal file
View File

@@ -0,0 +1,269 @@
{
"!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.",
"!version": 1,
"https://plugins.gradle.org/m2": {
"net/java/dev/jna#jna/5.6.0": {
"jar": "sha256-VVfiNaiqL5dm1dxgnWeUjyqIMsLXls6p7x1svgs7fq8=",
"pom": "sha256-X+gbAlWXjyRhbTexBgi3lJil8wc+HZsgONhzaoMfJgg="
},
"org/jetbrains/intellij/deps#trove4j/1.0.20200330": {
"jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=",
"pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k="
},
"org/jetbrains/kotlin#kotlin-android-extensions/1.7.21": {
"jar": "sha256-JVeliP7QxmbRVq1uDfXjFOqz1p5m6aJyJ5uaRiQ0xq8=",
"pom": "sha256-8pic3UN0A8hyZc/K8GHSFOaGlVyX40ntFWa6FqouDI0="
},
"org/jetbrains/kotlin#kotlin-annotation-processing-gradle/1.7.21": {
"jar": "sha256-RhyKdFvNVeRyXykBIVnUdOEor/G4KlPR80UkYFK5cwk=",
"pom": "sha256-r2JZxfjfTezw8FXmZcTLaP8TtK9c1HfuHTO/7gAaFr4="
},
"org/jetbrains/kotlin#kotlin-build-common/1.7.21": {
"jar": "sha256-Y3O9HhUPfcsnL1KvvBWZBkCSqddbKM7WvroA/qy6u/8=",
"pom": "sha256-msmBVHbIUfFKH3QeG46CJRxyepVGgMdXT4owUn2z718="
},
"org/jetbrains/kotlin#kotlin-compiler-embeddable/1.7.21": {
"jar": "sha256-Ty5JK8x5XgaA4/h67qGtrp8wbK9SBAuUpvoPiP2skvk=",
"pom": "sha256-CwIzMip2MO/eEzUmjkYSPw1tNjg5gg/TfE7Lbv+njjs="
},
"org/jetbrains/kotlin#kotlin-compiler-runner/1.7.21": {
"jar": "sha256-LdVae/7udr97ASbFtx0FuJmBK6a0Cjc1n50T+uIC8yc=",
"pom": "sha256-+JDieVykDuyu+jpdjkOND3C7YCo5SUe7rOp2Quqy+Tw="
},
"org/jetbrains/kotlin#kotlin-daemon-client/1.7.21": {
"jar": "sha256-tyPlHq8syE/a+sqHJnk/7I1SFyUNiAv0eDA/JE3UGoU=",
"pom": "sha256-Be4Gj7v3IvWRSlqiWO6KKLZChF9B1/+bVGhtXKJbvxk="
},
"org/jetbrains/kotlin#kotlin-daemon-embeddable/1.7.21": {
"jar": "sha256-A+bwJUNSJIlOSe5e2EfLCwtKh540z6uQ1wzakmKnV00=",
"pom": "sha256-vB3pwgh7ouTlQQF6i66PQF7IAKGK5MJH6R8rVedh5kk="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.7.21": {
"jar": "sha256-rflytT2LY7s2jZA88y6bB+pTZW6PnaXxDfuv03gxviE=",
"module": "sha256-zGXnGhweng0JaG9cpJGORShIY1q7VCl15HwYlnw6A10=",
"pom": "sha256-89unBFqYcdah5QnkF+tjQa3bmHFaL409ZnJlAdq0s0Y="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.7.21/gradle71": {
"jar": "sha256-rflytT2LY7s2jZA88y6bB+pTZW6PnaXxDfuv03gxviE="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/1.7.21": {
"jar": "sha256-NZhwZybLzo0oE05oiZw9WAv3LH6/kJcUHY28rtgnmHg=",
"pom": "sha256-PRwDYK9odF8qAyoMAYR//Pnriq1wa/ZZydhAoYTsXyM="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-idea/1.7.21": {
"jar": "sha256-C1dqyzeBqctWEKphxbev3zKQ/C2digzUv+FTe4dcReY=",
"module": "sha256-ygHy2JJMcpaXMax+oVbwi7GP60LDEAClIj2dwW1ZuTg=",
"pom": "sha256-Flz/idoRsXIpiJPHg0sNQadm1/PdIPoIvfiJxlXD5zc="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin-model/1.7.21": {
"jar": "sha256-FNP/F7o8tMi+uK3297QFB4gTS4kbsTyr5yPIwQ0dDhg=",
"module": "sha256-kCJoZCp1guVF4xgQnjdIw3WxOLCKFVuBX2yAi7vuR7U=",
"pom": "sha256-y2vKOdHhBWBXcMCj3ubUXw58XtPFNGiZ9ycQsf//HaY="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin/1.7.21": {
"module": "sha256-j6I2KYtJBynes0XjG8ZPKSj3wbXxwjH8ZtvINlnBZ+E=",
"pom": "sha256-0gTXpKcf6Scv44M9x0IAkan/EJaky6JfcnihlUI1BGk="
},
"org/jetbrains/kotlin#kotlin-gradle-plugin/1.7.21/gradle71": {
"jar": "sha256-P12cqfSxiGOZjcVpNIk9m1ICRRzucJ+uuXbI+rI2cyI="
},
"org/jetbrains/kotlin#kotlin-klib-commonizer-api/1.7.21": {
"jar": "sha256-MOGWrbAAH9F7ZgNe2QcNPw5Hui0ycTt1wwPGt7e3FeI=",
"pom": "sha256-so6g3vy5lNH7U6e7olh9J0DG0mAXk2UglP1ox0Ul0CA="
},
"org/jetbrains/kotlin#kotlin-native-utils/1.7.21": {
"jar": "sha256-k1KYF/2Nj9hlItZqqtyr0UKhcueMz+uUnNKJ40xw+Qs=",
"pom": "sha256-CEYFdUhagoAZC0g8H3fyCk063IegIXTzDuxVdNm65FY="
},
"org/jetbrains/kotlin#kotlin-project-model/1.7.21": {
"jar": "sha256-4htTvrj3SxM6Y4mClPSlfcSiKJvoVfZrD5rosVYjFT8=",
"pom": "sha256-JQfT7SKoHyssNSxMUOY1MivHEQClFQJN0NtQRifJ8Bs="
},
"org/jetbrains/kotlin#kotlin-scripting-common/1.7.21": {
"jar": "sha256-0ZLMLNlDFecijrkTZqNpdmpoIrPOvKwUwR1MSXM2y6Q=",
"pom": "sha256-2xzYRWGPDLQXOK3H72jZ+NIjZ1sFg+NbsMCEA30AWe4="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.7.21": {
"jar": "sha256-qu9jHwICEl2ZHZgjRxn4ZK1anW40m/DtRGsTd9gXGKE=",
"pom": "sha256-xHXL2+0BepcMD9y46qu1UNc9E6T+a4e3efxM9S148JM="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.7.21": {
"jar": "sha256-ZOK9uuvzgJSzwh5nCX5Qe4NoTaQTi6h6CwmhMgOXVCg=",
"pom": "sha256-5c0+HEj+qhC1YVqidOFh5/dcFijcJhZ1ALZ0b4gfweM="
},
"org/jetbrains/kotlin#kotlin-scripting-jvm/1.7.21": {
"jar": "sha256-Uz441a1oFCoFE0HyK8cO113IUGSxk3rPBRN1XMPwSF4=",
"pom": "sha256-cnwtOnluoiOWPu7P7kHvKygsVbZ+V8O0mgFwpMSbfGE="
},
"org/jetbrains/kotlin#kotlin-tooling-core/1.7.21": {
"jar": "sha256-N5fxg1NC+8EuycHU+YMyugKCkaMyUakHySJ9j9lK7kg=",
"pom": "sha256-tw2g1Eorhw7Lz85ZcMMOOOLs3htfQqHdRC0TA5gSKUY="
},
"org/jetbrains/kotlin#kotlin-util-io/1.7.21": {
"jar": "sha256-7MKI4AQqAUdgOeILbOXgaRj+8fic+J9V39KO8Xwm800=",
"pom": "sha256-ziTM1kPWW+8Cey9uINCnkhdq29ug2eVVmS5CR6Y3Ne8="
},
"org/jetbrains/kotlin#kotlin-util-klib/1.7.21": {
"jar": "sha256-UgkkU0RkIN+7h4BN6s6yGfVI53fm3xK35wRKOmaHEgs=",
"pom": "sha256-D8d7J3Rc+kzuX+AA5tEpmtSUT3rMB4A7u8ws0rAT3oU="
},
"org/jetbrains/kotlin/jvm#org.jetbrains.kotlin.jvm.gradle.plugin/1.7.21": {
"pom": "sha256-18S+c5nTziimR77ivh3nCwUdpLqoz9X4KYNDJ2UKD30="
},
"org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.5.0": {
"jar": "sha256-eNbMcTX4TWkv83Uvz9H6G74JQNffcGUuTx6u7Ax4r7s=",
"module": "sha256-yIXdAoEHbFhDgm3jF+PLzcPYhZ2+71OuHPrNG5xg+W4=",
"pom": "sha256-U2IuA3eN+EQPwBIgGjW7S9/kAWTv7GErvvze7LL/wqs="
}
},
"https://repo.maven.apache.org/maven2": {
"com/beust#klaxon/5.5": {
"jar": "sha256-f3Dsuhzc49DOpclOquGebQxaghgbbCTT3YCKNBnoNmM=",
"module": "sha256-cTrnhsjIf450jQbQoAExvIoDm8D8CiW/hPlV7VfMVsk=",
"pom": "sha256-teJXipFEa32OdDdaMvcHE4Txk2PIgVVKeC+oi9rc4G0="
},
"com/github/ajalt#clikt/2.4.0": {
"jar": "sha256-y21C07flGUor7O60y2LyYbteF0ZO/UEoWCOx0CaX5NM=",
"pom": "sha256-NzDHKP9dkuJfCDJCAtZtUrjqo6pxK15lz2pk+7LQWu0="
},
"com/illposed/osc#javaosc-core/0.8": {
"jar": "sha256-7PP/me8hI4cOUWtC4ey+JDiTHqgPOpAFWB3j4JxPEa0=",
"pom": "sha256-mNnI2Dr2I8tkc2WpiY8o6+l8xE7IvEuSu2RnxbN3iig="
},
"com/illposed/osc#javaosc-parent/0.8": {
"pom": "sha256-nEUgmNlVT1AifJfkGt0/t6mvSSUGgHK/3YywUtl8x3U="
},
"io/github/microutils#kotlin-logging/1.7.7": {
"jar": "sha256-1wWAiO9qS6YuCdp5Z3L4Au0bTKiEngcfUaE8BnJ7yNU=",
"pom": "sha256-S5CFtHXe6jjnDkQOqtKXvd64cOe72bSs83Lh6XpufwQ="
},
"io/github/soc#directories/11": {
"jar": "sha256-77POMLMv/9qN5mZtpIYCIHOS9+OWbgwuXK92LV8xtNA=",
"pom": "sha256-9TrWtmVBXtGq6uEj/Et/1aAjlJ6YYA3ebUBPJoY41L0="
},
"junit#junit/4.13.2": {
"jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=",
"pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ="
},
"net/java/dev/jna#jna/5.6.0": {
"jar": "sha256-VVfiNaiqL5dm1dxgnWeUjyqIMsLXls6p7x1svgs7fq8=",
"pom": "sha256-X+gbAlWXjyRhbTexBgi3lJil8wc+HZsgONhzaoMfJgg="
},
"org/apache#apache/23": {
"pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw="
},
"org/apache/logging#logging-parent/3": {
"pom": "sha256-djouwrgJTUFh3rbCZLEmIIW5vjC/OjHCzhNyQuV3Iqc="
},
"org/apache/logging/log4j#log4j-api/2.17.0": {
"jar": "sha256-q5ytyA4jRYDj88jBhkQxT8zUs80/cIXU6TSGbLVhuV0=",
"pom": "sha256-ZCLZr1mssAd+ipHHw0pAYv9WqXMcNINqckJwhOJ6pHk="
},
"org/apache/logging/log4j#log4j-core/2.17.0": {
"jar": "sha256-ZcM9ybJKXl9srK5iaAZBWCiUdJx78WyVEDLvkvPhKmA=",
"pom": "sha256-WUQnTrlVkKznwmIB2XJbSrHHZU0pU658wm1z/95AaL4="
},
"org/apache/logging/log4j#log4j-slf4j-impl/2.17.0": {
"jar": "sha256-+t6tPpnGeG2PtMLM94EEx+xinUfNsKDxT0gmOWHxfiw=",
"pom": "sha256-2425FiIV2tNpmqWxkBLh4lcivt+S3nhYvY7R/+kGRak="
},
"org/apache/logging/log4j#log4j/2.17.0": {
"pom": "sha256-hwRgb663edbSkE8CymFuC5gf44nZ/puJ7ISh5CrugdI="
},
"org/hamcrest#hamcrest-core/1.3": {
"jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=",
"pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM="
},
"org/hamcrest#hamcrest-parent/1.3": {
"pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps="
},
"org/jetbrains#annotations/13.0": {
"jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=",
"pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c="
},
"org/jetbrains/intellij/deps#trove4j/1.0.20200330": {
"jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=",
"pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k="
},
"org/jetbrains/kotlin#kotlin-compiler-embeddable/1.7.21": {
"jar": "sha256-Ty5JK8x5XgaA4/h67qGtrp8wbK9SBAuUpvoPiP2skvk=",
"pom": "sha256-CwIzMip2MO/eEzUmjkYSPw1tNjg5gg/TfE7Lbv+njjs="
},
"org/jetbrains/kotlin#kotlin-daemon-embeddable/1.7.21": {
"jar": "sha256-A+bwJUNSJIlOSe5e2EfLCwtKh540z6uQ1wzakmKnV00=",
"pom": "sha256-vB3pwgh7ouTlQQF6i66PQF7IAKGK5MJH6R8rVedh5kk="
},
"org/jetbrains/kotlin#kotlin-klib-commonizer-embeddable/1.7.21": {
"jar": "sha256-nTpktCC+2+20HV5tsJ28h2FKffCBR5PACQqDYJBp+1Y=",
"pom": "sha256-bOmRoyzYOdq3wbf88+1xbr6XgbRgg3ViDC9fH8RwjrA="
},
"org/jetbrains/kotlin#kotlin-reflect/1.7.21": {
"jar": "sha256-wbF65MSTF+7Sb3ecM8lpBEbFZp6zx+Jsibbg1s8sogQ=",
"pom": "sha256-Xn69/iAG9vHksPORwbqBhTmKj2NF2xpStYTx40Cz8EM="
},
"org/jetbrains/kotlin#kotlin-script-runtime/1.7.21": {
"jar": "sha256-LEmLbZiWTK3dS1hLe0mPmxCPaf8akVOrxlt02uQJJ/Y=",
"pom": "sha256-LuSdd/3Dw6l0akiYCbfGQ3fh2NnEXCDZI+MXI5sicwQ="
},
"org/jetbrains/kotlin#kotlin-scripting-common/1.7.21": {
"jar": "sha256-0ZLMLNlDFecijrkTZqNpdmpoIrPOvKwUwR1MSXM2y6Q=",
"pom": "sha256-2xzYRWGPDLQXOK3H72jZ+NIjZ1sFg+NbsMCEA30AWe4="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.7.21": {
"jar": "sha256-qu9jHwICEl2ZHZgjRxn4ZK1anW40m/DtRGsTd9gXGKE=",
"pom": "sha256-xHXL2+0BepcMD9y46qu1UNc9E6T+a4e3efxM9S148JM="
},
"org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.7.21": {
"jar": "sha256-ZOK9uuvzgJSzwh5nCX5Qe4NoTaQTi6h6CwmhMgOXVCg=",
"pom": "sha256-5c0+HEj+qhC1YVqidOFh5/dcFijcJhZ1ALZ0b4gfweM="
},
"org/jetbrains/kotlin#kotlin-scripting-jvm/1.7.21": {
"jar": "sha256-Uz441a1oFCoFE0HyK8cO113IUGSxk3rPBRN1XMPwSF4=",
"pom": "sha256-cnwtOnluoiOWPu7P7kHvKygsVbZ+V8O0mgFwpMSbfGE="
},
"org/jetbrains/kotlin#kotlin-stdlib-common/1.3.50": {
"pom": "sha256-tjlv6ALXvHajgUheJmy5dfOy8tPdm/chOqtsonpWH8E="
},
"org/jetbrains/kotlin#kotlin-stdlib-common/1.7.21": {
"jar": "sha256-5iv+yiNhA6EBciS4oiqEHbXcTbSdgKOb1E27IkaEpmo=",
"pom": "sha256-LuberkeOGLGvushzHFvxoUe1dWiT1Z7b+nEWBcNDX4Q="
},
"org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.7.21": {
"jar": "sha256-uMqg+XFaIYf0+pmQba5Xy6EM7vmn+Ajb7o6vNjWVWKU=",
"pom": "sha256-vy6yU9onofKT0RRpMpRBeF26xRceWB8v7Z1aKm2YaZw="
},
"org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.7.21": {
"jar": "sha256-sy5K5+uwVycz/kOThb8DT1+u6LbFhdQW/s+TPpSR044=",
"pom": "sha256-bzuTQ8QS1q5ApMePuKcJhklkUKlSjNusdimojhqlg4k="
},
"org/jetbrains/kotlin#kotlin-stdlib/1.7.21": {
"jar": "sha256-1Gqddz/7ne5P8adIrIRdyOUABcWJMClRdgorUYe93Rk=",
"pom": "sha256-mzkq1D4vQhJp9jxiBz+ulCN9LjHe7o9msZzBkbTaBqw="
},
"org/jetbrains/kotlin#kotlin-test-annotations-common/1.7.21": {
"jar": "sha256-rL18jX1a/ozZJj0T56fr9lAj6tdop723/lXpF6v/PCA=",
"pom": "sha256-g9wLShdNHayV7j+hTG6sY+/BMtneVJjaaY+/IcAaD00="
},
"org/jetbrains/kotlin#kotlin-test-common/1.7.21": {
"jar": "sha256-viIcyIaWha97LEDdTl2wIWbODGMiIjdQJ6AH1RefST4=",
"pom": "sha256-82l3EYhGqaGsUURO61wrH8ADdOQEgmmdO5BHccR9Ea8="
},
"org/jetbrains/kotlin#kotlin-test-junit/1.7.21": {
"jar": "sha256-uEDz41MSnnZO8oEKLD60oUy9N4OyKMRuFq76xrdjnXA=",
"module": "sha256-Y2wOGDQFBAASi++BC4QLyOaTacNK8Wzcdcc08pY3ba4=",
"pom": "sha256-JuG33A35HRRJeLEF5jrY09f4XD9Nig0Ayzv6A40QbsQ="
},
"org/jetbrains/kotlin#kotlin-test/1.7.21": {
"jar": "sha256-gduLV6zilmvvZtsh9AG1BA8IDtNgSgLANsKpEftfUSQ=",
"module": "sha256-oFFqqWK+trPpadPnwMXIIDv3enEWHxL/RXxDr+Q+VIo=",
"pom": "sha256-7cxHqPMffTxln+ebYm673YZp1tqHc8rVf+o+cvfKj/4="
},
"org/slf4j#slf4j-api/1.7.30": {
"jar": "sha256-zboHlk0btAoHYUhcax6ML4/Z6x0ZxTkorA1/lRAQXFc=",
"pom": "sha256-fgdHdR6bZ+Gdy1IG8E6iLMA9JQxCJCZALq3QNRPywxQ="
},
"org/slf4j#slf4j-parent/1.7.30": {
"pom": "sha256-EWR5VuSKDFv7OsM/bafoPzQQAraFfv0zWlBbaHvjS3U="
}
}
}

View File

@@ -0,0 +1,109 @@
{
lib,
stdenv,
fetchFromGitHub,
buildGoModule,
gradle,
makeWrapper,
jre,
symlinkJoin,
}:
let
pname = "alda";
version = "2.3.2";
src = fetchFromGitHub {
owner = "alda-lang";
repo = "alda";
tag = "release-${version}";
hash = "sha256-qOEYBWU9xL62MyLSsJ0wtNea2eRhd/3ZT27j3gmNzQI=";
};
license = lib.licenses.epl20;
alda_client = buildGoModule {
pname = "${pname}-client";
inherit version src;
sourceRoot = "${src.name}/client";
vendorHash = "sha256-h09w6ZLirLNxYv/ibeN5pCnXSvT+1FGiXiYNReZBMXI=";
preBuild = ''
go generate main.go
'';
env.CGO_ENABLED = 0;
ldflags = [
"-w"
"-extldflags '-static'"
];
tags = [ "netgo" ];
subPackages = [ "." ];
postInstall = ''
mv $out/bin/client $out/bin/alda
'';
meta = {
inherit license;
homepage = "https://github.com/alda-lang/alda/tree/master/client";
broken = !stdenv.buildPlatform.canExecute stdenv.hostPlatform;
maintainers = [ lib.maintainers.ericdallo ];
platforms = lib.platforms.unix;
};
};
alda_player = stdenv.mkDerivation {
pname = "${pname}-player";
inherit version src;
sourceRoot = "${src.name}/player";
nativeBuildInputs = [
gradle
makeWrapper
];
mitmCache = gradle.fetchDeps {
inherit pname;
data = ./deps.json;
};
__darwinAllowLocalNetworking = true;
gradleBuildTask = "fatJar";
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share}
cp build/libs/alda-player-fat.jar $out/share
makeWrapper ${lib.getExe jre} $out/bin/alda-player \
--add-flags "-jar $out/share/alda-player-fat.jar"
runHook postInstall
'';
meta = {
inherit license;
homepage = "https://github.com/alda-lang/alda/tree/master/player";
maintainers = [ lib.maintainers.ericdallo ];
platforms = lib.platforms.unix;
};
};
in
symlinkJoin {
inherit pname version;
paths = [
alda_client
alda_player
];
meta = {
inherit license;
description = "Music programming language for musicians";
homepage = "https://alda.io";
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode
];
maintainers = [ lib.maintainers.ericdallo ];
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
stdenvNoCC,
fetchurl,
_7zz,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "aldente";
version = "1.35.1";
src = fetchurl {
url = "https://github.com/AppHouseKitchen/AlDente-Battery_Care_and_Monitoring/releases/download/${finalAttrs.version}/AlDente.dmg";
hash = "sha256-OjajT9goWbK3dKmkvt/qbcjlytg/xOPxNEZWE7h24Uc=";
};
dontBuild = true;
dontFixup = true;
# AlDente.dmg is APFS formatted, unpack with 7zz
nativeBuildInputs = [ _7zz ];
sourceRoot = "AlDente.app";
installPhase = ''
runHook preInstall
mkdir -p $out/Applications/AlDente.app
cp -R . $out/Applications/AlDente.app
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "macOS tool to limit maximum charging percentage";
homepage = "https://apphousekitchen.com";
changelog = "https://github.com/davidwernhart/aldente-charge-limiter/releases/tag/${finalAttrs.version}";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ stepbrobd ];
platforms = [
"aarch64-darwin"
"x86_64-darwin"
];
};
})

View File

@@ -0,0 +1,34 @@
{
lib,
stdenv,
fetchgit,
libao,
autoreconfHook,
}:
let
pname = "aldo";
version = "0.7.8";
in
stdenv.mkDerivation {
inherit pname version;
src = fetchgit {
url = "git://git.savannah.gnu.org/${pname}.git";
tag = "v${version}";
sha256 = "0swvdq0pw1msy40qkpn1ar9kacqjyrw2azvf2fy38y0svyac8z2i";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libao ];
meta = with lib; {
description = "Morse code training program";
homepage = "http://aldo.nongnu.org/";
license = licenses.gpl3Plus;
maintainers = [ ];
platforms = platforms.linux;
mainProgram = "aldo";
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "alegreya-sans";
version = "2.008";
src = fetchFromGitHub {
owner = "huertatipografica";
repo = "Alegreya-Sans";
tag = "v${version}";
sha256 = "0xz5lq9fh0pj02ifazhddzh792qkxkz1z6ylj26d93wshc90jl5g";
};
installPhase = ''
install -D -m 444 fonts/otf/* -t $out/share/fonts/otf
install -D -m 444 fonts/ttf/* -t $out/share/fonts/ttf
install -D -m 444 fonts/webfonts/*.woff -t $out/share/fonts/woff
install -D -m 444 fonts/webfonts/*.woff2 -t $out/share/fonts/woff2
'';
meta = with lib; {
description = "Humanist sans serif family with a calligraphic feeling";
longDescription = ''
Alegreya Sans is a humanist sans serif family with a calligraphic feeling that conveys a dynamic and varied rhythm. This gives a pleasant feeling to readers of long texts.
The family follows humanist proportions and principles, just like the serif version of the family, Alegreya. It achieves a ludic and harmonious paragraph through elements carefully designed in an atmosphere of diversity. The italics bring a strong emphasis to the roman styles, and each have seven weights to bring you a wide typographic palette.
Alegreya Sans supports expert latin, greek and cyrillic character sets and provides advanced typography OpenType features such as small caps, dynamic ligatures and fractions, four set of figures, super and subscript characters, ordinals, localized accent forms for spanish, catalan, guaraní, dutch, turkish, romanian, serbian among others.
The Alegreya type system is a "super family", originally intended for literature, and includes sans and serif sister families.
'';
homepage = "https://www.huertatipografica.com/en/fonts/alegreya-sans-ht";
license = licenses.ofl;
platforms = platforms.all;
maintainers = with maintainers; [ Thra11 ];
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "alegreya";
version = "2.008";
src = fetchFromGitHub {
owner = "huertatipografica";
repo = "Alegreya";
tag = "v${version}";
sha256 = "1m5xr95y6qxxv2ryvhfck39d6q5hxsr51f530fshg53x48l2mpwr";
};
installPhase = ''
install -D -m 444 fonts/otf/* -t $out/share/fonts/otf
install -D -m 444 fonts/ttf/* -t $out/share/fonts/ttf
install -D -m 444 fonts/webfonts/*.woff -t $out/share/fonts/woff
install -D -m 444 fonts/webfonts/*.woff2 -t $out/share/fonts/woff2
'';
meta = with lib; {
description = "Elegant and versatile font family for comfortable reading";
longDescription = ''
Alegreya is a typeface originally intended for literature. Among its crowning characteristics, it conveys a dynamic and varied rhythm which facilitates the reading of long texts. Also, it provides freshness to the page while referring to the calligraphic letter, not as a literal interpretation, but rather in a contemporary typographic language.
The italic has just as much care and attention to detail in the design as the roman. The bold weights are strong, and the Black weights are really experimental for the genre. There is also a Small Caps sister family.
Not only does Alegreya provide great performance, but also achieves a strong and harmonious text by means of elements designed in an atmosphere of diversity.
The Alegreya type system is a "super family", originally intended for literature, and includes serif and sans serif sister families.
It supports expert latin, greek and cyrillic character sets and provides advanced typography OpenType features such as small caps, dynamic ligatures and fractions, four set of figures, super and subscript characters, ordinals, localized accent forms for spanish, catalan, guaraní, dutch, turkish, romanian, serbian among others.
Alegreya was chosen at the ATypI Letter2 competition in September 2011, and one of the top 14 text type systems. It was also selected in the 2nd Bienal Iberoamericana de Diseño, competition held in Madrid in 2010 and Tipos Latinos.
Designed by Juan Pablo del Peral for Huerta Tipográfica.
'';
homepage = "https://www.huertatipografica.com/en/fonts/alegreya-ht-pro";
license = licenses.ofl;
platforms = platforms.all;
maintainers = with maintainers; [ Thra11 ];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
rustPlatform,
fetchFromGitHub,
testers,
alejandra,
}:
rustPlatform.buildRustPackage rec {
pname = "alejandra";
version = "4.0.0";
src = fetchFromGitHub {
owner = "kamadorueda";
repo = "alejandra";
tag = version;
hash = "sha256-Oi1n2ncF4/AWeY6X55o2FddIRICokbciqFYK64XorYk=";
};
cargoHash = "sha256-IX4xp8llB7USpS/SSQ9L8+17hQk5nkXFP8NgFKVLqKU=";
passthru.tests = {
version = testers.testVersion { package = alejandra; };
};
meta = {
description = "Uncompromising Nix Code Formatter";
homepage = "https://github.com/kamadorueda/alejandra";
changelog = "https://github.com/kamadorueda/alejandra/blob/${version}/CHANGELOG.md";
license = lib.licenses.unlicense;
maintainers = with lib.maintainers; [
_0x4A6F
kamadorueda
sciencentistguy
];
mainProgram = "alejandra";
};
}

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
openexr,
hdf5-threadsafe,
}:
stdenv.mkDerivation rec {
pname = "alembic";
version = "1.8.8";
src = fetchFromGitHub {
owner = "alembic";
repo = "alembic";
tag = version;
hash = "sha256-R69UYyvLnMwv1JzEQ6S6elvR83Rmvc8acBJwSV/+hCk=";
};
# note: out is unused (but required for outputDoc anyway)
outputs = [
"bin"
"dev"
"out"
"lib"
];
# Prevent cycle between bin and dev (only occurs on Darwin for some reason)
propagatedBuildOutputs = [ "lib" ];
nativeBuildInputs = [ cmake ];
buildInputs = [
openexr
hdf5-threadsafe
];
# These flags along with the postPatch step ensure that all artifacts end up
# in the correct output without needing to move anything
#
# - bin: Uses CMAKE_INSTALL_BINDIR (set via CMake setup hooK)
# - lib (contains shared libraries): Uses ALEMBIC_LIB_INSTALL_DIR
# - dev (headers): Uses CMAKE_INSTALL_PREFIX
# (this works because every other install rule uses an absolute DESTINATION)
# - dev (CMake files): Uses ConfigPackageLocation
cmakeFlags = [
"-DUSE_HDF5=ON"
"-DUSE_TESTS=ON"
"-DALEMBIC_LIB_INSTALL_DIR=${placeholder "lib"}/lib"
"-DConfigPackageLocation=${placeholder "dev"}/lib/cmake/Alembic"
"-DCMAKE_INSTALL_PREFIX=${placeholder "dev"}"
"-DQUIET=ON"
];
postPatch = ''
find bin/ -type f -name CMakeLists.txt -print -exec \
sed -i 's/INSTALL(TARGETS \([a-zA-Z ]*\) DESTINATION bin)/INSTALL(TARGETS \1)/' {} \;
'';
doCheck = true;
enableParallelChecking = false;
meta = with lib; {
description = "Open framework for storing and sharing scene data";
homepage = "http://alembic.io/";
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [
guibou
tmarkus
];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
}:
stdenvNoCC.mkDerivation {
pname = "aleo-fonts";
version = "2.0.0-unstable-2023-06-03";
src = fetchFromGitHub {
owner = "AlessioLaiso";
repo = "aleo";
rev = "ce875e48d9983031648e87f38b7a269f4fbf5eb5";
hash = "sha256-HSxP5/sLHQTujBVt1u93625EXEc42lxpt8W1//6ngWM=";
};
installPhase = ''
runHook preInstall
install -Dm644 fonts/variable/*.ttf -t $out/share/fonts/truetype
runHook postInstall
'';
meta = {
description = "Slab serif typeface designed by Alessio Laiso";
homepage = "https://github.com/AlessioLaiso/aleo";
license = lib.licenses.ofl;
maintainers = with lib.maintainers; [ donovanglover ];
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,25 @@
{
lib,
alephone,
requireFile,
}:
alephone.makeWrapper {
pname = "apotheosis-x";
version = "1.1";
desktopName = "Marathon-Apotheosis-X";
zip = requireFile {
name = "Apotheosis_X_1.1.zip";
url = "https://www.moddb.com/mods/apotheosis-x/downloads";
hash = "sha256-4Y/RQQeN4VTpig8ZyxUpVHwzN8W8ciTBCkSzND8SMbs=";
};
sourceRoot = "Apotheosis X 1.1";
meta = {
description = "Total conversion for Marathon Infinity running on the Aleph One engine";
homepage = "https://simplici7y.com/items/apotheosis-x-5";
license = lib.licenses.unfree;
};
}

View File

@@ -0,0 +1,25 @@
{ alephone, fetchurl }:
alephone.makeWrapper rec {
pname = "durandal";
desktopName = "Marathon-Durandal";
version = "20240510";
icon = alephone.icons + "/marathon2.png";
# nixpkgs-update: no auto update
zip = fetchurl {
url = "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon2-${version}-Data.zip";
hash = "sha256-uoBl1/7XlXmMLqpk3tvme9w18q4Yh0WCrmqSzjGxNz0=";
};
meta = {
description = "Second chapter of the Marathon trilogy";
longDescription = ''
Fresh from your triumph on the starship Marathon, you are seized by the rogue computer Durandal to do his bidding in a distant part of the galaxy. Within the ruins of an ancient civilization, you must seek the remnants of a lost clan and uncover their long-buried secrets. Battle opponents ancient and terrible, with sophisticated weapons and devious strategies, all the while struggling to escape the alien nightmare
This release of Marathon 2: Durandal includes the classic graphics, and revamped high-definition textures and monsters from the Xbox Live Arcade edition.
'';
homepage = "https://alephone.lhowon.org/games/marathon2.html";
};
}

View File

@@ -0,0 +1,20 @@
{ alephone, fetchurl }:
alephone.makeWrapper {
pname = "marathon-eternal";
version = "1.2.1";
desktopName = "Marathon-Eternal";
zip = fetchurl {
url = "https://eternal.bungie.org/files/_releases/EternalXv121.zip";
hash = "sha256-8smVdL7CYbrIzCqu3eqk6KQempKLWuEJ9qWStdWkYWo=";
};
sourceRoot = "Eternal 1.2.1";
meta = {
description = "Picking up from the end of the Marathon trilogy, you find yourself suddenly ninety-four years in the future, in the year 2905";
homepage = "http://eternal.bungie.org/";
};
}

View File

@@ -0,0 +1,18 @@
{ alephone, fetchurl }:
alephone.makeWrapper {
pname = "marathon-evil";
version = "0";
desktopName = "Marathon-Evil";
zip = fetchurl {
url = "http://files3.bungie.org/trilogy/MarathonEvil.zip";
hash = "sha256-Ja3kvg6fCkRWURgw4av1X0iglTkLrozvAqFnceX60SI=";
};
meta = {
description = "First conversion for Marathon Infinity";
homepage = "https://alephone.lhowon.org/scenarios.html";
};
}

View File

@@ -0,0 +1,25 @@
{ alephone, fetchurl }:
alephone.makeWrapper rec {
pname = "marathon-infinity";
desktopName = "Marathon-Infinity";
version = "20240510";
icon = alephone.icons + "/marathon-infinity.png";
# nixpkgs-update: no auto update
zip = fetchurl {
url = "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/MarathonInfinity-${version}-Data.zip";
hash = "sha256-+FPym4Avqzyo4cZtfYPHXCS+q21+g9AIdKOImkd/UjU=";
};
meta = {
description = "Third chapter of the Marathon trilogy";
longDescription = ''
Marathon Infinity takes the closed universe of the Marathon series and blows it wide open. The solo/co-op campaign, Blood Tides of Lhowon, is a 20-level scenario sporting new textures, weapons, and aliens. More than that, the scenario sheds a surprising new light on the storys characters and the meaning of events. Having defeated the Pfhor and reawakened the ancient remnants of the Spht, the player now faces a world where friends become enemies and all is not what it seems
Marathon Infinity is the most popular Marathon game in online play, and is compatible with hundreds of community-made maps. This release includes the classic graphics, and revamped high-definition textures and weapons.
'';
homepage = "https://alephone.lhowon.org/games/infinity.html";
};
}

View File

@@ -0,0 +1,25 @@
{ alephone, fetchurl }:
alephone.makeWrapper rec {
pname = "marathon";
desktopName = "Marathon";
version = "20240510";
icon = alephone.icons + "/marathon.png";
# nixpkgs-update: no auto update
zip = fetchurl {
url = "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/Marathon-${version}-Data.zip";
hash = "sha256-shZ82e7veaaT/petxDQ8Fd7YtJPmTgxSCStf0kGfrFs=";
};
meta = {
description = "First chapter of the Marathon trilogy";
longDescription = ''
Alien forces have boarded the interstellar colony ship Marathon. The situation is dire. As a security officer onboard, it is your duty to defend the ship and its crew.
Experience the start of Bungies iconic trilogy with Marathon. This release uses the original Marathon data files for the most authentic experience outside of a classic Mac or emulator.
'';
homepage = "https://alephone.lhowon.org/games/marathon.html";
};
}

View File

@@ -0,0 +1,18 @@
{ alephone, fetchurl }:
alephone.makeWrapper {
pname = "pathways-into-darkness";
desktopName = "Pathways-Into-Darkness";
version = "1.1.1";
zip = fetchurl {
url = "http://simplici7y.com/version/file/1185/AOPID_v1.1.1.zip";
hash = "sha256-j/x1Mp2snZAwttaffuaTU8II/zcrm4+4PrrYwpnsA3U=";
};
meta = {
description = ''Port of the 1993 mac game "Pathways Into Darkness" by Bungie to the Aleph One engine'';
homepage = "http://simplici7y.com/items/aleph-one-pathways-into-darkness";
};
}

View File

@@ -0,0 +1,18 @@
{ alephone, fetchurl }:
alephone.makeWrapper {
pname = "marathon-pheonix";
desktopName = "Marathon-Pheonix";
version = "1.3";
zip = fetchurl {
url = "http://simplici7y.com/version/file/998/Marathon_Phoenix_1.3.zip";
hash = "sha256-EicLN54di18sarKyJm2GaEJJIsvaRmlHS/TUiT6YBuQ=";
};
meta = {
description = "35-level single player major Marathon conversion";
homepage = "http://www.simplici7y.com/items/marathon-phoenix-2";
};
}

View File

@@ -0,0 +1,18 @@
{ alephone, fetchurl }:
alephone.makeWrapper {
pname = "marathon-red";
version = "0";
desktopName = "Marathon-Red";
zip = fetchurl {
url = "http://files3.bungie.org/trilogy/MarathonRED.zip";
hash = "sha256-/GGjP0cFTwlndpovsVo4VnuY2TEU9+m2/WnYnanVI9w=";
};
meta = {
description = "Survival horror-esque Marathon conversion";
homepage = "https://alephone.lhowon.org/scenarios.html";
};
}

View File

@@ -0,0 +1,23 @@
{ alephone, fetchurl }:
alephone.makeWrapper {
pname = "rubicon-x";
version = "20150620";
desktopName = "Marathon-Rubicon-X";
zip = fetchurl {
url = "http://files5.bungie.org/marathon/marathonRubiconX.zip";
hash = "sha256-9UZii2VLDlAi0qJKq8LiMEPZDscfpLnnvuZcxROKuiQ=";
};
sourceRoot = "Rubicon X ƒ";
meta = {
description = "Unofficial forth chapter of the Marathon series";
longDescription = ''
Rubicon X is a free, cross platform, first person shooter that continues the story of Bungies Marathon trilogy. First released as Marathon:Rubicon in 2001, Rubicon X is a complete overhaul of the original. It features all new high-resolution artwork, new and updated maps, and enough surprises to feel like a whole new game.
'';
homepage = "http://www.marathonrubicon.com/";
};
}

View File

@@ -0,0 +1,17 @@
{ alephone, fetchurl }:
alephone.makeWrapper {
pname = "yuge";
version = "0";
desktopName = "Marathon-Yuge";
zip = fetchurl {
url = "https://lochnits.com/marathon/yuge/files/Mararthon_Yuge.zip";
hash = "sha256-dZHInYThB/4igpAXbUadXwPvh2Fl3XGZ4ficg7IEnNc=";
};
meta = {
description = "30 level Marathon scenario, plus 225 secret levels for many extra hours of gameplay";
homepage = "https://lochnits.com/marathon/yuge/";
};
}

View File

@@ -0,0 +1,158 @@
{
lib,
stdenv,
fetchurl,
alsa-lib,
boost,
curl,
ffmpeg_6,
icoutils,
libGLU,
libmad,
libogg,
libpng,
libsndfile,
libvorbis,
lua,
makeDesktopItem,
makeWrapper,
miniupnpc,
openal,
pkg-config,
SDL2,
SDL2_image,
SDL2_net,
SDL2_ttf,
speex,
unzip,
zlib,
zziplib,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
outputs = [
"out"
"icons"
];
pname = "alephone";
version = "1.10.1";
src = fetchurl {
url =
let
date = "20250302";
in
"https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2";
hash = "sha256-Jn8357JYR6cWISDxzYutLTWBDMTv0h923cSFf+RU8V8=";
};
nativeBuildInputs = [
pkg-config
icoutils
];
buildInputs = [
alsa-lib
boost
curl
ffmpeg_6
libGLU
libmad
libogg
libpng
libsndfile
libvorbis
lua
miniupnpc
openal
SDL2
SDL2_image
SDL2_net
SDL2_ttf
speex
zlib
zziplib
];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
makeFlags = [ "AR:=$(AR)" ];
enableParallelBuilding = true;
postInstall = ''
mkdir $icons
icotool -x -i 5 -o $icons Resources/Windows/*.ico
pushd $icons
for x in *_5_48x48x32.png; do
mv $x ''${x%_5_48x48x32.png}.png
done
popd
'';
passthru.tests.version =
# test that the version is correct
testers.testVersion { package = finalAttrs.finalPackage; };
meta = {
description = "Aleph One is the open source continuation of Bungies Marathon 2 game engine";
mainProgram = "alephone";
homepage = "https://alephone.lhowon.org/";
license = [ lib.licenses.gpl3 ];
platforms = lib.platforms.linux;
};
passthru.makeWrapper =
{
pname,
desktopName,
version,
zip,
meta,
icon ? finalAttrs.finalPackage.icons + "/alephone.png",
...
}@extraArgs:
stdenv.mkDerivation (
{
inherit pname version;
desktopItem = makeDesktopItem {
name = desktopName;
exec = pname;
genericName = pname;
categories = [ "Game" ];
comment = meta.description;
inherit desktopName icon;
};
src = zip;
nativeBuildInputs = [
makeWrapper
unzip
];
dontConfigure = true;
dontBuild = true;
installPhase = ''
mkdir -p $out/bin $out/data/$pname $out/share/applications
cp -a * $out/data/$pname
cp $desktopItem/share/applications/* $out/share/applications
makeWrapper ${finalAttrs.finalPackage}/bin/alephone $out/bin/$pname \
--add-flags $out/data/$pname
'';
}
// extraArgs
// {
meta =
finalAttrs.finalPackage.meta
// {
license = lib.licenses.free;
mainProgram = pname;
hydraPlatforms = [ ];
}
// meta;
}
);
})

View File

@@ -0,0 +1,52 @@
{
lib,
python3,
fetchPypi,
}:
python3.pkgs.buildPythonApplication rec {
pname = "alerta-server";
version = "9.0.1";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-v4+0l5Sx9RTxmNFnKCoKrWFl1xu1JIRZ/kiI6zi/y0I=";
};
propagatedBuildInputs = with python3.pkgs; [
bcrypt
blinker
cryptography
flask
flask-compress
flask-cors
mohawk
psycopg2
pyjwt
pymongo
pyparsing
python-dateutil
pytz
pyyaml
requests
requests-hawk
sentry-sdk
setuptools
];
# We can't run the tests from Nix, because they rely on the presence of a working MongoDB server
doCheck = false;
pythonImportsCheck = [
"alerta"
];
meta = with lib; {
homepage = "https://alerta.io";
description = "Alerta Monitoring System server";
mainProgram = "alertad";
license = licenses.asl20;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
python3,
fetchPypi,
}:
python3.pkgs.buildPythonApplication rec {
pname = "alerta";
version = "8.5.3";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-ePvT2icsgv+io5aDDUr1Zhfodm4wlqh/iqXtNkFhS10=";
};
propagatedBuildInputs = with python3.pkgs; [
six
click
requests
requests-hawk
pytz
tabulate
];
doCheck = false;
disabled = python3.pythonOlder "3.6";
meta = with lib; {
homepage = "https://alerta.io";
description = "Alerta Monitoring System command-line interface";
mainProgram = "alerta";
license = licenses.asl20;
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule rec {
pname = "alertmanager-gotify-bridge";
version = "2.3.2";
src = fetchFromGitHub {
owner = "DRuggeri";
repo = "alertmanager_gotify_bridge";
tag = "v${version}";
hash = "sha256-jG4SC+go6ZxdV1RtLJjZdL4I8jLayY5JKK8mlMDD2pE=";
};
vendorHash = "sha256-EjsfY8Ys0Fd99sx7OsZ2jcstdVloqDQQj5xfoIVSX9E=";
ldflags = [
"-s"
"-w"
"-X main.Version=${version}"
];
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/alertmanager_gotify_bridge";
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Bridge between Prometheus AlertManager and a Gotify server";
homepage = "https://github.com/DRuggeri/alertmanager_gotify_bridge";
changelog = "https://github.com/DRuggeri/alertmanager_gotify_bridge/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ juli0604 ];
mainProgram = "alertmanager_gotify_bridge";
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "alertmanager-irc-relay";
version = "0.5.1";
src = fetchFromGitHub {
owner = "google";
repo = "alertmanager-irc-relay";
tag = "v${version}";
sha256 = "sha256-Rl7o2QPa/IU1snlx/LiJxQok9pnkw9XANnJsu41vNlY=";
};
vendorHash = "sha256-KX+TR0n14+95lldF+0KUo5DbqOKpUDaZNuKMBf0KHFQ=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC";
mainProgram = "alertmanager-irc-relay";
longDescription = ''
Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC.
Alerts are received from Prometheus using Webhooks and are relayed to an
IRC channel
'';
homepage = "https://github.com/google/alertmanager-irc-relay";
license = licenses.asl20;
maintainers = with maintainers; [ ymatsiuk ];
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nixosTests,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "alertmanager-ntfy";
version = "1.0.2";
src = fetchFromGitHub {
owner = "alexbakker";
repo = "alertmanager-ntfy";
tag = "v${finalAttrs.version}";
hash = "sha256-aVK8HCRXRprNoBhILLN7F/Fb3RePPzBW4vBMnQr9zRU=";
};
vendorHash = "sha256-CpVGLM6ZtfYODhP6gzWGcnpEuDvKRiMWzoPNm2qtML4=";
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/alertmanager-ntfy --help > /dev/null
runHook postInstallCheck
'';
passthru = {
tests = { inherit (nixosTests.prometheus) alertmanager-ntfy; };
updateScript = nix-update-script { };
};
meta = {
description = "Forwards Prometheus Alertmanager notifications to ntfy.sh";
homepage = "https://github.com/alexbakker/alertmanager-ntfy";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ defelo ];
mainProgram = "alertmanager-ntfy";
};
})

View File

@@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nixosTests,
}:
buildGoModule rec {
pname = "alertmanager-webhook-logger";
version = "1.0";
rev = "${version}";
src = fetchFromGitHub {
inherit rev;
owner = "tomtom-international";
repo = "alertmanager-webhook-logger";
hash = "sha256-mJbpDiTwUsFm0lDKz8UE/YF6sBvcSSR6WWLrfKvtri4=";
};
vendorHash = "sha256-gKtOoM9TuEIHgvSjZhqWmdexG2zDjlPuM0HjjP52DOI=";
doCheck = true;
passthru.tests = { inherit (nixosTests.prometheus) alertmanager; };
meta = with lib; {
description = "Generates (structured) log messages from Prometheus AlertManager webhook notifier";
mainProgram = "alertmanager-webhook-logger";
homepage = "https://github.com/tomtom-international/alertmanager-webhook-logger";
license = licenses.asl20;
maintainers = with maintainers; [ jpds ];
};
}

View File

@@ -0,0 +1,74 @@
{
rustPlatform,
lib,
fetchFromGitHub,
pkg-config,
webkitgtk_4_0,
openssl,
nodejs,
npmHooks,
fetchNpmDeps,
gtk3,
wrapGAppsHook3,
cargo-tauri_1,
librsvg,
libappindicator-gtk3,
}:
rustPlatform.buildRustPackage rec {
pname = "alexandria";
version = "0.13.1";
src = fetchFromGitHub {
owner = "btpf";
repo = "Alexandria";
tag = "v${version}";
hash = "sha256-18i3/HLTfhBSa9/c55dCOfFal+V40wcHcLoYt1dU+d0=";
fetchSubmodules = true;
};
npmDeps = fetchNpmDeps {
inherit src;
hash = "sha256-6r9bEY7e1Eef/0/CJ26ITpFJcCVUEKLrFx+TNEomLPE=";
};
cargoRoot = "src-tauri";
buildAndTestSubdir = "src-tauri";
cargoHash = "sha256-VX/G4dF9DhlGfifp4xf9xkXli7BHFtKY2+HaMHqqPiA=";
env = {
OPENSSL_NO_VENDOR = 1;
};
nativeBuildInputs = [
cargo-tauri_1.hook
nodejs
npmHooks.npmConfigHook
pkg-config
rustPlatform.bindgenHook
wrapGAppsHook3
];
buildInputs = [
openssl
webkitgtk_4_0
gtk3
librsvg
libappindicator-gtk3
];
meta = {
homepage = "https://github.com/btpf/Alexandria";
changelog = "https://github.com/btpf/Alexandria/releases/tag/v${version}";
description = "Minimalistic cross-platform eBook reader";
maintainers = with lib.maintainers; [ bot-wxt1221 ];
mainProgram = "alexandria";
platforms = [
"x86_64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
license = lib.licenses.gpl3Plus;
};
}

View File

@@ -0,0 +1,101 @@
{
stdenv,
lib,
fetchurl,
dpkg,
autoPatchelfHook,
makeWrapper,
wrapGAppsHook3,
alsa-lib,
dbus,
fontconfig,
freetype,
glib,
gst_all_1,
libGL,
libinput,
libpulseaudio,
libsecret,
libtiff,
libxkbcommon,
libgbm,
openssl,
systemd,
xcb-util-cursor,
xorg,
}:
stdenv.mkDerivation rec {
pname = "alfaview";
version = "9.23.2";
src = fetchurl {
url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb";
hash = "sha256-0EGjm/EYozGXDM/IvmopN04kzJfPM+6wjMpJesyW55U=";
};
nativeBuildInputs = [
dpkg
makeWrapper
autoPatchelfHook
wrapGAppsHook3
];
buildInputs = [
alsa-lib
dbus
fontconfig
freetype
glib
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-base
libGL
libinput
libpulseaudio
libsecret
libtiff
libxkbcommon
libgbm
openssl
stdenv.cc.cc
systemd
xcb-util-cursor
xorg.libX11
xorg.xcbutilwm
xorg.xcbutilimage
xorg.xcbutilkeysyms
xorg.xcbutilrenderutil
];
libPath = lib.makeLibraryPath buildInputs;
dontBuild = true;
dontConfigure = true;
installPhase = ''
runHook preInstall
mv usr $out
mv opt $out
substituteInPlace $out/share/applications/alfaview.desktop \
--replace "/opt/alfaview" "$out/bin" \
--replace "/usr/share/pixmaps/alfaview_production.png" alfaview_production
makeWrapper $out/opt/alfaview/alfaview $out/bin/alfaview \
--prefix LD_LIBRARY_PATH : ${libPath}
runHook postInstall
'';
meta = with lib; {
description = "Video-conferencing application, specialized in virtual online meetings, seminars, training sessions and conferences";
homepage = "https://alfaview.com";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = [ ];
mainProgram = "alfaview";
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,56 @@
{
stdenv,
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
makeWrapper,
webkitgtk_4_0,
zenity,
withGui ? true,
}:
rustPlatform.buildRustPackage rec {
pname = "alfis";
version = "0.8.5";
src = fetchFromGitHub {
owner = "Revertron";
repo = "Alfis";
tag = "v${version}";
hash = "sha256-ettStNktSDZnYNN/IWqTB1Ou1g1QEGFabS4EatnDLaE=";
};
cargoHash = "sha256-xe0YQCKnDV6M6IKWgljsuJ5ZevkdpxZDnNHAHKJyUec=";
nativeBuildInputs = [
pkg-config
makeWrapper
];
buildInputs = lib.optional (withGui && stdenv.hostPlatform.isLinux) webkitgtk_4_0;
buildNoDefaultFeatures = true;
buildFeatures = [ "doh" ] ++ lib.optional withGui "webgui";
checkFlags = [
# these want internet access, disable them
"--skip=dns::client::tests::test_tcp_client"
"--skip=dns::client::tests::test_udp_client"
];
postInstall = lib.optionalString (withGui && stdenv.hostPlatform.isLinux) ''
wrapProgram $out/bin/alfis \
--prefix PATH : ${lib.makeBinPath [ zenity ]}
'';
meta = {
description = "Alternative Free Identity System";
homepage = "https://alfis.name";
changelog = "https://github.com/Revertron/Alfis/releases/tag/v${version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ misuzu ];
platforms = lib.platforms.unix;
mainProgram = "alfis";
broken = withGui && stdenv.hostPlatform.isDarwin;
};
}

View File

@@ -0,0 +1,28 @@
{
pkgs,
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "algia";
version = "0.0.86";
src = fetchFromGitHub {
owner = "mattn";
repo = "algia";
tag = "v${version}";
hash = "sha256-dpvBlFI6xmQOwui7Ma1ewIoxgFctG9fK+pLhjK/71XI=";
};
vendorHash = "sha256-Yt95kSXAIBxHgX+VUefKrumg9thuvh3c+gnSu/2PSQY=";
meta = {
description = "CLI application for nostr";
homepage = "https://github.com/mattn/algia";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ haruki7049 ];
mainProgram = "algia";
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchurl,
cmake,
clang,
}:
stdenv.mkDerivation rec {
pname = "alglib3";
version = "4.05.0";
src = fetchurl {
url = "https://www.alglib.net/translator/re/alglib-${version}.cpp.gpl.tgz";
sha256 = "sha256-czgBhziKjAO17ZwXChsjOazIaNODRrGyswhc4j4/T9s=";
};
nativeBuildInputs = [
cmake
clang
];
patches = [
./patch-alglib-CMakeLists.patch
];
meta = with lib; {
description = "Numerical analysis and data processing library";
homepage = "https://www.alglib.net/";
license = lib.licenses.gpl2Plus;
maintainers = [ maintainers.paperdigits ];
longDescription = ''
ALGLIB is a cross-platform numerical analysis and data processing library. It supports several programming languages (C++, C#, Delphi) and several operating systems (Windows and POSIX, including Linux). ALGLIB features include:
* Data analysis (classification/regression, statistics)
* Optimization and nonlinear solvers
* Interpolation and linear/nonlinear least-squares fitting
* Linear algebra (direct algorithms, EVD/SVD), direct and iterative linear solvers
* Fast Fourier Transform and many other algorithms
'';
};
}

View File

@@ -0,0 +1,23 @@
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,20 @@
+cmake_minimum_required(VERSION 2.8)
+
+project(alglib3 CXX)
+
+file(GLOB_RECURSE sources src/*.cpp)
+file(GLOB_RECURSE headers src/*.h)
+
+add_library(${PROJECT_NAME} STATIC ${sources} ${headers})
+
+install(
+ TARGETS ${PROJECT_NAME}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
+
+install(
+ FILES ${headers}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alglib
+)

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchurl,
curl,
gmp,
gsl,
libpq,
mpfr,
ncurses,
plotutils,
pkg-config,
withPDFDoc ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "algol68g";
version = "3.5.14";
src = fetchurl {
url = "https://jmvdveer.home.xs4all.nl/algol68g-${finalAttrs.version}.tar.gz";
hash = "sha256-uIy8rIhUjohiQJ/K5EprsIISXMAx1w27I3cGo/9H9Wk=";
};
outputs = [
"out"
"man"
]
++ lib.optionals withPDFDoc [ "doc" ];
nativeBuildInputs = [
pkg-config
];
buildInputs = [
curl
mpfr
ncurses
gmp
gsl
plotutils
libpq
];
strictDeps = true;
postInstall =
let
pdfdoc = fetchurl {
url = "https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf";
hash = "sha256-QCwn1e/lVfTYTeolCFErvfMhvwCgsBnASqq2K+NYmlU=";
};
in
lib.optionalString withPDFDoc ''
install -m644 ${pdfdoc} ${placeholder "doc"}/share/doc/algol68g/learning-algol-68-genie.pdf
'';
meta = {
homepage = "https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html";
description = "Algol 68 Genie compiler-interpreter";
longDescription = ''
Algol 68 Genie (a68g) is a recent checkout hybrid compiler-interpreter,
written from scratch by Marcel van der Veer. It ranks among the most
complete Algol 68 implementations. It implements for example arbitrary
precision arithmetic, complex numbers, parallel processing, partial
parametrisation and formatted transput, as well as support for curses,
regular expressions and sounds. It can be linked to GNU plotutils, the GNU
scientific library and PostgreSQL.
'';
license = lib.licenses.gpl3Plus;
mainProgram = "a68g";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,48 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
let
version = "1.7.1";
in
buildGoModule {
pname = "algolia-cli";
inherit version;
src = fetchFromGitHub {
owner = "algolia";
repo = "cli";
tag = "v${version}";
hash = "sha256-XaPod/8MwucNXzTfMkF2Sr8i8U5RKJs/RfBxDjJK4vU=";
};
vendorHash = "sha256-zDhsJ9iUKm0RzALVlvZDIPYaTqfIDIuUWAU+h5gp4Es=";
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "cmd/algolia" ];
ldflags = [
"-s"
"-w"
"-X github.com/algolia/cli/pkg/version.Version=${version}"
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd algolia \
--bash <($out/bin/algolia completion bash) \
--fish <($out/bin/algolia completion fish) \
--zsh <($out/bin/algolia completion zsh)
'';
meta = {
description = "Algolias official CLI devtool";
mainProgram = "algolia";
homepage = "https://algolia.com/doc/tools/cli/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ momeemt ];
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
stdenv,
}:
buildGoModule rec {
pname = "ali";
version = "0.7.5";
src = fetchFromGitHub {
owner = "nakabonne";
repo = "ali";
tag = "v${version}";
hash = "sha256-/pdHlI20IzSTX2pnsbxPiJiWmOCbp13eJWLi0Tcsueg=";
};
vendorHash = "sha256-YWx9K04kTMaI0FXebwRQVCt0nxIwZ6xlbtI2lk3qp0M=";
meta = {
description = "Generate HTTP load and plot the results in real-time";
homepage = "https://github.com/nakabonne/ali";
changelog = "https://github.com/nakabonne/ali/releases/tag/v${version}";
license = lib.licenses.mit;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with lib.maintainers; [ farcaller ];
mainProgram = "ali";
# Broken on darwin for Go toolchain > 1.22, with error:
# 'link: golang.org/x/net/internal/socket: invalid reference to syscall.recvmsg'
broken = stdenv.hostPlatform.isDarwin;
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule rec {
pname = "aliae";
version = "0.26.6";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = "aliae";
tag = "v${version}";
hash = "sha256-W/jj2YQc6M0ro4groCynly2stjv2FLAMvIopnQYCngY=";
};
vendorHash = "sha256-8YTyhjF0p2l76sowq92ts5TjjcARToOfJN9nlFu19L4=";
sourceRoot = "${src.name}/src";
nativeBuildInputs = [ installShellFiles ];
ldflags = [
"-s"
"-w"
"-X main.Version=${version}"
];
tags = [
"netgo"
"osusergo"
];
postInstall = ''
mv $out/bin/{src,aliae}
''
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd aliae \
--bash <($out/bin/aliae completion bash) \
--fish <($out/bin/aliae completion fish) \
--zsh <($out/bin/aliae completion zsh)
'';
meta = {
description = "Cross shell and platform alias management";
mainProgram = "aliae";
homepage = "https://aliae.dev";
changelog = "https://github.com/JanDeDobbeleer/aliae/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ vedantmgoyal9 ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
python3Packages,
fetchPypi,
}:
python3Packages.buildPythonApplication rec {
pname = "alibuild";
version = "1.17.30";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-gLJQnQgFrB/4YTB8rpYicC97avuw0EhO4hUaxYYwvbE=";
};
build-system = with python3Packages; [
setuptools
setuptools-scm
];
nativeBuildInputs = with python3Packages; [ pip ];
dependencies = with python3Packages; [
requests
pyyaml
boto3
jinja2
distro
];
pythonRelaxDeps = [ "boto3" ];
doCheck = false;
meta = {
homepage = "https://alisw.github.io/alibuild/";
description = "Build tool for ALICE experiment software";
license = lib.licenses.gpl3;
maintainers = with lib.maintainers; [ ktf ];
};
}

View File

@@ -0,0 +1,97 @@
{
lib,
fetchFromGitHub,
buildGoModule,
fetchYarnDeps,
stdenv,
nix-update-script,
yarn,
nodejs,
nixosTests,
fixup-yarn-lock,
}:
buildGoModule rec {
pname = "alice-lg";
version = "6.2.0";
src = fetchFromGitHub {
owner = "alice-lg";
repo = "alice-lg";
tag = version;
hash = "sha256-DlmUurpu/bs/91fLsSQ3xJ8I8NWJweynMgV6Svkf0Uo=";
};
vendorHash = "sha256-OkOUgW6BHJKIdY1soMqTXhL6RYy3567iL1/VZasIdvQ=";
passthru.ui = stdenv.mkDerivation {
pname = "alice-lg-ui";
src = "${src}/ui";
inherit version;
yarnOfflineCache = fetchYarnDeps {
yarnLock = src + "/ui/yarn.lock";
hash = "sha256-PwByNIegKYTOT8Yg3nDMDFZiLRVkbX07z99YaDiBsIY=";
};
nativeBuildInputs = [
nodejs
yarn
fixup-yarn-lock
];
configurePhase = ''
runHook preConfigure
# Yarn and bundler wants a real home directory to write cache, config, etc to
export HOME=$NIX_BUILD_TOP/fake_home
# Make yarn install packages from our offline cache, not the registry
yarn config --offline set yarn-offline-mirror $yarnOfflineCache
# Fixup "resolved"-entries in yarn.lock to match our offline cache
fixup-yarn-lock yarn.lock
yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules/
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
./node_modules/.bin/react-scripts build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mv build $out
runHook postInstall
'';
};
preBuild = ''
cp -R ${passthru.ui}/ ui/build/
'';
subPackages = [ "cmd/alice-lg" ];
doCheck = false;
passthru = {
tests = nixosTests.alice-lg;
updateScript = nix-update-script { };
};
meta = {
homepage = "https://github.com/alice-lg/alice-lg";
description = "Looking-glass for BGP sessions";
changelog = "https://github.com/alice-lg/alice-lg/blob/main/CHANGELOG.md";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ stv0g ];
mainProgram = "alice-lg";
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchzip,
}:
stdenv.mkDerivation (attrs: {
pname = "Alice";
version = "2.003";
outputs = [
"out"
"woff2"
];
src = fetchzip {
url =
with attrs;
"https://github.com/cyrealtype/${pname}/releases/download/v${version}/${pname}-v${version}.zip";
stripRoot = false;
hash = "sha256-p+tE3DECfJyBIPyafGZ8jDYQ1lPb+iAnEwLyaUy7DW0=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
install -m444 -Dt $out/share/fonts/truetype fonts/ttf/*.ttf
install -m444 -Dt $out/share/fonts/opentype fonts/otf/*.otf
install -m444 -Dt $woff2/share/fonts/woff2 fonts/webfonts/*.woff2
runHook postInstall
'';
meta = with lib; {
description = "Open-source font by Ksenia Erulevich";
homepage = "https://github.com/cyrealtype/Alice";
license = licenses.ofl;
platforms = platforms.all;
maintainers = with maintainers; [ ncfavier ];
};
})

View File

@@ -0,0 +1,66 @@
{
curl,
fetchFromGitHub,
freetype,
lib,
libGL,
libjpeg,
libogg,
libvorbis,
libX11,
libXxf86vm,
openal,
pkg-config,
stdenv,
}:
stdenv.mkDerivation rec {
pname = "alienarena";
version = "7.71.7";
src = fetchFromGitHub {
owner = "alienarena";
repo = "alienarena";
rev = version;
hash = "sha256-ri0p/0onI5DU7kDxwdFxRyT1LQLVe89VNEYPXPgilOs=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
curl
freetype
libGL
libjpeg
libogg
libvorbis
libX11
libXxf86vm
openal
];
patchPhase = ''
substituteInPlace ./configure \
--replace libopenal.so.1 ${openal}/lib/libopenal.so.1 \
--replace libGL.so.1 ${libGL}/lib/libGL.so.1
'';
meta = {
changelog = "https://github.com/alienarena/alienarena/releases/tag/${version}";
description = "Free, stand-alone first-person shooter computer game";
longDescription = ''
Do you like old school deathmatch with modern features? How
about rich, colorful, arcade-like atmospheres? How about retro
Sci-Fi? Then you're going to love what Alien Arena has in store
for you! This game combines some of the very best aspects of
such games as Quake III and Unreal Tournament and wraps them up
with a retro alien theme, while adding tons of original ideas to
make the game quite unique.
'';
homepage = "https://alienarena.org";
# Engine is under GPLv2, everything else is under
license = lib.licenses.unfreeRedistributable;
platforms = lib.platforms.linux;
hydraPlatforms = [ ];
};
}

View File

@@ -0,0 +1,120 @@
{
lib,
fetchFromGitHub,
fontconfig,
llvmPackages,
nix-update-script,
python3Packages,
pythonSupport ? false,
stdenv,
# nativeBuildInputs
doxygen,
cmake,
graphviz,
pkg-config,
# buildInputs
fmt,
# propagatedBuildInputs
suitesparse,
crocoddyl,
pinocchio,
# checkInputs
gbenchmark,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "aligator";
version = "0.15.0";
src = fetchFromGitHub {
owner = "Simple-Robotics";
repo = "aligator";
tag = "v${finalAttrs.version}";
hash = "sha256-x9vOj5Dy2SaQOLBCM13wZ/4SxgBz+99K/UxJqhKTg3c=";
};
outputs = [
"doc"
"out"
];
strictDeps = true;
nativeBuildInputs = [
doxygen
cmake
graphviz
pkg-config
]
++ lib.optionals pythonSupport [
python3Packages.python
python3Packages.pythonImportsCheckHook
];
buildInputs = [
fmt
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
llvmPackages.openmp
];
propagatedBuildInputs = [
suitesparse
]
++ lib.optionals pythonSupport [
python3Packages.crocoddyl
python3Packages.matplotlib
python3Packages.pinocchio
]
++ lib.optionals (!pythonSupport) [
crocoddyl
pinocchio
];
checkInputs = [
gbenchmark
]
++ lib.optionals pythonSupport [
python3Packages.matplotlib
python3Packages.pytest
];
cmakeFlags = [
(lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport)
(lib.cmakeBool "BUILD_WITH_PINOCCHIO_SUPPORT" true)
(lib.cmakeBool "BUILD_CROCODDYL_COMPAT" true)
(lib.cmakeBool "BUILD_WITH_OPENMP_SUPPORT" true)
(lib.cmakeBool "BUILD_WITH_CHOLMOD_SUPPORT" true)
(lib.cmakeBool "GENERATE_PYTHON_STUBS" false) # this need git at configure time
]
++ lib.optionals (stdenv.hostPlatform.isDarwin && pythonSupport) [
# ignore one failing test for now
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" "--exclude-regex;'aligator-test-py-rollout|aligator-test-py-frames'")
];
# Fontconfig error: Cannot load default config file: No such file: (null)
env.FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
preBuild = ''
# silence matplotlib warning
export MPLCONFIGDIR=$(mktemp -d)
# Fontconfig error: No writable cache directories
export XDG_CACHE_HOME=$(mktemp -d)
'';
doCheck = true;
pythonImportsCheck = [ "aligator" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Versatile and efficient framework for constrained trajectory optimization";
homepage = "https://github.com/Simple-Robotics/aligator";
changelog = "https://github.com/Simple-Robotics/aligator/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ nim65s ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,27 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "align";
version = "1.1.3";
src = fetchFromGitHub {
owner = "Guitarbum722";
repo = "align";
tag = "v${version}";
sha256 = "17gs3417633z71kc6l5zqg4b3rjhpn2v8qs8rnfrk4nbwzz4nrq3";
};
vendorHash = null;
meta = with lib; {
homepage = "https://github.com/Guitarbum722/align";
description = "General purpose application and library for aligning text";
mainProgram = "align";
maintainers = with maintainers; [ hrhino ];
license = licenses.mit;
};
}

View File

@@ -0,0 +1,36 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "alioth";
version = "0.9.0";
src = fetchFromGitHub {
owner = "google";
repo = "alioth";
tag = "v${version}";
hash = "sha256-6+Co+Du08Hr2U8vifsD5kYfgSERVkFZ2BpqE1wXEDkM=";
};
# Checks use `debug_assert_eq!`
checkType = "debug";
cargoHash = "sha256-W01mqG0QlKDP/b4NbVm/ohySF3v5j38BLZEuMwkFffs=";
separateDebugInfo = true;
meta = with lib; {
homepage = "https://github.com/google/alioth";
description = "Experimental Type-2 Hypervisor in Rust implemented from scratch";
license = licenses.asl20;
mainProgram = "alioth";
maintainers = with maintainers; [ astro ];
platforms = [
"aarch64-linux"
"x86_64-linux"
];
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
gprbuild,
gnat,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "alire";
version = "2.1.0";
src = fetchFromGitHub {
owner = "alire-project";
repo = "alire";
tag = "v${finalAttrs.version}";
hash = "sha256-DfzCQu9xOe9JgX6RTrYOGTIS6EcPimLnd5pfXMtfRss=";
fetchSubmodules = true;
};
nativeBuildInputs = [
gprbuild
gnat
];
postPatch = ''
patchShebangs ./dev/build.sh ./scripts/version-patcher.sh
'';
buildPhase = ''
runHook preBuild
export ALIRE_BUILD_JOBS="$NIX_BUILD_CORES"
./dev/build.sh
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r ./bin $out
runHook postInstall
'';
meta = {
description = "Source-based package manager for the Ada and SPARK programming languages";
homepage = "https://alire.ada.dev";
changelog = "https://github.com/alire-project/alire/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ atalii ];
platforms = lib.platforms.unix;
mainProgram = "alr";
};
})

View File

@@ -0,0 +1,118 @@
{
lib,
buildGoModule,
fetchFromGitHub,
fetchzip,
fuse,
stdenv,
installShellFiles,
versionCheckHook,
callPackage,
}:
buildGoModule rec {
pname = "alist";
version = "3.45.0";
webVersion = "3.45.0";
src = fetchFromGitHub {
owner = "AlistGo";
repo = "alist";
tag = "v${version}";
hash = "sha256-h8oWeTX3z3xye5O4+s7LA7Wm36JOrsU+UdKGZXaDKXk=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
postFetch = ''
cd "$out"
git rev-parse HEAD > $out/COMMIT
# '0000-00-00T00:00:00Z'
date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%dT%H:%M:%SZ" > $out/SOURCE_DATE_EPOCH
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
web = fetchzip {
url = "https://github.com/AlistGo/alist-web/releases/download/${webVersion}/dist.tar.gz";
hash = "sha256-rNVa+dr/SX2aYHBzeV8QdD5XYCFyelhbqkTpvhF+S2g=";
};
proxyVendor = true;
vendorHash = "sha256-IMoLVAgOaVM1xIFDe8BGOpzyBnDMfD9Q6VogFfOWFzU=";
buildInputs = [ fuse ];
tags = [ "jsoniter" ];
ldflags = [
"-s"
"-w"
"-X \"github.com/alist-org/alist/v3/internal/conf.GitAuthor=Xhofe <i@nn.ci>\""
"-X github.com/alist-org/alist/v3/internal/conf.Version=${version}"
"-X github.com/alist-org/alist/v3/internal/conf.WebVersion=${webVersion}"
];
preConfigure = ''
rm -rf public/dist
cp -r ${web} public/dist
'';
preBuild = ''
ldflags+=" -X \"github.com/alist-org/alist/v3/internal/conf.GoVersion=$(go version | sed 's/go version //')\""
ldflags+=" -X \"github.com/alist-org/alist/v3/internal/conf.BuiltAt=$(cat SOURCE_DATE_EPOCH)\""
ldflags+=" -X github.com/alist-org/alist/v3/internal/conf.GitCommit=$(cat COMMIT)"
'';
checkFlags =
let
# Skip tests that require network access
skippedTests = [
"TestHTTPAll"
"TestWebsocketAll"
"TestWebsocketCaller"
"TestDownloadOrder"
];
in
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd alist \
--bash <($out/bin/alist completion bash) \
--fish <($out/bin/alist completion fish) \
--zsh <($out/bin/alist completion zsh)
'';
doInstallCheck = true;
versionCheckProgramArg = "version";
nativeInstallCheckInputs = [
versionCheckHook
];
passthru = {
updateScript = lib.getExe (callPackage ./update.nix { });
};
meta = {
description = "File list/WebDAV program that supports multiple storages";
homepage = "https://github.com/alist-org/alist";
changelog = "https://github.com/alist-org/alist/releases/tag/v${version}";
license = with lib.licenses; [
agpl3Only
# alist-web
mit
];
knownVulnerabilities = [
"Alist was acquired by Bugotech, a company distrusted by the community"
"Uses a questionable API server alist.nn.ci for account creation for certain drivers"
];
maintainers = with lib.maintainers; [ moraxyc ];
sourceProvenance = with lib.sourceTypes; [
fromSource
# alist-web
binaryBytecode
];
mainProgram = "alist";
};
}

View File

@@ -0,0 +1,43 @@
{
writeShellApplication,
nix,
nix-update,
curl,
jq,
common-updater-scripts,
}:
writeShellApplication {
name = "update-alist";
runtimeInputs = [
curl
jq
nix
common-updater-scripts
nix-update
];
text = ''
# get old info
oldVersion=$(nix-instantiate --eval --strict -A "alist.version" | jq -e -r)
get_latest_release() {
local repo=$1
curl --fail ''${GITHUB_TOKEN:+ -H "Authorization: bearer $GITHUB_TOKEN"} \
-s "https://api.github.com/repos/AlistGo/$repo/releases/latest" | jq -r ".tag_name"
}
version=$(get_latest_release "alist")
version="''${version#v}"
webVersion=$(get_latest_release "alist-web")
if [[ "$oldVersion" == "$version" ]]; then
echo "Already up to date!"
exit 0
fi
update-source-version alist "$webVersion" --source-key=web --version-key=webVersion
nix-update alist --version="$version"
'';
}

View File

@@ -0,0 +1,77 @@
{
lib,
fetchFromGitHub,
flutter327,
libayatana-appindicator,
copyDesktopItems,
makeDesktopItem,
runCommand,
yq,
alisthelper,
_experimental-update-script-combinators,
gitUpdater,
}:
flutter327.buildFlutterApplication {
pname = "alisthelper";
version = "0.2.0-unstable-2025-01-04";
src = fetchFromGitHub {
owner = "Xmarmalade";
repo = "alisthelper";
rev = "181a1207df0c9eb8336097b9a9249342dd9df097";
hash = "sha256-6FJd+8eJoRK3cEdkLCgr7q4L6kEeSsMMkiVRx6Pa5jk=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
nativeBuildInputs = [
copyDesktopItems
];
buildInputs = [
libayatana-appindicator
];
preBuild = ''
packageRun build_runner build
'';
desktopItems = [
(makeDesktopItem {
name = "alisthelper";
exec = "alisthelper";
icon = "alisthelper";
desktopName = "Alist Helper";
})
];
postInstall = ''
install -Dm644 assets/alisthelper.png -t $out/share/pixmaps
'';
passthru = {
pubspecSource =
runCommand "pubspec.lock.json"
{
buildInputs = [ yq ];
inherit (alisthelper) src;
}
''
cat $src/pubspec.lock | yq > $out
'';
updateScript = _experimental-update-script-combinators.sequence [
(gitUpdater { rev-prefix = "v"; })
(_experimental-update-script-combinators.copyAttrOutputToFile "alisthelper.pubspecSource" ./pubspec.lock.json)
];
};
meta = {
description = "Designed to simplify the use of the desktop version of alist";
homepage = "https://github.com/Xmarmalade/alisthelper";
mainProgram = "alisthelper";
license = with lib.licenses; [ gpl3Plus ];
maintainers = [ ];
platforms = lib.platforms.linux;
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,52 @@
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
nix-update-script,
pkg-config,
openssl,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "alistral";
version = "0.5.14";
src = fetchFromGitHub {
owner = "RustyNova016";
repo = "Alistral";
tag = "v${finalAttrs.version}";
hash = "sha256-PffZx2rkOdwwhZ4LYE6ZiAWa68oZT3Gly6Is9gRPWdw=";
};
cargoHash = "sha256-FfTySXynezMs/Nkuai+jZCSJnIo5D3obh3LboYYGhVk=";
buildNoDefaultFeatures = true;
# Would be cleaner with an "--all-features" option
buildFeatures = [ "full" ];
nativeBuildInputs = [
pkg-config
];
buildInputs = [
openssl
];
# Wants to create config file where it s not allowed
doCheck = false;
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://rustynova016.github.io/Alistral/";
changelog = "https://github.com/RustyNova016/Alistral/blob/${finalAttrs.src.tag}/CHANGELOG.md";
description = "Power tools for Listenbrainz";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
jopejoe1
RustyNova
];
mainProgram = "alistral";
};
})

View File

@@ -0,0 +1,73 @@
{
lib,
clangStdenv,
fetchFromGitHub,
re2c,
z3,
hiredis,
llvm,
cmake,
ninja,
nix-update-script,
}:
clangStdenv.mkDerivation (finalAttrs: {
pname = "alive2";
version = "21.0";
src = fetchFromGitHub {
owner = "AliveToolkit";
repo = "alive2";
tag = "v${finalAttrs.version}";
hash = "sha256-LL6/Epn6iHQJGKb8PX+U6zvXK/WTlvOIJPr6JuGRsSU=";
};
nativeBuildInputs = [
cmake
ninja
re2c
];
buildInputs = [
z3
hiredis
llvm
];
strictDeps = true;
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail '-Werror' "" \
--replace-fail 'find_package(Git REQUIRED)' ""
'';
env = {
ALIVE2_HOME = "$PWD";
LLVM2_HOME = "${llvm}";
LLVM2_BUILD = "$LLVM2_HOME/build";
};
preBuild = ''
mkdir -p build
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp alive $out/bin/
cp alive-jobserver $out/bin/
rm -rf $out/bin/CMakeFiles $out/bin/*.o
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Automatic verification of LLVM optimizations";
homepage = "https://github.com/AliveToolkit/alive2";
license = lib.licenses.mit;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ shogo ];
teams = [ lib.teams.ngi ];
mainProgram = "alive";
};
})

View File

@@ -0,0 +1,50 @@
{
lib,
buildGoModule,
fetchFromGitHub,
writableTmpDirAsHomeHook,
nix-update-script,
}:
buildGoModule rec {
pname = "aliyun-cli";
version = "3.0.305";
src = fetchFromGitHub {
owner = "aliyun";
repo = "aliyun-cli";
tag = "v${version}";
hash = "sha256-zbDG6Mr+CVMoIfB7Jy99VrSNdAER+qYh3fbzoI6tMiE=";
fetchSubmodules = true;
};
vendorHash = "sha256-WbMyxOSCWtlngqQHtKfkWq9bYlXUmvijGwt3zM9JoNY=";
subPackages = [ "main" ];
ldflags = [
"-s"
"-w"
"-X github.com/aliyun/aliyun-cli/v3/cli.Version=${version}"
];
nativeCheckInputs = [ writableTmpDirAsHomeHook ];
postInstall = ''
mv $out/bin/main $out/bin/aliyun
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Tool to manage and use Alibaba Cloud resources through a command line interface";
homepage = "https://github.com/aliyun/aliyun-cli";
changelog = "https://github.com/aliyun/aliyun-cli/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
ornxka
ryan4yin
];
mainProgram = "aliyun";
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation rec {
pname = "alkalami";
version = "3.000";
src = fetchzip {
url = "https://software.sil.org/downloads/r/alkalami/Alkalami-${version}.zip";
hash = "sha256-ra664VbUKc8XpULCWhLMVnc1mW4pqZvbvwuBvRQRhcY=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/{doc/${pname},fonts/truetype}
mv *.ttf $out/share/fonts/truetype/
mv *.txt documentation $out/share/doc/${pname}/
runHook postInstall
'';
meta = with lib; {
homepage = "https://software.sil.org/alkalami/";
description = "Font for Arabic-based writing systems in the Kano region of Nigeria and in Niger";
license = licenses.ofl;
maintainers = [ maintainers.vbgl ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchFromGitLab,
cmake,
doxygen,
graphviz,
mpir,
kdePackages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "alkimia";
version = "8.2.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "office";
repo = "alkimia";
tag = "v${finalAttrs.version}";
hash = "sha256-v5DfnnzOMsoCXr074ydXxBIrSsnbex6G/OqF6psTvPs=";
};
cmakeFlags = [
"-DBUILD_WITH_QT6=1"
];
nativeBuildInputs = [
cmake
doxygen
graphviz
]
++ (with kdePackages; [
extra-cmake-modules
wrapQtAppsHook
]);
# qtwebengine is not a mandatory dependency, but it adds some features
# we might need for alkimia's dependents. See:
# https://github.com/KDE/alkimia/blob/v8.1.2/CMakeLists.txt#L124
buildInputs = with kdePackages; [
qtbase
qtwebengine
libplasma
knewstuff
kpackage
];
propagatedBuildInputs = [ mpir ];
meta = {
description = "Library used by KDE finance applications";
mainProgram = "onlinequoteseditor5";
longDescription = ''
Alkimia is the infrastructure for common storage and business
logic that will be used by all financial applications in KDE.
The target is to share financial related information over
application boundaries.
'';
license = lib.licenses.lgpl21Plus;
platforms = kdePackages.qtbase.meta.platforms;
};
})

View File

@@ -0,0 +1,30 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
}:
buildNpmPackage rec {
pname = "all-the-package-names";
version = "2.0.2228";
src = fetchFromGitHub {
owner = "nice-registry";
repo = "all-the-package-names";
tag = "v${version}";
hash = "sha256-Qq5dHI6Z33MbGvOKSzONeYgb/u0kgH3PFPV9zhfjkyY=";
};
npmDepsHash = "sha256-NxyOqp3chgionveBfCVN5VnMF7cLZhmV15Ff5n91lQQ=";
passthru.updateScript = nix-update-script { };
meta = {
description = "List of all the public package names on npm";
homepage = "https://github.com/nice-registry/all-the-package-names";
license = lib.licenses.mit;
mainProgram = "all-the-package-names";
maintainers = with lib.maintainers; [ donovanglover ];
};
}

View File

@@ -0,0 +1,80 @@
{
lib,
stdenv,
fetchFromGitHub,
xorgproto,
motif,
libX11,
libXt,
libXpm,
bison,
flex,
automake,
autoconf,
libtool,
}:
stdenv.mkDerivation {
pname = "alliance";
version = "unstable-2025-02-24";
src =
let
src = fetchFromGitHub {
owner = "lip6";
repo = "alliance";
rev = "a8502d32df0a4ad1bd29ab784c4332319669ecd2";
hash = "sha256-b2uaYZEzHMB3qCMRVANNnjTxr6OYb1Unswxjq5knYzM=";
};
in
"${src}/alliance/src";
nativeBuildInputs = [
libtool
automake
autoconf
flex
];
buildInputs = [
xorgproto
motif
libX11
libXt
libXpm
bison
];
configureFlags = [
"--enable-alc-shared"
];
# To avoid compiler error in LoadDataBase.c:366:27
env.NIX_CFLAGS_COMPILE = "-Wno-incompatible-pointer-types";
postPatch = ''
# texlive for docs seems extreme
substituteInPlace autostuff \
--replace "$newdirs documentation" "$newdirs"
substituteInPlace sea/src/DEF_grammar_lex.l --replace "ifndef FLEX_BETA" \
"if (YY_FLEX_MAJOR_VERSION <= 2) && (YY_FLEX_MINOR_VERSION < 6)"
./autostuff
'';
postInstall = ''
sed -i "s|ALLIANCE_TOP|$out|" distrib/*.desktop
mkdir -p $out/share/applications
cp -p distrib/*.desktop $out/share/applications/
mkdir -p $out/icons/hicolor/48x48/apps/
cp -p distrib/*.png $out/icons/hicolor/48x48/apps/
'';
meta = with lib; {
description = "(deprecated) Complete set of free CAD tools and portable libraries for VLSI design";
homepage = "http://coriolis.lip6.fr/";
license = with licenses; gpl2Plus;
maintainers = [ ];
platforms = with platforms; linux;
};
}

View File

@@ -0,0 +1,86 @@
From b68287d3770fd1d2ba2c83a0de6b9b9bc550bee2 Mon Sep 17 00:00:00 2001
From: wxt <3264117476@qq.com>
Date: Sat, 2 Nov 2024 18:17:20 +0800
Subject: [PATCH] Add go.mod & go.sum; remove vendor
---
go.mod | 27 +++++++++++++++++++++++++++
go.sum | 32 ++++++++++++++++++++++++++++++++
2 files changed, 59 insertions(+)
create mode 100644 go.mod
create mode 100644 go.sum
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..21b33b1
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,27 @@
+module github.com/andreaskoch/allmark
+
+go 1.19
+
+require (
+ github.com/abbot/go-http-auth v0.4.0
+ github.com/andreaskoch/fulltext v0.0.0-20150721192424-05ab8b1eab52
+ github.com/andreaskoch/go-fswatch v1.0.0
+ github.com/gorilla/handlers v1.5.2
+ github.com/gorilla/mux v1.8.1
+ github.com/kyokomi/emoji v1.5.1
+ github.com/mitchellh/go-homedir v1.1.0
+ github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
+ github.com/russross/blackfriday v1.6.0
+ github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
+ github.com/spf13/afero v1.11.0
+ golang.org/x/net v0.26.0
+)
+
+require (
+ github.com/felixge/httpsnoop v1.0.3 // indirect
+ github.com/jbarham/go-cdb v0.0.0-20200301055225-9d6f6caadef0 // indirect
+ golang.org/x/crypto v0.24.0 // indirect
+ golang.org/x/text v0.16.0 // indirect
+)
+
+replace github.com/jbarham/go-cdb => github.com/jbarham/cdb v0.0.0-20200301055225-9d6f6caadef0
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..0dc9e58
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,32 @@
+github.com/abbot/go-http-auth v0.4.0 h1:QjmvZ5gSC7jm3Zg54DqWE/T5m1t2AfDu6QlXJT0EVT0=
+github.com/abbot/go-http-auth v0.4.0/go.mod h1:Cz6ARTIzApMJDzh5bRMSUou6UMSp0IEXg9km/ci7TJM=
+github.com/andreaskoch/fulltext v0.0.0-20150721192424-05ab8b1eab52 h1:Qp0ffUn2ZJsi5GXcE89Hk6QuZnSfFfgxm1+zzSJ45ak=
+github.com/andreaskoch/fulltext v0.0.0-20150721192424-05ab8b1eab52/go.mod h1:zETSTZmtSh/XxEkD4vIlbf1Ih/gKC+10kcpBO6mv3iE=
+github.com/andreaskoch/go-fswatch v1.0.0 h1:la8nP/HiaFCxP2IM6NZNUCoxgLWuyNFgH0RligBbnJU=
+github.com/andreaskoch/go-fswatch v1.0.0/go.mod h1:r5/iV+4jfwoY2sYqBkg8vpF04ehOvEl4qPptVGdxmqo=
+github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
+github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
+github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
+github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
+github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
+github.com/jbarham/cdb v0.0.0-20200301055225-9d6f6caadef0 h1:UfCOnKxwt2dxueylTrrjjyMsaXPHTSJJygePRYaRntE=
+github.com/jbarham/cdb v0.0.0-20200301055225-9d6f6caadef0/go.mod h1:ColEidrii1lqlFhoEckJfZsa0mWxC0I2+f7G/5hZWsw=
+github.com/kyokomi/emoji v1.5.1 h1:qp9dub1mW7C4MlvoRENH6EAENb9skEFOvIEbp1Waj38=
+github.com/kyokomi/emoji v1.5.1/go.mod h1:mZ6aGCD7yk8j6QY6KICwnZ2pxoszVseX1DNoGtU2tBA=
+github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
+github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
+github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=
+github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
+github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
+github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
+github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA=
+github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
+github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
+github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
+golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
+golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
+golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
+golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
+golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
+golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
--
2.46.1

View File

@@ -0,0 +1,43 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "allmark";
version = "0.10.0";
src = fetchFromGitHub {
owner = "andreaskoch";
repo = "allmark";
tag = "v${version}";
hash = "sha256-JfNn/e+cSq1pkeXs7A2dMsyhwOnh7x2bwm6dv6NOjLU=";
};
vendorHash = "sha256-dEmI+COrWhXdqtTkLIjyiUapHtjezCEuY9jLDqxkBBg=";
deleteVendor = true;
patches = [
./0001-Add-go.mod-go.sum.patch # Add go.mod, go.sum, remove vendor
];
postInstall = ''
mv $out/bin/{cli,allmark}
'';
__darwinAllowLocalNetworking = true;
meta = {
description = "Cross-platform markdown web server";
homepage = "https://github.com/andreaskoch/allmark";
changelog = "https://github.com/andreaskoch/allmark/-/releases/v${version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
luftmensch-luftmensch
urandom
];
mainProgram = "allmark";
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
stdenv,
makeWrapper,
fetchurl,
jre,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "allure";
version = "2.35.1";
src = fetchurl {
url = "https://github.com/allure-framework/allure2/releases/download/${finalAttrs.version}/allure-${finalAttrs.version}.tgz";
hash = "sha256-tAxvH4L4uUXYsUVL6x5kHxlgBCQehyApmu6GIhi9rKY=";
};
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre ];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share}
cd "$out/share"
tar xvzf $src
makeWrapper $out/share/${finalAttrs.meta.mainProgram}-${finalAttrs.version}/bin/allure $out/bin/${finalAttrs.meta.mainProgram} \
--prefix PATH : "${jre}/bin"
runHook postInstall
'';
meta = {
homepage = "https://allurereport.org/";
description = "Flexible, lightweight multi-language test reporting tool";
longDescription = ''
Allure Report is a flexible, lightweight multi-language test reporting
tool providing clear graphical reports and allowing everyone involved
in the development process to extract the maximum of information from
the everyday testing process.
'';
license = lib.licenses.asl20;
mainProgram = "allure";
maintainers = with lib.maintainers; [ happysalada ];
};
})

View File

@@ -0,0 +1,78 @@
{
stdenv,
lib,
fetchurl,
atk,
cairo,
desktop-file-utils,
evolution-data-server-gtk4,
evolution,
gcr_4,
gettext,
glib,
gnome,
gpgme,
gtk3,
gtksourceview4,
gtkspell3,
libcryptui,
libxml2,
meson,
ninja,
pkg-config,
python3,
sqlite,
wrapGAppsHook3,
}:
stdenv.mkDerivation rec {
pname = "almanah";
version = "0.12.4";
src = fetchurl {
url = "mirror://gnome/sources/almanah/${lib.versions.majorMinor version}/almanah-${version}.tar.xz";
sha256 = "DywW6Gkohf0lrX3Mw/UawrS4h2JOaOfqH2SulHkxlFI=";
};
nativeBuildInputs = [
desktop-file-utils
gettext
libxml2
meson
ninja
pkg-config
python3
wrapGAppsHook3
];
buildInputs = [
atk
cairo
evolution-data-server-gtk4
gcr_4
glib
evolution
gpgme
gtk3
gtksourceview4
gtkspell3
libcryptui
sqlite
];
passthru = {
updateScript = gnome.updateScript {
packageName = "almanah";
versionPolicy = "none"; # it is quite odd
};
};
meta = with lib; {
description = "Small GTK application to allow to keep a diary of your life";
mainProgram = "almanah";
homepage = "https://gitlab.gnome.org/GNOME/almanah";
license = licenses.gpl3Plus;
platforms = platforms.unix;
teams = [ teams.gnome ];
};
}

View File

@@ -0,0 +1,49 @@
{
lib,
fetchFromGitHub,
stdenv,
gcc,
python312Packages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "almo";
version = "0.9.6-alpha";
src = fetchFromGitHub {
owner = "abap34";
repo = "almo";
tag = "v${finalAttrs.version}";
hash = "sha256-eNigZUeUz6ZjQsn+0S6+Orv0WoLbqGgoA3+wG5ZcSBI=";
};
buildInputs = [
gcc
python312Packages.pybind11
];
makeFlags = [ "all" ];
# remove darwin-only linker flag on linux
postPatch = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
substituteInPlace scripts/pybind.sh \
--replace-fail " -undefined dynamic_lookup" ""
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/lib
cp build/almo $out/bin
cp almo.so $out/lib
runHook postInstall
'';
meta = {
description = "Markdown parser and static site generator";
license = lib.licenses.mit;
platforms = lib.platforms.all;
homepage = "https://github.com/abap34/almo";
changelog = "https://github.com/abap34/almo/releases/tag/${finalAttrs.src.tag}";
maintainers = with lib.maintainers; [ momeemt ];
mainProgram = "almo";
};
})

View File

@@ -0,0 +1,35 @@
{
lib,
python3,
fetchFromGitHub,
ncurses,
}:
python3.pkgs.buildPythonApplication rec {
pname = "almonds";
version = "1.25b";
format = "pyproject";
src = fetchFromGitHub {
owner = "Tenchi2xh";
repo = "Almonds";
tag = version;
sha256 = "0j8d8jizivnfx8lpc4w6sbqj5hq35nfz0vdg7ld80sc5cs7jr3ws";
};
build-system = with python3.pkgs; [ setuptools ];
dependencies = with python3.pkgs; [ pillow ];
buildInputs = [ ncurses ];
nativeCheckInputs = with python3.pkgs; [ pytestCheckHook ];
meta = with lib; {
description = "Terminal Mandelbrot fractal viewer";
mainProgram = "almonds";
homepage = "https://github.com/Tenchi2xh/Almonds";
license = licenses.mit;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,72 @@
{
lib,
stdenv,
fetchFromGitHub,
gitUpdater,
pkg-config,
autoreconfHook,
libX11,
pam,
libgcrypt,
libXrender,
imlib2,
}:
stdenv.mkDerivation rec {
pname = "alock";
version = "2.5.1";
src = fetchFromGitHub {
owner = "Arkq";
repo = "alock";
tag = "v${version}";
hash = "sha256-xfPhsXZrTlEqea75SvacDfjM9o21MTudrqfNN9xtdcg=";
};
PAM_DEFAULT_SERVICE = "login";
configureFlags = [
"--enable-pam"
"--enable-hash"
"--enable-xrender"
"--enable-imlib2"
];
nativeBuildInputs = [
pkg-config
autoreconfHook
];
buildInputs = [
libX11
pam
libgcrypt
libXrender
imlib2
];
passthru.updateScript = gitUpdater {
rev-prefix = "v";
allowedVersions = "\\.";
};
meta = with lib; {
homepage = "https://github.com/Arkq/alock";
description = "Simple screen lock application for X server";
mainProgram = "alock";
longDescription = ''
alock locks the X server until the user enters a password
via the keyboard. If the authentication was successful
the X server is unlocked and the user can continue to work.
alock does not provide any fancy animations like xlock or
xscreensaver and never will. It's just for locking the current
X session.
'';
platforms = platforms.linux;
maintainers = with maintainers; [
ftrvxmtrx
chris-martin
];
license = licenses.mit;
};
}

View File

@@ -0,0 +1,107 @@
{
lib,
python3,
python3Packages,
fetchFromGitHub,
gnupg,
gawk,
procps,
notmuch,
withManpage ? false,
}:
python3Packages.buildPythonApplication rec {
pname = "alot";
version = "0.11";
pyproject = true;
outputs = [
"out"
]
++ lib.optionals withManpage [
"man"
];
src = fetchFromGitHub {
owner = "pazz";
repo = "alot";
tag = version;
hash = "sha256-mXaRzl7260uxio/BQ36BCBxgKhl1r0Rc6PwFZA8qNqc=";
};
postPatch = ''
substituteInPlace alot/settings/manager.py \
--replace-fail /usr/share "$out/share"
'';
build-system =
with python3Packages;
[
setuptools
setuptools-scm
]
++ lib.optional withManpage sphinx;
dependencies = with python3Packages; [
configobj
gpgme
notmuch2
python-magic
standard-mailcap
twisted
urwid
urwidtrees
];
nativeCheckInputs = [
gawk
gnupg
notmuch
procps
]
++ (with python3Packages; [
pytestCheckHook
mock
]);
postBuild = lib.optionalString withManpage [
"make -C docs man"
];
disabledTests = [
# Some twisted tests need internet access
"test_env_set"
"test_no_spawn_no_stdin_attached"
# DatabaseLockedError
"test_save_named_query"
];
postInstall =
let
completionPython = python3.withPackages (ps: [ ps.configobj ]);
in
lib.optionalString withManpage ''
mkdir -p $out/man
cp -r docs/build/man $out/man
''
+ ''
mkdir -p $out/share/{applications,alot}
cp -r extra/themes $out/share/alot
substituteInPlace extra/completion/alot-completion.zsh \
--replace-fail "python3" "${completionPython.interpreter}"
install -D extra/completion/alot-completion.zsh $out/share/zsh/site-functions/_alot
sed "s,/usr/bin,$out/bin,g" extra/alot.desktop > $out/share/applications/alot.desktop
'';
meta = {
homepage = "https://github.com/pazz/alot";
description = "Terminal MUA using notmuch mail";
changelog = "https://github.com/pazz/alot/releases/tag/${src.tag}";
mainProgram = "alot";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ milibopp ];
};
}

View File

@@ -0,0 +1,56 @@
{
lib,
buildGoModule,
fetchFromGitHub,
runCommand,
alp,
}:
buildGoModule rec {
pname = "alp";
version = "1.1.18";
src = fetchFromGitHub {
owner = "gernotfeichter";
repo = "alp";
tag = version;
hash = "sha256-tE8qKNXLKvFcnDULVkJJ/EJyEsvATCk/3YFkZCmpHSo=";
};
vendorHash = "sha256-AHPVhtm6La7HWuxJfpxTsS5wFTUZUJoVyebLGYhNKTg=";
sourceRoot = "${src.name}/linux";
# Executing Go commands directly in checkPhase and buildPhase below,
# because the default testsuite runs all go tests, some of which require docker.
# Docker is too expensive for https://github.com/NixOS/ofborg.
checkPhase = ''
runHook preCheck
go test -run Test_main_init
runHook postCheck
'';
buildPhase = ''
runHook preBuild
go build -o $GOPATH/bin/alp main.go
runHook postBuild
'';
passthru.tests = {
test-version = runCommand "${pname}-test" { } ''
${alp}/bin/alp version > $out
cat $out | grep '${version}'
'';
};
meta = with lib; {
description = "Convenient authentication method that lets you use your android device as a key for your Linux machine";
homepage = "https://github.com/gernotfeichter/alp";
license = licenses.gpl2Only;
mainProgram = "alp";
maintainers = with maintainers; [ gernotfeichter ];
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "alpaca-proxy";
version = "2.0.11";
src = fetchFromGitHub {
owner = "samuong";
repo = "alpaca";
tag = "v${version}";
hash = "sha256-74JQ9ltJ7+sasySgNN3AaXlBILP7VgFN06adoNJG+Bc=";
};
vendorHash = "sha256-N9qpyCQg6H1v/JGJ2wCxDX+ZTM9x6/BM6wQ26xC+dlE=";
ldflags = [
"-s"
"-w"
"-X=main.BuildVersion=v${version}"
];
postInstall = ''
# executable is renamed to alpaca-proxy, to avoid collision with the alpaca python application
mv $out/bin/alpaca $out/bin/alpaca-proxy
'';
meta = with lib; {
description = "HTTP forward proxy with PAC and NTLM authentication support";
homepage = "https://github.com/samuong/alpaca";
changelog = "https://github.com/samuong/alpaca/releases/tag/v${src.rev}";
license = licenses.asl20;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ _1nv0k32 ];
mainProgram = "alpaca-proxy";
};
}

View File

@@ -0,0 +1,105 @@
{
lib,
python3Packages,
fetchFromGitHub,
appstream,
meson,
ninja,
pkg-config,
gobject-introspection,
wrapGAppsHook4,
desktop-file-utils,
libadwaita,
gtksourceview5,
xdg-utils,
ollama,
vte-gtk4,
libspelling,
nix-update-script,
}:
python3Packages.buildPythonApplication rec {
pname = "alpaca";
version = "6.1.7";
pyproject = false; # Built with meson
src = fetchFromGitHub {
owner = "Jeffser";
repo = "Alpaca";
tag = version;
hash = "sha256-9UXaJpkz9F2D490bMKU/xv+rgfrxstm1DuDwpMmydI0=";
};
nativeBuildInputs = [
appstream
meson
ninja
pkg-config
gobject-introspection
wrapGAppsHook4
desktop-file-utils
];
buildInputs = [
libadwaita
gtksourceview5
vte-gtk4
libspelling
];
dependencies = with python3Packages; [
pygobject3
requests
pillow
html2text
youtube-transcript-api
pydbus
odfpy
pyicu
matplotlib
openai
markitdown
];
optional-dependencies = {
speech-to-text = [ python3Packages.openai-whisper ];
};
dontWrapGApps = true;
makeWrapperArgs = [
"\${gappsWrapperArgs[@]}"
"--prefix PATH : ${
lib.makeBinPath [
xdg-utils
ollama
]
}"
# Declared but not used in src/window.py, for later reference
# https://github.com/flatpak/flatpak/issues/3229
"--set FLATPAK_DEST ${placeholder "out"}"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Ollama client made with GTK4 and Adwaita";
longDescription = ''
To run Alpaca with GPU acceleration enabled, simply override it:
```nix
pkgs.alpaca.override {
ollama = pkgs.ollama-cuda;
}
```
Or using `pkgs.ollama-rocm` for AMD GPUs.
'';
homepage = "https://jeffser.com/alpaca";
license = lib.licenses.gpl3Plus;
mainProgram = "alpaca";
maintainers = with lib.maintainers; [
aleksana
Gliczy
];
platforms = lib.platforms.unix;
};
}

View File

@@ -0,0 +1,58 @@
{
stdenvNoCC,
lib,
fetchFromGitHub,
makeWrapper,
apk-tools,
coreutils,
findutils,
gnugrep,
gnused,
gnutar,
gzip,
rsync,
util-linux,
wget,
}:
stdenvNoCC.mkDerivation rec {
pname = "alpine-make-rootfs";
version = "0.7.2";
src = fetchFromGitHub {
owner = "alpinelinux";
repo = "alpine-make-rootfs";
tag = "v${version}";
hash = "sha256-sNqaMBtbklSBcKxsc3ROI30bE1PUzJJeZqLqC9p3H+U=";
};
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
makeFlags = [ "PREFIX=$(out)" ];
postInstall = ''
wrapProgram $out/bin/alpine-make-rootfs --set PATH ${
lib.makeBinPath [
apk-tools
coreutils
findutils
gnugrep
gnused
gnutar
gzip
rsync
util-linux
wget
]
}
'';
meta = with lib; {
homepage = "https://github.com/alpinelinux/alpine-make-rootfs";
description = "Make customized Alpine Linux rootfs (base image) for containers";
mainProgram = "alpine-make-rootfs";
maintainers = with maintainers; [ danielsidhion ];
license = licenses.mit;
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,61 @@
{
stdenv,
lib,
fetchFromGitHub,
makeWrapper,
apk-tools,
coreutils,
dosfstools,
e2fsprogs,
findutils,
gnugrep,
gnused,
kmod,
qemu-utils,
rsync,
util-linux,
}:
stdenv.mkDerivation rec {
pname = "alpine-make-vm-image";
version = "0.13.3";
src = fetchFromGitHub {
owner = "alpinelinux";
repo = "alpine-make-vm-image";
tag = "v${version}";
hash = "sha256-AIwT2JAGnMeMXUXZ0FRJthf22FvFfTTw/2LtZKPSj6g=";
};
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
makeFlags = [ "PREFIX=$(out)" ];
postInstall = ''
wrapProgram $out/bin/alpine-make-vm-image --set PATH ${
lib.makeBinPath [
apk-tools
coreutils
dosfstools
e2fsprogs
findutils
gnugrep
gnused
kmod
qemu-utils
rsync
util-linux
]
}
'';
meta = with lib; {
homepage = "https://github.com/alpinelinux/alpine-make-vm-image";
description = "Make customized Alpine Linux disk image for virtual machines";
license = licenses.mit;
maintainers = with maintainers; [ wegank ];
platforms = platforms.unix;
mainProgram = "alpine-make-vm-image";
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
stdenv,
fetchgit,
buildPackages,
ncurses,
tcl,
openssl,
pam,
libkrb5,
openldap,
libxcrypt,
gitUpdater,
}:
stdenv.mkDerivation rec {
pname = "alpine";
version = "2.26";
src = fetchgit {
url = "https://repo.or.cz/alpine.git";
tag = "v${version}";
hash = "sha256-cJyUBatQBjD6RG+jesJ0JRhWghPRBACc/HQl+2aCTd0=";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
buildInputs = [
ncurses
tcl
openssl
pam
libkrb5
openldap
libxcrypt
];
hardeningDisable = [ "format" ];
configureFlags = [
"--with-ssl-include-dir=${openssl.dev}/include/openssl"
"--with-passfile=.pine-passfile"
"--with-c-client-target=slx"
];
# Fixes https://github.com/NixOS/nixpkgs/issues/372699
# See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1074804
env.NIX_CFLAGS_COMPILE = toString [ "-Wno-incompatible-pointer-types" ];
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = with lib; {
description = "Console mail reader";
license = licenses.asl20;
maintainers = with maintainers; [
raskin
rhendric
];
platforms = platforms.linux;
homepage = "https://alpineapp.email/";
};
}

View File

@@ -0,0 +1,36 @@
{
buildGoModule,
fetchFromGitHub,
lib,
}:
buildGoModule rec {
pname = "alpnpass";
version = "0.1";
src = fetchFromGitHub {
owner = "VerSprite";
repo = "alpnpass";
tag = version;
hash = "sha256-hNZqGTV17rFSKLhZzNqH2E4SSb6Jhk7YQ4TN0HnE+9g=";
};
vendorHash = null;
meta = with lib; {
description = "Inspect the plaintext payload inside of proxied TLS connections";
longDescription = ''
This tool will listen on a given port, strip SSL encryption,
forward traffic through a plain TCP proxy,
then encrypt the returning traffic again
and send it to the target of your choice.
Unlike most SSL stripping solutions this tool will negotiate ALPN and
preserve the negotiated protocol all the way to the target.
'';
homepage = "https://github.com/VerSprite/alpnpass";
license = licenses.unlicense;
maintainers = [ maintainers.raboof ];
mainProgram = "alpnpass";
};
}

View File

@@ -0,0 +1,61 @@
{
lib,
buildGoModule,
fetchFromSourcehut,
fetchpatch,
nixosTests,
}:
buildGoModule {
pname = "alps";
version = "2022-10-18";
src = fetchFromSourcehut {
owner = "~migadu";
repo = "alps";
rev = "f01fbcbc48db5e65d69a0ebd9d7cb0deb378cf13";
hash = "sha256-RSug3YSiqYLGs05Bee4NoaoCyPvUZ7IqlKWI1hmxbiA=";
};
vendorHash = "sha256-QsGfINktk+rBj4b5h+NBVS6XV1SVz+9fDL1vtUqcKEU=";
ldflags = [
"-s"
"-w"
"-X main.themesPath=${placeholder "out"}/share/alps/themes"
"-X git.sr.ht/~migadu/alps.PluginDir=${placeholder "out"}/share/alps/plugins"
];
patches = [
(fetchpatch {
name = "Issue-160-Alps-theme-has-a-enormous-move-to-list-sel";
url = "https://lists.sr.ht/~migadu/alps-devel/patches/30096/mbox";
hash = "sha256-Sz/SCkrrXZWrmJzjfPXi+UfCcbwsy6QiA7m34iiEFX0=";
})
];
postPatch = ''
substituteInPlace plugin.go --replace "const PluginDir" "var PluginDir"
'';
postInstall = ''
mkdir -p "$out/share/alps"
cp -r themes plugins "$out/share/alps/"
'';
proxyVendor = true;
passthru.tests = { inherit (nixosTests) alps; };
meta = with lib; {
description = "Simple and extensible webmail";
homepage = "https://git.sr.ht/~migadu/alps";
license = licenses.mit;
maintainers = with maintainers; [
booklearner
madonius
hmenke
];
mainProgram = "alps";
};
}

View File

@@ -0,0 +1,62 @@
{
lib,
stdenv,
buildPackages,
autoreconfHook,
fetchurl,
fetchpatch,
directoryListingUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "alsa-firmware";
version = "1.2.4";
src = fetchurl {
url = "mirror://alsa/firmware/alsa-firmware-${finalAttrs.version}.tar.bz2";
hash = "sha256-tnttfQi8/CR+9v8KuIqZwYgwWjz1euLf0LzZpbNs1bs=";
};
patches = [
# fixes some includes / missing types on musl libc; should not make a difference for other platforms
(fetchpatch {
url = "https://raw.githubusercontent.com/void-linux/void-packages/ae690000017d5fd355ab397c49202426e3a01c11/srcpkgs/alsa-firmware/patches/musl.patch";
hash = "sha256-4A+TBBvpz14NwMNewLc2LQL51hnz4EZlZ44rhnx5dnc=";
})
];
nativeBuildInputs = [ autoreconfHook ];
configureFlags = [ "--with-hotplug-dir=$(out)/lib/firmware" ];
depsBuildBuild = lib.optional (
stdenv.buildPlatform != stdenv.hostPlatform
|| stdenv.hostPlatform.isAarch64
|| stdenv.hostPlatform.isLoongArch64
|| stdenv.hostPlatform.isRiscV64
) buildPackages.stdenv.cc;
dontStrip = true;
postInstall = ''
# These are lifted from the Arch PKGBUILD
# remove files which conflicts with linux-firmware
rm -rf $out/lib/firmware/{ct{efx,speq}.bin,ess,korg,sb16,yamaha}
# remove broken symlinks (broken upstream)
rm -rf $out/lib/firmware/turtlebeach
# remove empty dir
rm -rf $out/bin
'';
passthru.updateScript = directoryListingUpdater {
url = "https://alsa-project.org/files/pub/firmware/";
};
meta = {
homepage = "http://www.alsa-project.org/";
description = "Soundcard firmwares from the alsa project";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = [ ];
};
})

View File

@@ -0,0 +1,55 @@
{
lib,
pkgs,
alsa-lib,
plugins ? [ pkgs.alsa-plugins ],
lndir,
symlinkJoin,
runCommand,
}:
let
merged = symlinkJoin {
name = "alsa-plugins-merged";
paths = plugins;
};
in
runCommand "${alsa-lib.pname}-${alsa-lib.version}"
{
meta = with lib; {
description = "Wrapper to ease access to ALSA plugins";
mainProgram = "aserver";
platforms = platforms.linux;
};
outputs = alsa-lib.outputs;
}
(
(lib.concatMapStringsSep "\n" (output: ''
mkdir ${placeholder output}
${lndir}/bin/lndir ${lib.attrByPath [ output ] null alsa-lib} \
${placeholder output}
'') alsa-lib.outputs)
+ ''
cp -r ${merged}/lib/alsa-lib $out/lib
(
echo $out | wc -c
echo ${alsa-lib} | wc -c
) | xargs echo | grep -q "^\(.*\) \1$" || (
echo cannot binary patch
exit 1
)
rm $out/lib/libasound.la
rm $out/lib/libasound.so.?.?.?
rm $dev/lib/pkgconfig/alsa.pc
rm $dev/nix-support/propagated-build-inputs
cp ${alsa-lib}/lib/libasound.la $out/lib
cp ${alsa-lib}/lib/libasound.so.?.?.? $out/lib
cp ${alsa-lib.dev}/lib/pkgconfig/alsa.pc $dev/lib/pkgconfig
cp ${alsa-lib.dev}/nix-support/propagated-build-inputs $dev/nix-support
sed -i \
$out/lib/libasound.la \
$out/lib/libasound.so.?.?.? \
$dev/lib/pkgconfig/alsa.pc \
$dev/nix-support/propagated-build-inputs \
-e "s@${alsa-lib}@$out@g"
''
)

View File

@@ -0,0 +1,232 @@
diff --git a/src/control/control.c b/src/control/control.c
index d66ed75..42cecad 100644
--- a/src/control/control.c
+++ b/src/control/control.c
@@ -838,6 +838,10 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
#ifndef PIC
extern void *snd_control_open_symbols(void);
#endif
+
+ snd_config_t *libs = NULL;
+ const char *libs_lib = NULL;
+
if (snd_config_get_type(ctl_conf) != SND_CONFIG_TYPE_COMPOUND) {
if (name)
SNDERR("Invalid type for CTL %s definition", name);
@@ -879,6 +883,19 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
SNDERR("Invalid type for %s", id);
goto _err;
}
+
+ continue;
+ }
+ // Handle an array of extra libs.
+ if (strcmp(id, "libs") == 0) {
+ if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
+ SNDERR("Invalid type for libs definition in CTL %s definition",
+ str);
+ goto _err;
+ }
+
+ libs = n;
+
continue;
}
if (strcmp(id, "open") == 0) {
@@ -903,7 +920,62 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
open_name = buf;
sprintf(buf, "_snd_ctl_%s_open", str);
}
- if (!lib) {
+
+#ifndef PIC
+ snd_control_open_symbols();
+#endif
+
+ // Normal alsa behaviour when there is no libs array.
+ if (!libs) {
+ if (lib) {
+ open_func = snd_dlobj_cache_get(lib, open_name,
+ SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
+ }
+ }
+ // Handle libs array.
+ // Suppresses error messages if any function is loaded successfully.
+ else {
+ if (lib) {
+ open_func = snd_dlobj_cache_get(lib, open_name,
+ SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
+ }
+
+ if (!open_func) {
+ snd_config_for_each(i, next, libs) {
+ snd_config_t *n = snd_config_iterator_entry(i);
+
+ err = snd_config_get_string(n, &libs_lib);
+ if (err < 0) {
+ SNDERR("Invalid entry in CTL %s libs definition", str);
+ goto _err;
+ }
+
+ if (!open_func) {
+ open_func = snd_dlobj_cache_get(libs_lib, open_name,
+ SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
+ }
+ }
+ }
+
+ // Print error messages.
+ if (!open_func) {
+ if (lib) {
+ SNDERR("Either %s cannot be opened or %s was not defined inside",
+ lib, open_name);
+ }
+
+ snd_config_for_each(i, next, libs) {
+ snd_config_t *n = snd_config_iterator_entry(i);
+
+ snd_config_get_string(n, &libs_lib);
+ SNDERR("Either %s cannot be opened or %s was not defined inside",
+ libs_lib, open_name);
+ }
+ }
+ }
+
+ // Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
+ if (!lib && (!libs || !libs_lib)) {
const char *const *build_in = build_in_ctls;
while (*build_in) {
if (!strcmp(*build_in, str))
@@ -919,12 +991,11 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
lib = buf1;
sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
}
- }
-#ifndef PIC
- snd_control_open_symbols();
-#endif
- open_func = snd_dlobj_cache_get(lib, open_name,
+
+ open_func = snd_dlobj_cache_get(lib, open_name,
SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
+ }
+
if (open_func) {
err = open_func(ctlp, name, ctl_root, ctl_conf, mode);
if (err >= 0) {
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
index 2e24338..7f489f4 100644
--- a/src/pcm/pcm.c
+++ b/src/pcm/pcm.c
@@ -2116,6 +2116,10 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
#ifndef PIC
extern void *snd_pcm_open_symbols(void);
#endif
+
+ snd_config_t *libs = NULL;
+ const char *libs_lib = NULL;
+
if (snd_config_get_type(pcm_conf) != SND_CONFIG_TYPE_COMPOUND) {
char *val;
id = NULL;
@@ -2160,6 +2164,19 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
SNDERR("Invalid type for %s", id);
goto _err;
}
+
+ continue;
+ }
+ // Handle an array of extra libs.
+ if (strcmp(id, "libs") == 0) {
+ if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
+ SNDERR("Invalid type for libs definition in PCM %s definition",
+ str);
+ goto _err;
+ }
+
+ libs = n;
+
continue;
}
if (strcmp(id, "open") == 0) {
@@ -2184,7 +2201,62 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
open_name = buf;
sprintf(buf, "_snd_pcm_%s_open", str);
}
- if (!lib) {
+
+#ifndef PIC
+ snd_pcm_open_symbols(); /* this call is for static linking only */
+#endif
+
+ // Normal alsa behaviour when there is no libs array.
+ if (!libs) {
+ if (lib) {
+ open_func = snd_dlobj_cache_get(lib, open_name,
+ SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
+ }
+ }
+ // Handle libs array.
+ // Suppresses error messages if any function is loaded successfully.
+ else {
+ if (lib) {
+ open_func = snd_dlobj_cache_get(lib, open_name,
+ SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
+ }
+
+ if (!open_func) {
+ snd_config_for_each(i, next, libs) {
+ snd_config_t *n = snd_config_iterator_entry(i);
+
+ err = snd_config_get_string(n, &libs_lib);
+ if (err < 0) {
+ SNDERR("Invalid entry in PCM %s libs definition", str);
+ goto _err;
+ }
+
+ if (!open_func) {
+ open_func = snd_dlobj_cache_get(libs_lib, open_name,
+ SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
+ }
+ }
+ }
+
+ // Print error messages.
+ if (!open_func) {
+ if (lib) {
+ SNDERR("Either %s cannot be opened or %s was not defined inside",
+ lib, open_name);
+ }
+
+ snd_config_for_each(i, next, libs) {
+ snd_config_t *n = snd_config_iterator_entry(i);
+
+ snd_config_get_string(n, &libs_lib);
+ SNDERR("Either %s cannot be opened or %s was not defined inside",
+ libs_lib, open_name);
+ }
+ }
+ }
+
+ // Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
+ if (!lib && (!libs || !libs_lib)) {
const char *const *build_in = build_in_pcms;
while (*build_in) {
if (!strcmp(*build_in, str))
@@ -2200,12 +2272,11 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
lib = buf1;
sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
}
- }
-#ifndef PIC
- snd_pcm_open_symbols(); /* this call is for static linking only */
-#endif
- open_func = snd_dlobj_cache_get(lib, open_name,
+
+ open_func = snd_dlobj_cache_get(lib, open_name,
SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
+ }
+
if (open_func) {
err = open_func(pcmp, name, pcm_root, pcm_conf, stream, mode);
if (err >= 0) {

View File

@@ -0,0 +1,65 @@
{
lib,
stdenv,
fetchurl,
alsa-topology-conf,
alsa-ucm-conf,
testers,
directoryListingUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "alsa-lib";
version = "1.2.14";
src = fetchurl {
url = "mirror://alsa/lib/alsa-lib-${finalAttrs.version}.tar.bz2";
hash = "sha256-vpyIoLNgQ2fddBZ6K3VKNeFC9nApKuR6L97yei7pejI=";
};
patches = [
# Add a "libs" field to the syntax recognized in the /etc/asound.conf file.
# The nixos modules for pulseaudio, jack, and pipewire are leveraging this
# "libs" field to declare locations for both native and 32bit plugins, in
# order to support apps with 32bit sound running on x86_64 architecture.
./alsa-plugin-conf-multilib.patch
];
enableParallelBuilding = true;
postInstall = ''
ln -s ${alsa-ucm-conf}/share/alsa/{ucm,ucm2} $out/share/alsa
ln -s ${alsa-topology-conf}/share/alsa/topology $out/share/alsa
'';
outputs = [
"out"
"dev"
];
passthru = {
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
updateScript = directoryListingUpdater {
url = "https://www.alsa-project.org/files/pub/lib/";
};
};
meta = {
homepage = "http://www.alsa-project.org/";
description = "ALSA, the Advanced Linux Sound Architecture libraries";
mainProgram = "aserver";
longDescription = ''
The Advanced Linux Sound Architecture (ALSA) provides audio and
MIDI functionality to the Linux-based operating system.
'';
license = lib.licenses.lgpl21Plus;
pkgConfigModules = [
"alsa"
"alsa-topology"
];
platforms = with lib.platforms; linux ++ freebsd;
maintainers = [ ];
};
})

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchurl,
alsa-lib,
gettext,
ncurses,
libsamplerate,
}:
stdenv.mkDerivation rec {
pname = "alsa-oss";
version = "1.1.8";
src = fetchurl {
url = "mirror://alsa/oss-lib/alsa-oss-${version}.tar.bz2";
hash = "sha256-ZK3O9ZJ+hI0uAk5kxL+FtvOVlk2ZdOxhkFrky4011o4=";
};
buildInputs = [
alsa-lib
ncurses
libsamplerate
];
nativeBuildInputs = [ gettext ];
configureFlags = [ "--disable-xmlto" ];
installFlags = [ "ASOUND_STATE_DIR=$(TMPDIR)/dummy" ];
meta = with lib; {
homepage = "http://www.alsa-project.org/";
description = "ALSA, the Advanced Linux Sound Architecture alsa-oss emulation";
mainProgram = "aoss";
longDescription = ''
The Advanced Linux Sound Architecture (ALSA) provides audio and
MIDI functionality to the Linux-based operating system.
'';
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,11 @@
{
stdenv,
alsa-plugins,
writeShellScriptBin,
}:
let
arch = if stdenv.hostPlatform.system == "i686-linux" then "32" else "64";
in
writeShellScriptBin "ap${arch}" ''
ALSA_PLUGIN_DIRS=${alsa-plugins}/lib/alsa-lib "$@"
''

View File

@@ -0,0 +1,52 @@
{
stdenv,
fetchurl,
lib,
pkg-config,
alsa-lib,
ffmpeg,
libjack2,
libogg,
libpulseaudio,
speexdsp,
directoryListingUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "alsa-plugins";
version = "1.2.12";
src = fetchurl {
url = "mirror://alsa/plugins/alsa-plugins-${finalAttrs.version}.tar.bz2";
hash = "sha256-e9ioPTBOji2GoliV2Nyw7wJFqN8y4nGVnNvcavObZvI=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
alsa-lib
ffmpeg
libjack2
libogg
libpulseaudio
speexdsp
];
passthru.updateScript = directoryListingUpdater {
url = "https://alsa-project.org/files/pub/plugins/";
};
meta = {
description = "Various plugins for ALSA";
homepage = "http://alsa-project.org/";
license = with lib.licenses; [
lgpl21Plus
lgpl2Plus # maemo plugin
gpl2Plus # attributes.m4 & usb_stream.h
];
maintainers = [ lib.maintainers.marcweber ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
makeWrapper,
alsa-utils,
alsa-lib,
gtk4,
openssl,
wrapGAppsHook4,
}:
stdenv.mkDerivation rec {
pname = "alsa-scarlett-gui";
version = "0.5.1";
src = fetchFromGitHub {
owner = "geoffreybennett";
repo = "alsa-scarlett-gui";
tag = version;
hash = "sha256-DkfpMK0T67B4mnriignf4hx6Ifddls0rN0SxyfEsPZg=";
};
NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
makeFlags = [
"DESTDIR=\${out}"
"PREFIX=''"
];
sourceRoot = "${src.name}/src";
postPatch = ''
substituteInPlace file.c \
--replace-fail "/usr/sbin/alsactl" "${alsa-utils}/bin/alsactl"
'';
nativeBuildInputs = [
pkg-config
wrapGAppsHook4
makeWrapper
];
buildInputs = [
gtk4
alsa-lib
openssl
];
postInstall = ''
wrapProgram $out/bin/alsa-scarlett-gui --prefix PATH : ${lib.makeBinPath [ alsa-utils ]}
substituteInPlace $out/share/applications/vu.b4.alsa-scarlett-gui.desktop \
--replace-fail "Exec=/bin/alsa-scarlett-gui" "Exec=$out/bin/alsa-scarlett-gui"
'';
# causes redefinition of _FORTIFY_SOURCE
hardeningDisable = [ "fortify3" ];
meta = with lib; {
description = "GUI for alsa controls presented by Focusrite Scarlett Gen 2/3/4 Mixer Driver";
mainProgram = "alsa-scarlett-gui";
homepage = "https://github.com/geoffreybennett/alsa-scarlett-gui";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ mdorman ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,115 @@
{
lib,
stdenv,
fetchurl,
alsa-lib,
fltk13,
gtk2,
gtk3,
makeWrapper,
pkg-config,
psmisc,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "alsa-tools";
version = "1.2.14";
src = fetchurl {
url = "mirror://alsa/tools/alsa-tools-${finalAttrs.version}.tar.bz2";
hash = "sha256-+u9v3TnsecmlRz3GOqG2Mxv3ZkqdRSoKgZjOxwFsvG8=";
};
nativeBuildInputs = [
makeWrapper
pkg-config
];
buildInputs = [
alsa-lib
fltk13
gtk2
gtk3
psmisc
];
env.TOOLSET = lib.concatStringsSep " " [
"as10k1"
"echomixer"
"envy24control"
"hda-verb"
"hdajackretask"
"hdajacksensetest"
"hdspconf"
"hdsploader"
"hdspmixer"
# "hwmixvolume" # Requires old, unmaintained, abandoned EOL Python 2
"ld10k1"
# "qlo10k1" # needs Qt
"mixartloader"
"pcxhrloader"
"rmedigicontrol"
"sb16_csp"
# "seq" # mysterious configure error
"sscape_ctl"
"us428control"
# "usx2yloader" # tries to create /etc/hotplug/usb
"vxloader"
];
configurePhase = ''
runHook preConfigure
for tool in $TOOLSET; do
echo "Configuring $tool:"
pushd "$tool"
./configure --prefix="$out"
popd
done
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
for tool in $TOOLSET; do
echo "Building $tool:"
pushd "$tool"
make
popd
done
runHook postBuild
'';
installPhase = ''
runHook preInstall
for tool in $TOOLSET; do
echo "Installing $tool:"
pushd "$tool"
make install
popd
done
runHook postInstall
'';
fixupPhase = ''
runHook preFixup
wrapProgram $out/bin/hdajackretask \
--prefix PATH : ${lib.makeBinPath [ psmisc ]}
runHook postFixup
'';
meta = {
homepage = "http://www.alsa-project.org/";
description = "ALSA Tools";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation rec {
name = "alsa-topology-conf-${version}";
version = "1.2.5.1";
src = fetchurl {
url = "mirror://alsa/lib/${name}.tar.bz2";
hash = "sha256-98W64VRavNc4JLyX9OcsNA4Rq+oYi6DxwG9eCtd2sXk=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/alsa
cp -r topology $out/share/alsa
runHook postInstall
'';
meta = with lib; {
homepage = "https://www.alsa-project.org/";
description = "ALSA topology configuration files";
longDescription = ''
The Advanced Linux Sound Architecture (ALSA) provides audio and
MIDI functionality to the Linux-based operating system.
'';
license = licenses.bsd3;
maintainers = [ maintainers.roastiek ];
platforms = platforms.linux ++ platforms.freebsd;
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
nix-update-script,
symlinkJoin,
alsa-ucm-conf,
}:
let
alsa-ucm-conf-asahi = stdenvNoCC.mkDerivation (finalAttrs: {
pname = "alsa-ucm-conf-asahi";
version = "8";
src = fetchFromGitHub {
owner = "AsahiLinux";
repo = "alsa-ucm-conf-asahi";
tag = "v${finalAttrs.version}";
hash = "sha256-FPrAzscc1ICSCQSqULaGLqG4UCq8GZU9XLV7TUSBBRM=";
};
installPhase = ''
runHook preInstall
find ucm2/conf.d -type f -exec install -Dm644 "{}" "$out/share/alsa/{}" \;
runHook postInstall
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "ALSA Use Case Manager configuration (and topologies) for Apple silicon devices";
homepage = "https://github.com/AsahiLinux/alsa-ucm-conf-asahi";
changelog = "https://github.com/AsahiLinux/alsa-ucm-conf-asahi/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ normalcea ];
platforms = [ "aarch64-linux" ];
};
});
in
symlinkJoin {
inherit (alsa-ucm-conf-asahi)
pname
version
src
passthru
meta
;
paths = [
alsa-ucm-conf
alsa-ucm-conf-asahi
];
}

View File

@@ -0,0 +1,61 @@
{
directoryListingUpdater,
fetchurl,
lib,
stdenvNoCC,
coreutils,
kmod,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "alsa-ucm-conf";
version = "1.2.14";
src = fetchurl {
url = "mirror://alsa/lib/alsa-ucm-conf-${finalAttrs.version}.tar.bz2";
hash = "sha256-MumAn1ktkrl4qhAy41KTwzuNDx7Edfk3Aiw+6aMGnCE=";
};
dontBuild = true;
installPhase = ''
runHook preInstall
substituteInPlace ucm2/lib/card-init.conf \
--replace-fail "/bin/rm" "${coreutils}/bin/rm" \
--replace-fail "/bin/mkdir" "${coreutils}/bin/mkdir"
''
+ lib.optionalString stdenvNoCC.hostPlatform.isLinux ''
substituteInPlace ucm2/common/ctl/led.conf \
--replace-fail '/sbin/modprobe' '${kmod}/bin/modprobe'
''
+ ''
mkdir -p $out/share/alsa
cp -r ucm ucm2 $out/share/alsa
runHook postInstall
'';
passthru.updateScript = directoryListingUpdater {
url = "https://www.alsa-project.org/files/pub/lib/";
};
meta = {
homepage = "https://www.alsa-project.org/";
description = "ALSA Use Case Manager configuration";
longDescription = ''
The Advanced Linux Sound Architecture (ALSA) provides audio and
MIDI functionality to the Linux-based operating system.
'';
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
roastiek
mvs
];
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
};
})

Some files were not shown because too many files have changed in this diff Show More