2024-07-09 05:52:14 -06:00
|
|
|
{ lib
|
2022-05-26 15:15:46 -06:00
|
|
|
, fetchFromGitHub
|
|
|
|
, cmake
|
|
|
|
, ninja
|
|
|
|
, clangStdenv
|
|
|
|
, pkg-config
|
|
|
|
, alsa-lib
|
|
|
|
, avahi
|
|
|
|
, avahi-compat
|
|
|
|
, bluez
|
|
|
|
, boost185
|
|
|
|
, fmt
|
|
|
|
, ffmpeg
|
|
|
|
, fftw
|
|
|
|
, flac
|
|
|
|
, git
|
|
|
|
, gnutls
|
|
|
|
, lame
|
|
|
|
, libcoap
|
|
|
|
, libjack2
|
|
|
|
, libopus
|
|
|
|
, libsamplerate
|
|
|
|
, libsndfile
|
|
|
|
, libvorbis
|
|
|
|
, lilv
|
|
|
|
, lv2
|
|
|
|
, mpg123
|
|
|
|
, pipewire
|
|
|
|
, portaudio
|
|
|
|
, qt6
|
|
|
|
, rapidfuzz-cpp
|
|
|
|
, re2
|
|
|
|
, rubberband
|
|
|
|
, snappy
|
|
|
|
, SDL2
|
|
|
|
, spdlog
|
|
|
|
, suil
|
|
|
|
, udev
|
|
|
|
}:
|
|
|
|
|
|
|
|
# TODO: figure out LLVM jit
|
|
|
|
# assert lib.versionAtLeast llvm.version "15";
|
|
|
|
|
2024-07-09 05:52:14 -06:00
|
|
|
clangStdenv.mkDerivation (finalAttrs: {
|
2022-05-26 15:15:46 -06:00
|
|
|
pname = "ossia-score";
|
2024-07-09 05:52:14 -06:00
|
|
|
version = "3.2.4";
|
2022-05-26 15:15:46 -06:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "ossia";
|
|
|
|
repo = "score";
|
2024-07-09 05:52:14 -06:00
|
|
|
rev = "v${finalAttrs.version}";
|
|
|
|
hash = "sha256-O9v7hhBHVi4OuuCebG3bvjp/MOYu1iPv+lji/wS4O7o=";
|
2022-05-26 15:15:46 -06:00
|
|
|
fetchSubmodules = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [ cmake ninja git pkg-config qt6.qttools qt6.wrapQtAppsHook ];
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
alsa-lib
|
|
|
|
boost185
|
|
|
|
avahi
|
|
|
|
avahi-compat
|
|
|
|
bluez
|
|
|
|
ffmpeg
|
|
|
|
fftw
|
|
|
|
flac
|
|
|
|
fmt
|
|
|
|
gnutls
|
|
|
|
lame
|
|
|
|
libcoap
|
|
|
|
libjack2
|
|
|
|
libopus
|
|
|
|
libsamplerate
|
|
|
|
libsndfile
|
|
|
|
libvorbis
|
|
|
|
lilv
|
|
|
|
lv2
|
|
|
|
mpg123
|
|
|
|
pipewire
|
|
|
|
portaudio
|
|
|
|
qt6.qtbase
|
|
|
|
qt6.qtdeclarative
|
|
|
|
qt6.qtserialport
|
|
|
|
qt6.qtscxml
|
|
|
|
qt6.qtshadertools
|
|
|
|
qt6.qtsvg
|
|
|
|
qt6.qtwayland
|
|
|
|
qt6.qtwebsockets
|
|
|
|
rapidfuzz-cpp
|
|
|
|
re2
|
|
|
|
rubberband
|
|
|
|
snappy
|
|
|
|
SDL2
|
|
|
|
spdlog
|
|
|
|
suil
|
|
|
|
udev
|
|
|
|
];
|
|
|
|
|
|
|
|
cmakeFlags = [
|
|
|
|
"-Wno-dev"
|
|
|
|
|
|
|
|
"-DSCORE_DEPLOYMENT_BUILD=1"
|
|
|
|
"-DSCORE_STATIC_PLUGINS=1"
|
|
|
|
"-DSCORE_FHS_BUILD=1"
|
|
|
|
"-DCMAKE_UNITY_BUILD=1"
|
|
|
|
"-DCMAKE_SKIP_RPATH=ON"
|
|
|
|
"-DOSSIA_USE_SYSTEM_LIBRARIES=1"
|
|
|
|
"-DSCORE_USE_SYSTEM_LIBRARIES=1"
|
|
|
|
|
|
|
|
"-DLilv_INCLUDE_DIR=${lilv.dev}/include/lilv-0"
|
|
|
|
"-DSuil_INCLUDE_DIR=${suil}/include/suil-0"
|
|
|
|
];
|
|
|
|
|
2024-10-02 03:34:50 -06:00
|
|
|
# Needed for libraries that get dlopen'd
|
2022-05-26 15:15:46 -06:00
|
|
|
env.NIX_LDFLAGS = toString [
|
|
|
|
"-lasound"
|
|
|
|
"-llilv-0"
|
|
|
|
"-lsuil-0"
|
|
|
|
"-lsndfile"
|
|
|
|
"-lpipewire-0.3"
|
|
|
|
"-lfftw3"
|
|
|
|
"-lfftw3_threads"
|
|
|
|
"-ludev"
|
|
|
|
];
|
|
|
|
|
|
|
|
runtimeDependencies = [
|
|
|
|
alsa-lib
|
|
|
|
avahi
|
|
|
|
avahi-compat
|
|
|
|
bluez
|
|
|
|
fftw
|
|
|
|
lilv
|
|
|
|
suil
|
|
|
|
pipewire
|
|
|
|
udev
|
|
|
|
];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
runHook preInstall
|
|
|
|
|
|
|
|
cmake -DCMAKE_INSTALL_DO_STRIP=1 -DCOMPONENT=OssiaScore -P cmake_install.cmake
|
|
|
|
|
|
|
|
runHook postInstall
|
|
|
|
'';
|
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
homepage = "https://ossia.io/score/about.html";
|
|
|
|
description = "Sequencer for audio-visual artists";
|
|
|
|
longDescription = ''
|
|
|
|
ossia score is a sequencer for audio-visual artists, designed to enable
|
|
|
|
the creation of interactive shows, museum installations, intermedia
|
|
|
|
digital artworks, interactive music and more in an intuitive user interface.
|
|
|
|
'';
|
2024-07-09 05:52:14 -06:00
|
|
|
platforms = platforms.linux;
|
2022-05-26 15:15:46 -06:00
|
|
|
license = licenses.gpl3Only;
|
|
|
|
maintainers = with maintainers; [ jcelerier minijackson ];
|
|
|
|
};
|
|
|
|
})
|