Usually, we install from source using make install
. Right now, when I compile this project (see the nix derivation at the end), I get the files listed at the end, but I'd love to install them into $PREFIX/lib/{vst,vst3}
... with a simple make install
. Of course I could manually move them there, but for some of them I'm not even sure what I should do with them (like Ildaeil-FX/IldaeilPlugin.cpp.o
, the *.d
files or the *_JACK.cpp.o
files)
build/Ildaeil-FX
build/Ildaeil-FX/DistrhoPluginMain_VST2.cpp.o
build/Ildaeil-FX/DistrhoUIMain_VST3.cpp.d
build/Ildaeil-FX/DistrhoUIMain_JACK.cpp.d
build/Ildaeil-FX/IldaeilPlugin.cpp.o
build/Ildaeil-FX/DistrhoPluginMain_VST3.cpp.o
build/Ildaeil-FX/DistrhoUIMain_VST2.cpp.d
build/Ildaeil-FX/DistrhoPluginMain_JACK.cpp.o
build/Ildaeil-FX/DistrhoUIMain_LV2.cpp.o
build/Ildaeil-FX/IldaeilUI.cpp.o
build/Ildaeil-FX/DistrhoPluginMain_LV2.cpp.d
build/Ildaeil-FX/DistrhoPluginMain_JACK.cpp.d
build/Ildaeil-FX/DistrhoPluginMain_VST3.cpp.d
build/Ildaeil-FX/DistrhoUIMain_VST2.cpp.o
build/Ildaeil-FX/DistrhoUIMain_JACK.cpp.o
build/Ildaeil-FX/IldaeilPlugin.cpp.d
build/Ildaeil-FX/DistrhoPluginMain_VST2.cpp.d
build/Ildaeil-FX/DistrhoUIMain_VST3.cpp.o
build/Ildaeil-FX/DistrhoPluginMain_LV2.cpp.o
build/Ildaeil-FX/IldaeilUI.cpp.d
build/Ildaeil-FX/DistrhoUIMain_LV2.cpp.d
build/Common
build/Common/PluginHostWindow.cpp.o
build/Common/PluginHostWindow.cpp.d
build/Ildaeil-Synth
build/Ildaeil-Synth/IldaeilPlugin.cpp.o
build/Ildaeil-Synth/DistrhoUIMain_VST3.cpp.o
build/Ildaeil-Synth/DistrhoPluginMain_VST2.cpp.o
build/Ildaeil-Synth/DistrhoUIMain_JACK.cpp.o
build/Ildaeil-Synth/DistrhoUIMain_LV2.cpp.d
build/Ildaeil-Synth/DistrhoUIMain_VST2.cpp.o
build/Ildaeil-Synth/DistrhoPluginMain_VST3.cpp.o
build/Ildaeil-Synth/IldaeilUI.cpp.d
build/Ildaeil-Synth/DistrhoPluginMain_LV2.cpp.d
build/Ildaeil-Synth/DistrhoPluginMain_JACK.cpp.o
build/Ildaeil-Synth/IldaeilPlugin.cpp.d
build/Ildaeil-Synth/IldaeilUI.cpp.o
build/Ildaeil-Synth/DistrhoPluginMain_LV2.cpp.o
build/Ildaeil-Synth/DistrhoPluginMain_JACK.cpp.d
build/Ildaeil-Synth/DistrhoUIMain_VST2.cpp.d
build/Ildaeil-Synth/DistrhoPluginMain_VST3.cpp.d
build/Ildaeil-Synth/DistrhoUIMain_JACK.cpp.d
build/Ildaeil-Synth/DistrhoUIMain_LV2.cpp.o
build/Ildaeil-Synth/DistrhoUIMain_VST3.cpp.d
build/Ildaeil-Synth/DistrhoPluginMain_VST2.cpp.d
build/Ildaeil-MIDI
build/Ildaeil-MIDI/DistrhoUIMain_VST2.cpp.o
build/Ildaeil-MIDI/DistrhoPluginMain_LV2.cpp.o
build/Ildaeil-MIDI/IldaeilPlugin.cpp.d
build/Ildaeil-MIDI/DistrhoUIMain_JACK.cpp.o
build/Ildaeil-MIDI/DistrhoUIMain_VST3.cpp.o
build/Ildaeil-MIDI/DistrhoPluginMain_VST2.cpp.o
build/Ildaeil-MIDI/DistrhoPluginMain_JACK.cpp.o
build/Ildaeil-MIDI/DistrhoUIMain_LV2.cpp.o
build/Ildaeil-MIDI/IldaeilUI.cpp.d
build/Ildaeil-MIDI/DistrhoPluginMain_VST3.cpp.o
build/Ildaeil-MIDI/DistrhoUIMain_VST3.cpp.d
build/Ildaeil-MIDI/IldaeilPlugin.cpp.o
build/Ildaeil-MIDI/DistrhoUIMain_JACK.cpp.d
build/Ildaeil-MIDI/DistrhoUIMain_VST2.cpp.d
build/Ildaeil-MIDI/DistrhoPluginMain_LV2.cpp.d
build/Ildaeil-MIDI/DistrhoUIMain_LV2.cpp.d
build/Ildaeil-MIDI/IldaeilUI.cpp.o
build/Ildaeil-MIDI/DistrhoPluginMain_VST3.cpp.d
build/Ildaeil-MIDI/DistrhoPluginMain_JACK.cpp.d
build/Ildaeil-MIDI/DistrhoPluginMain_VST2.cpp.d
default.nix
:
{ pkgs ? import <nixpkgs> {} }:
pkgs.callPackage ./derivation.nix {}
derivation.nix
:
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
# Not sure which one I should keep (at least libGL for sure)
, liblo
, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor, libGL
, gtk2, gtk3
, libjack2, alsa-lib, alsa-tools
}:
stdenv.mkDerivation rec {
pname = "Ildaeil";
version = "unstable-b1b71590";
src = fetchFromGitHub {
owner = "DISTRHO";
repo = pname;
rev = "b1b71590af50a8dcffb83eaeee832115fbe5baab";
sha256 = "sha256-YSdGucOhHVL8E49f0GgayvgP9aqV5B68zrOHmBa6GT0=";
fetchSubmodules = true;
};
nativeBuildInputs = [
# cmake
pkg-config
];
buildInputs = [
liblo
freetype
libX11 libXrandr libXinerama libXext libXcursor libGL
gtk2 gtk3
libjack2 alsa-lib alsa-tools
];
buildPhase = ''
patchShebangs dpf/utils/generate-ttl.sh
make
'';
installPhase = ''
mkdir -p $out/lib/{vst,vst3,lv2,}
# To write
'';
}
EDIT
New version with attempt to install (need to test):
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
# Not sure which one I should keep (at least libGL for sure)
, liblo
, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor, libGL
, gtk2, gtk3
, libjack2, alsa-lib, alsa-tools
}:
stdenv.mkDerivation rec {
pname = "Ildaeil";
version = "unstable-b1b71590";
src = fetchFromGitHub {
owner = "DISTRHO";
repo = pname;
rev = "b1b71590af50a8dcffb83eaeee832115fbe5baab";
sha256 = "sha256-YSdGucOhHVL8E49f0GgayvgP9aqV5B68zrOHmBa6GT0=";
fetchSubmodules = true;
};
nativeBuildInputs = [
# cmake
pkg-config
];
buildInputs = [
liblo
freetype
libX11 libXrandr libXinerama libXext libXcursor libGL
gtk2 gtk3
libjack2 alsa-lib alsa-tools
];
buildPhase = ''
patchShebangs dpf/utils/generate-ttl.sh
make
'';
installPhase = ''
mkdir -p $out/lib/{vst,vst3,lv2,}
cd build
# Copy LV2 files (dirty copy/paste... but lazy to write cleaner code)
for file in $(find . | grep "_LV2" | grep -v ".d$")
do
dest="$out/lib/lv2/$file"
echo "Copying $file into $dest."
mkdir -p $(dirname "$dest")
cp "$file" "$dest"
done
# Copy VST2 files (dirty copy/paste... but lazy to write cleaner code)
for file in $(find . | grep "_VST2" | grep -v ".d$")
do
dest="$out/lib/vst/$file"
echo "Copying $file into $dest."
mkdir -p $(dirname "$dest")
cp "$file" "$dest"
done
# Copy VST3 files (dirty copy/paste... but lazy to write cleaner code)
for file in $(find . | grep "_VST3" | grep -v ".d$")
do
dest="$out/lib/vst3/$file"
echo "Copying $file into $dest."
mkdir -p $(dirname "$dest")
cp "$file" "$dest"
done
# TODO: what should I do with files like Ildaeil-MIDI/IldaeilUI.cpp.o, Common/PluginHostWindow.cpp.o, Ildaeil-Synth/DistrhoUIMain_JACK.cpp.o...?
'';
}