Skip to content

Instantly share code, notes, and snippets.

@magnetophon
Created September 14, 2025 10:55
Show Gist options
  • Save magnetophon/c5b3ec2f134030b1519dc83da28aeab2 to your computer and use it in GitHub Desktop.
Save magnetophon/c5b3ec2f134030b1519dc83da28aeab2 to your computer and use it in GitHub Desktop.
{
lib,
stdenv,
fetchFromGitHub,
cmake,
pkg-config,
alsa-lib,
freetype,
libX11,
libXrandr,
libXinerama,
libXext,
libXcursor,
fontconfig,
libGL,
expat,
curl,
webkitgtk_4_1,
gtk3,
libsysprof-capture,
pcre2,
util-linux,
libselinux,
libsepol,
libthai,
libdatrie,
libXdmcp,
libdeflate,
lerc,
xz,
libwebp,
libxkbcommon,
libepoxy,
libXtst,
sqlite,
ladspaH,
juce,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ctagdrc";
version = "0.1.1";
src = fetchFromGitHub {
owner = "BillyDM";
repo = "CTAGDRC";
tag = finalAttrs.version;
hash = "sha256-szBI8ESJz1B/JuGcZD8D53c1yJeUW1uK4GewQExtD9Q=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
alsa-lib
freetype
libX11
libXrandr
libXinerama
libXext
libXcursor
fontconfig
libGL
expat
curl
webkitgtk_4_1
gtk3
libsysprof-capture
pcre2
util-linux
libselinux
libsepol
libthai
libdatrie
libXdmcp
libdeflate
lerc
xz
libwebp
libxkbcommon
libepoxy
libXtst
sqlite
ladspaH
juce
];
enableParallelBuilding = true;
postPatch = ''
sed -i '162d' CMakeLists.txt
'';
# installPhase = ''
# runHook preInstall
# install -Dt $out/share/ShowMIDI/themes Themes/*
# install -D Design/icon.png $out/share/icons/hicolor/1024x1024/apps/show-midi.png
# mkdir -p $out/bin $out/lib/lv2 $out/lib/vst3
# cd Builds/LinuxMakefile/build/
# cp -r ShowMIDI.lv2 $out/lib/lv2
# cp -r ShowMIDI.vst3 $out/lib/vst3
# cp ShowMIDI $out/bin
# runHook postInstall
# '';
# JUCE dlopens these, make sure they are in rpath
# Otherwise, segfault will happen
# env.NIX_LDFLAGS = toString [
# "-lX11"
# "-lXext"
# "-lXcursor"
# "-lXinerama"
# "-lXrandr"
# ];
NIX_LDFLAGS = (
toString [
"-lX11"
"-lXext"
"-lXcomposite"
"-lXcursor"
"-lXinerama"
"-lXrandr"
"-lXrender"
"-lXtst"
"-lXdmcp"
]
);
meta = with lib; {
description = "audio compressor plugin created with JUCE";
homepage = "https://github.com/BillyDM/CTAGDRC";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ magnetophon ];
mainProgram = "CTAGDRC";
platforms = platforms.all;
};
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment