lol
at 23.05-pre 90 lines 2.2 kB view raw
1{ stdenv 2, lib 3, fetchurl 4, cmake 5, libGLU 6, libGL 7, pkg-config 8, libpulseaudio 9, extra-cmake-modules 10, qtbase 11, qttools 12, debug ? false 13}: 14 15with lib; 16 17let 18 soname = "phonon4qt5"; 19 buildsystemdir = "share/cmake/${soname}"; 20in 21 22stdenv.mkDerivation rec { 23 pname = "phonon"; 24 version = "4.11.1"; 25 26 meta = { 27 homepage = "https://community.kde.org/Phonon"; 28 description = "Multimedia API for Qt"; 29 license = lib.licenses.lgpl2; 30 platforms = lib.platforms.linux; 31 maintainers = with lib.maintainers; [ ttuegel ]; 32 }; 33 34 src = fetchurl { 35 url = "mirror://kde/stable/phonon/${version}/phonon-${version}.tar.xz"; 36 sha256 = "0bfy8iqmjhlg3ma3iqd3kxjc2zkzpjgashbpf5x17y0dc2i1whxl"; 37 }; 38 39 buildInputs = [ 40 libGLU 41 libGL 42 libpulseaudio 43 qtbase 44 qttools 45 ]; 46 47 nativeBuildInputs = [ 48 cmake 49 pkg-config 50 extra-cmake-modules 51 ]; 52 53 outputs = [ "out" "dev" ]; 54 55 NIX_CFLAGS_COMPILE = "-fPIC"; 56 57 cmakeFlags = [ 58 "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" 59 ]; 60 61 dontWrapQtApps = true; 62 63 preConfigure = '' 64 cmakeFlags+=" -DPHONON_QT_MKSPECS_INSTALL_DIR=''${!outputDev}/mkspecs" 65 cmakeFlags+=" -DPHONON_QT_IMPORTS_INSTALL_DIR=''${!outputBin}/$qtQmlPrefix" 66 cmakeFlags+=" -DPHONON_QT_PLUGIN_INSTALL_DIR=''${!outputBin}/$qtPluginPrefix/designer" 67 ''; 68 69 postPatch = '' 70 sed -i PhononConfig.cmake.in \ 71 -e "/get_filename_component(rootDir/ s/^.*$//" \ 72 -e "/^set(PHONON_INCLUDE_DIR/ s|\''${rootDir}/||" \ 73 -e "/^set(PHONON_LIBRARY_DIR/ s|\''${rootDir}/||" \ 74 -e "/^set(PHONON_BUILDSYSTEM_DIR/ s|\''${rootDir}|''${!outputDev}|" 75 76 sed -i cmake/FindPhononInternal.cmake \ 77 -e "/set(INCLUDE_INSTALL_DIR/ c set(INCLUDE_INSTALL_DIR \"''${!outputDev}/include\")" 78 79 sed -i cmake/FindPhononInternal.cmake \ 80 -e "/set(PLUGIN_INSTALL_DIR/ c set(PLUGIN_INSTALL_DIR \"$qtPluginPrefix/..\")" 81 82 sed -i CMakeLists.txt \ 83 -e "/set(BUILDSYSTEM_INSTALL_DIR/ c set(BUILDSYSTEM_INSTALL_DIR \"''${!outputDev}/${buildsystemdir}\")" 84 ''; 85 86 postFixup = '' 87 sed -i "''${!outputDev}/lib/pkgconfig/${soname}.pc" \ 88 -e "/^exec_prefix=/ c exec_prefix=''${!outputBin}/bin" 89 ''; 90}