diff options
Diffstat (limited to 'default.nix')
-rw-r--r-- | default.nix | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/default.nix b/default.nix deleted file mode 100644 index 047724e565..0000000000 --- a/default.nix +++ /dev/null @@ -1,124 +0,0 @@ -{ nixroot ? (import <nixpkgs> {}) -, defaultLv2Plugins ? false -, lv2Plugins ? [] -}: -let inherit (nixroot) stdenv pkgs lib - chromaprint fftw flac libid3tag libmad libopus libshout libsndfile lilv - libusb1 libvorbis libebur128 pkgconfig portaudio portmidi protobuf qt5 glib - rubberband scons sqlite taglib soundtouch vamp opusfile hidapi upower ccache git - libGLU x11 lame lv2 makeWrapper - clang-tools - fetchurl - gdb - python3; - - git-clang-format = stdenv.mkDerivation { - name = "git-clang-format"; - version = "2019-06-21"; - src = fetchurl { - url = "https://raw.githubusercontent.com/llvm-mirror/clang/2bb8e0fe002e8ffaa9ce5fa58034453c94c7e208/tools/clang-format/git-clang-format"; - sha256 = "1kby36i80js6rwi11v3ny4bqsi6i44b9yzs23pdcn9wswffx1nlf"; - executable = true; - }; - nativeBuildInputs = [ - makeWrapper - ]; - buildInputs = [ - clang-tools - python3 - ]; - unpackPhase = ":"; - installPhase = '' - mkdir -p $out/opt $out/bin - cp $src $out/opt/git-clang-format - makeWrapper $out/opt/git-clang-format $out/bin/git-clang-format \ - --add-flags --binary \ - --add-flags ${clang-tools}/bin/clang-format - ''; - }; - - shell-build = nixroot.writeShellScriptBin "build" '' - scons \ - -j$NIX_BUILD_CORES \ - $sconsFlags "prefix=$HOME/mixxx" "$@"; - ''; - - shell-run = nixroot.writeShellScriptBin "run" '' - BUILDDIR=$(ls -1 -d -t lin64_build lin_build | head -1) - /usr/bin/env LV2_PATH=${lib.makeSearchPathOutput "lib" "lib/lv2" allLv2Plugins}:$LV2_PATH $BUILDDIR/mixxx --settingsPath ./devsettings/ --resourcePath ./res "$@" - ''; - - shell-debug = nixroot.writeShellScriptBin "debug" '' - BUILDDIR=$(ls -1 -d -t lin64_build lin_build | head -1) - gdb --args $BUILDDIR/mixxx --settingsPath ./devsettings/ --resourcePath ./res "$@" - ''; - - allLv2Plugins = lv2Plugins ++ (if defaultLv2Plugins then [ - nixroot.x42-plugins nixroot.zam-plugins nixroot.rkrlv2 nixroot.mod-distortion - nixroot.infamousPlugins nixroot.artyFX - ] else []); - -in stdenv.mkDerivation rec { - name = "mixxx-${version}"; - # reading the version from git output is very hard to do without wasting lots of diskspace and runtime - # reading version file is easy - version = lib.strings.removeSuffix "\"\n" ( - lib.strings.removePrefix "#define MIXXX_VERSION \"" ( - builtins.readFile ./src/_version.h )); - - shellHook = '' - export CC="ccache gcc" - export CXX="ccache g++" - - echo -e "Mixxx development shell. Available commands:\n" - echo " build - compiles Mixxx" - echo " run - runs Mixxx with development settings" - echo " debug - runs Mixxx inside gdb" - ''; - - src = builtins.filterSource - (path: type: ! builtins.any (x: x == baseNameOf path) [ ".git" "cache" "lin64_build" "lin_build" "debian" ]) - ./.; - - nativeBuildInputs = [ - gdb - git-clang-format - shell-build shell-run shell-debug - ]; - - buildInputs = [ - chromaprint fftw flac libid3tag libmad libopus libshout libsndfile - libusb1 libvorbis libebur128 pkgconfig portaudio portmidi protobuf qt5.full - rubberband scons sqlite taglib soundtouch vamp.vampSDK opusfile upower hidapi - ccache git glib x11 libGLU lilv lame lv2 makeWrapper qt5.qtbase - ] ++ allLv2Plugins; - - sconsFlags = [ - "build=debug" - "qtdir=${qt5.full}" - ]; - - buildPhase = '' - runHook preBuild; - mkdir -p "$out"; - scons \ - -j$NIX_BUILD_CORES \ - $sconsFlags "prefix=$out"; - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - scons $sconsFlags "prefix=$out" install - wrapProgram $out/bin/mixxx --suffix QT_PLUGIN_PATH : ${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix} --set QTDIR ${qt5.full} --prefix LV2_PATH : ${lib.makeSearchPath "lib/lv2" allLv2Plugins} - runHook postInstall - ''; - - meta = with nixroot.stdenv.lib; { - homepage = https://mixxx.org; - description = "Digital DJ mixing software"; - license = licenses.gpl2Plus; - maintainers = [ maintainers.aszlig maintainers.goibhniu ]; - platforms = platforms.linux; - }; -} |