push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
{
lib,
stdenv,
fetchurl,
alsa-lib,
jack2,
minixml,
pkg-config,
}:
stdenv.mkDerivation rec {
pname = "aj-snapshot";
version = "0.9.9";
src = fetchurl {
url = "mirror://sourceforge/aj-snapshot/aj-snapshot-${version}.tar.bz2";
sha256 = "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil";
};
doCheck = false;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
alsa-lib
minixml
jack2
];
meta = with lib; {
description = "Tool for storing/restoring JACK and/or ALSA connections to/from cml files";
longDescription = ''
Aj-snapshot is a small program that can be used to make snapshots of the connections made between JACK and/or ALSA clients.
Because JACK can provide both audio and MIDI support to programs, aj-snapshot can store both types of connections for JACK.
ALSA, on the other hand, only provides routing facilities for MIDI clients.
You can also run aj-snapshot in daemon mode if you want to have your connections continually restored.
'';
homepage = "http://aj-snapshot.sourceforge.net/";
license = licenses.gpl2;
maintainers = [ maintainers.mrVanDalo ];
platforms = platforms.all;
mainProgram = "aj-snapshot";
};
}

View File

@@ -0,0 +1,126 @@
{
stdenvNoCC,
lib,
fetchzip,
dpkg,
patchelf,
buildFHSEnv,
writeShellScript,
makeBinaryWrapper,
}:
let
pname = "aja-desktop-software";
version = "17.1.3";
meta = {
description = "Graphical utilities for interacting with AJA desktop video cards";
homepage = "https://www.aja.com/products/aja-control-room";
license = lib.licenses.unfree; # https://www.aja.com/software-license-agreement
maintainers = [ lib.maintainers.lukegb ];
platforms = [ "x86_64-linux" ];
sourceProvenance = [
lib.sourceTypes.binaryNativeCode
lib.sourceTypes.binaryFirmware
];
};
unwrapped = stdenvNoCC.mkDerivation {
pname = "${pname}-unwrapped";
inherit version;
src = fetchzip {
url = "https://www.aja.com/assets/support/files/9895/en/AJA-Desktop-Software-Installer_Linux-Ubuntu_v${version}_Release.zip";
hash = "sha256-TxDcYIhEcpPnpoqpey5vSvUltLT/3xwBfOhAP81Q9+E=";
};
unpackCmd = "dpkg -x $curSrc/ajaretail_*.deb source";
nativeBuildInputs = [
dpkg
patchelf
];
installPhase = ''
runHook preInstall
mkdir -p $out/share
mv usr/share/applications $out/share/applications
mv usr/share/doc $out/share/doc
mv etc $out/etc
mv opt $out/opt
ln -s $out/opt/aja/bin $out/bin
# For some reason ajanmos doesn't have /opt/aja/lib in its rpath...
patchelf $out/opt/aja/bin/ajanmos --add-rpath $out/opt/aja/lib
runHook postInstall
'';
dontPatchELF = true;
inherit meta;
};
in
buildFHSEnv {
inherit pname version;
targetPkgs =
pkgs:
[ unwrapped ]
++ (with pkgs; [
ocl-icd
libGL
udev
libpulseaudio
zstd
glib
fontconfig
freetype
xorg.libxcb
xorg.libX11
xorg.xcbutilwm
xorg.xcbutilimage
xorg.xcbutilkeysyms
xorg.xcbutilrenderutil
xorg.libSM
xorg.libICE
libxkbcommon
dbus
avahi
]);
nativeBuildInputs = [
makeBinaryWrapper
];
unshareIpc = false;
unsharePid = false;
runScript = writeShellScript "aja" ''
exec_binary="$1"
shift
export QT_PLUGIN_PATH="${unwrapped}/opt/aja/plugins"
exec "${unwrapped}/opt/aja/bin/$exec_binary" "$@"
'';
extraInstallCommands = ''
mkdir -p $out/libexec/aja-desktop
mv $out/bin/${pname} $out/libexec/aja-desktop/${pname}
for binary in controlpanel controlroom ajanmos systemtest; do
makeWrapper "$out/libexec/aja-desktop/${pname}" "$out/bin/aja-$binary" \
--add-flags "$binary"
done
'';
passthru = {
inherit unwrapped;
};
meta = meta // {
mainProgram = "aja-controlpanel";
};
}