Skip to content

Instantly share code, notes, and snippets.

@magnetophon
Created March 16, 2016 15:25
Show Gist options
  • Save magnetophon/3c9271e41947ea803932 to your computer and use it in GitHub Desktop.
Save magnetophon/3c9271e41947ea803932 to your computer and use it in GitHub Desktop.
{
boost,
cln,
cmake,
# faust2,
fetchgit,
ginac,
jamomacore,
kf5_stable,
libsndfile,
ninja,
portaudio,
qt5,
rtaudio,
stdenv
}:
stdenv.mkDerivation rec {
version = "v1.0.0-a52";
name = "i-score-${version}";
src = fetchgit {
url = "https://github.com/OSSIA/i-score.git";
rev = "0fe90ea6ffa71436519158bf97c3857fc68add5e";
sha256 = "1sgdvh524mwv3dmrw24757bybhn2yn0630w459gig3mfnpxwmm69";
leaveDotGit = true;
deepClone = true;
};
# 31:
# rev = "6037d70f24e4e5986b7690a6b91346e6e9c47a6a";
# sha256 = "0jk586n07c96lwidfh740w5bywb4c9mxkzhsian8hdac4vn1v1y5";
# [746/773] Building CXX object base/plugins/iscore-plugin-ossia/SimpleProcess/CMakeFiles/iscore_plugin_ossia_simpleprocess.dir/iscore_plugin_ossia_simpleprocess.cpp.o
# [747/773] Building CXX object base/plugins/iscore-plugin-audio/CMakeFiles/iscore_plugin_audio.dir/Audio/AudioFactory.cpp.o
# FAILED: /nix/store/9fbfiij3ajnd3fs1zyc2qy0ispbszrr7-gcc-wrapper-4.9.3/bin/g++ -DISCORE_LIB_BASE -DISCORE_LIB_DEVICE -DISCORE_LIB_DUMMYPROCESS -DISCORE_LIB_INSPECTOR -DISCORE_LIB_PROCESS -DISCORE_LIB_STATE -DISCOfaust minuit oscRE_PLUGIN_AUTOMATION -DISCORE_PLUGIN_CURVE -DISCORE_PLUGIN_DEVICEEXPLORER -DISCORE_PLUGIN_LOOP -DISCORE_PLUGIN_OSSIA -DISCORE_PLUGIN_SCENARIO -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_QML_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -Discore_plugin_js_EXPORTS -std=c++1y -pipe -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wnon-virtual-dtor -pedantic -Woverloaded-virtual -O3 -DNDEBUG -Ofast -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Ibase/plugins/iscore-plugin-js -I../base/plugins/iscore-plugin-js -I/nix/store/lfj41wlg1m05rfip5jja4mpfp84yiyhm-boost-1.58.0-dev/include -I. -isystem ../3rdparty/variant/include -isystem ../3rdparty/nano-signal-slot -I../base/lib -I../ -isystem /nix/store/nc1fslq47z4qpizwdjx97fjj6x7bvnd4-qtbase-5.4.2/include -isystem /nix/store/nc1fslq47z4qpizwdjx97fjj6x7bvnd4-qtbase-5.4.2/include/QtCore -isystem /nix/store/nc1fslq47z4qpizwdjx97fjj6x7bvnd4-qtbase-5.4.2/mkspecs/linux-g++ -isystem /nix/store/nc1fslq47z4qpizwdjx97fjj6x7bvnd4-qtbase-5.4.2/include/QtWidgets -isystem /nix/store/nc1fslq47z4qpizwdjx97fjj6x7bvnd4-qtbase-5.4.2/include/QtGui -isystem /nix/store/rj0iyafchrdppzyidn5xz8q5bvnk1iv1-mesa-noglu-10.6.9/include -isystem /nix/store/jvl17ib004bclgk0x787i7zfhlvcq6cb-qtdeclarative-5.4.2/include -isystem /nix/store/jvl17ib004bclgk0x787i7zfhlvcq6cb-qtdeclarative-5.4.2/include/QtQml -isystem /nix/store/nc1fslq47z4qpizwdjx97fjj6x7bvnd4-qtbase-5.4.2/include/QtNetwork -Ibase/lib -isystem /nix/store/abm9qnv54s9s9sb6sl3mdqvliwkhqf0c-qtsvg-5.4.2/include -isystem /nix/store/abm9qnv54s9s9sb6sl3mdqvliwkhqf0c-qtsvg-5.4.2/include/QtSvg -I../3rdparty/QRecentFilesMenu -Ibase/plugins/iscore-plugin-ossia -I../base/plugins/iscore-plugin-ossia -Ibase/plugins/iscore-plugin-scenario -I../base/plugins/iscore-plugin-scenario -Ibase/plugins/iscore-lib-process -I../base/plugins/iscore-lib-process -Ibase/plugins/iscore-lib-state -I../base/plugins/iscore-lib-state -Ibase/plugins/iscore-plugin-deviceexplorer -I../base/plugins/iscore-plugin-deviceexplorer -Ibase/plugins/iscore-lib-device -I../base/plugins/iscore-lib-device -isystem /nix/store/nc1fslq47z4qpizwdjx97fjj6x7bvnd4-qtbase-5.4.2/include/QtXml -I../3rdparty/QProgressIndicator -Ibase/plugins/iscore-plugin-curve -I../base/plugins/iscore-plugin-curve -Ibase/plugins/iscore-plugin-inspector -I../base/plugins/iscore-plugin-inspector -Ibase/plugins/iscore-plugin-automation -I../base/plugins/iscore-plugin-automation -I../API/Headers -isystem /nix/store/f8a98daj1gnn1jf22grz3dvfa8dgjrcr-JamomaCore-v1.0-beta.1/jamoma/include/jamoma -Ibase/plugins/iscore-plugin-loop -I../base/plugins/iscore-plugin-loop -Ibase/plugins/iscore-plugin-scenario/DummyProcess -I../base/plugins/iscore-plugin-scenario/DummyProcess -fPIC -std=gnu++14 -MMD -MT base/plugins/iscore-plugin-js/CMakeFiles/iscore_plugin_js.dir/JS/JSAPIWrapper.cpp.o -MF base/plugins/iscore-plugin-js/CMakeFiles/iscore_plugin_js.dir/JS/JSAPIWrapper.cpp.o.d -o base/plugins/iscore-plugin-js/CMakeFiles/iscore_plugin_js.dir/JS/JSAPIWrapper.cpp.o -c ../base/plugins/iscore-plugin-js/JS/JSAPIWrapper.cpp
# ../base/plugins/iscore-plugin-js/JS/JSAPIWrapper.cpp: In member function 'QJSValue JSAPIWrapper::value(QJSValue)':
# ../base/plugins/iscore-plugin-js/JS/JSAPIWrapper.cpp:9:33: error: 'qjsEngine' was not declared in this scope
# auto engine = qjsEngine(this);
# ^
# FAILED: /nix/store/9fbfiij3ajnd3fs1zyc2qy0ispbszrr7-gcc-wrapper-4.9.3/bin/g++ -DISCORE_LIB_BASE -DISCORE_LIB_DEVICE -DISCORE_LIB_DUMMYPROCESS -DISCORE_LIB_INSPECTOR -DISCORE_LIB_PROCESS -DISCORE_LIB_STATE -DISCORE_PLUGIN_AUTOMATION -DISCORE_PLUGIN_CURVE -DISCORE_PLUGIN_DEVICEEXPLORER -DISCORE_PLUGIN_LOOP -DISCORE_PLUGIN_OSSIA -DISCORE_PLUGIN_SCENARIO -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -Discore_plugin_audio_EXPORTS -std=c++1y -pipe -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wnon-virtual-dtor -pedantic -Woverloaded-virtual -O3 -DNDEBUG -Ofast -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Ibase/plugins/iscore-plugin-audio -I../base/plugins/iscore-plugin-audio -I/nix/store/lfj41wlg1m05rfip5jja4mpfp84yiyhm-boost-1.58.0-dev/include -I. -isystem ../3rdparty/variant/include -isystem ../3rdparty/nano-signal-slot -I../base/lib -I../base/plugins/iscore-plugin-audio/3rdparty/libaudiotool/src -I../ -isystem /nix/store/nc1fslq47z4qpizwdjx97fjj6x7bvnd4-qtbase-5.4.2/include -isystem /nix/store/nc1fslq47z4
# 32:
# rev = "eb6ec4e9b8b442a027f4dfc8c9d3a00a41ce02dd";
# sha256 = "14x7znrhpi8vi2d4lcgmcg75q1abzdmwdh6ivjhccn8ciz5h6gll";
# 34:
# rev = "cc97e74ec2363a0f1226c1eaab2c0e88a423088c";
# sha256 = "1kgmrv8v70jlmmp2g4nrsxgp446yzjcjrx1i1afvbvgadnkyba3d";
# ../base/plugins/iscore-plugin-js/JS/JSAPIWrapper.cpp:11:33: error: 'qjsEngine' was not declared in this scope
# 36:
# rev = "0fe90ea6ffa71436519158bf97c3857fc68add5e";
# sha256 = "138hqwri15rv6n2j6l2zr7q2gvm8qr76xfxh5pi6gx71nlmyv08r";
# ../base/plugins/iscore-plugin-js/JS/JSAPIWrapper.cpp:11:33: error: 'qjsEngine' was not declared in this scope
# 38:
# rev = "b3412cb5bee6fd2e8e39443df9be61715f9c3a7d";
# sha256 = "0y35bjyvg57jaq3cddzvnks4iaafy6m87kc83qzajb7rppvwp935";
# same error as 51
# 42:
# 69ac96b8e444c4cf552876d3b3dea8087c99d23c
# sha256 = "13pjmjxpkwdh5izvjyfyw357ns63pl66b6knqjn94ss5k3j7q0h4";
# same error as 51
# 51:
# rev = "e6c7355c566ce946f76ba8f99185b44b567b42ff";
# sha256 = "0sdpjl32hpyg3yzrrrppid18l7r59xlyx811njsac2kc8027zhdc";
# -- The CXX compiler identification is unknown
# CMake Error at CMakeLists.txt:14 (project):
# The CMAKE_CXX_COMPILER:
# /var/empty/bin/clang++
# is not a full path to an existing compiler tool.
buildInputs = [
boost
cln
cmake
# faust2
ginac
jamomacore
kf5_stable.kdnssd
libsndfile
ninja
portaudio
qt5.base
qt5.declarative
qt5.imageformats
qt5.svg
qt5.tools
qt5.websockets
rtaudio
];
cmakeFlags = [
"-GNinja"
"-DISCORE_CONFIGURATION=static-release"
# "-DISCORE_STATIC_PLUGINS:Bool=True"
# "-DDEPLOYMENT_BUILD:Bool=True"
];
# sed -e '77d' -i CMake/modules/GetGitRevisionDescription.cmake
# to prevent:
# -- Boost version: 1.58.0
# CMake Error at build/CMakeFiles/git-data/grabRef.cmake:36 (file):
# file failed to open for reading (No such file or directory):
# /tmp/nix-build-i-score-v1.0.0-a31.drv-0/i-score-6037d70/build/CMakeFiles/git-data/head-ref
# Call Stack (most recent call first):
# CMake/modules/GetGitRevisionDescription.cmake:77 (include)
# CMake/IScoreConfiguration.cmake:198 (get_git_head_revision)
# CMakeLists.txt:14 (include)
# -- cotire 1.7.5 loaded.
# sed -e '10,22d' -i base/plugins/iscore-plugin-js/JS/JSAPIWrapper.cpp
# to prevent:
# ../base/plugins/iscore-plugin-js/JS/JSAPIWrapper.cpp:11:33: error: 'qjsEngine' was not declared in this scope
# on older versions it's line 9,10
patchPhase = ''
export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
sed -e '77d' -i CMake/modules/GetGitRevisionDescription.cmake
# sed -e '10,22d' -i base/plugins/iscore-plugin-js/JS/JSAPIWrapper.cpp
'';
preBuild = ''
ninja
'';
installPhase = ''
install -D -m755 "i-score.sh" "$out/usr/bin/i-score.sh"
cmake --build . --target install --config DynamicRelease
install -D -m644 "LICENSE.txt" "$out/usr/share/licenses/LICENSE"
'';
meta = {
description = "an interactive sequencer for the intermedia arts";
homepage = http://i-score.org/;
license = stdenv.lib.licenses.cecill20;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment