Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 65 lines 1.6 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 pkg-config, 6 libsForQt5, 7 dtkwidget, 8 dde-qt-dbus-factory, 9 xorg, 10 xscreensaver, 11}: 12 13stdenv.mkDerivation rec { 14 pname = "deepin-screensaver"; 15 version = "5.0.18"; 16 17 src = fetchFromGitHub { 18 owner = "linuxdeepin"; 19 repo = pname; 20 rev = version; 21 hash = "sha256-7lyHPE/x7rmwh7FtCPkuA8JgYpy90jRXhUWoaeZpVag="; 22 }; 23 24 postPatch = '' 25 patchShebangs {src,customscreensaver/deepin-custom-screensaver}/{generate_translations.sh,update_translations.sh} 26 27 substituteInPlace src/{dbusscreensaver.cpp,com.deepin.ScreenSaver.service,src.pro} \ 28 customscreensaver/deepin-custom-screensaver/deepin-custom-screensaver.pro \ 29 --replace "/usr" "$out" \ 30 --replace "/etc" "$out/etc" 31 32 substituteInPlace tools/preview/main.cpp \ 33 --replace "/usr/lib/xscreensaver" "${xscreensaver}/libexec/xscreensaver" 34 ''; 35 36 nativeBuildInputs = [ 37 libsForQt5.qmake 38 libsForQt5.qttools 39 pkg-config 40 libsForQt5.wrapQtAppsHook 41 ]; 42 43 buildInputs = [ 44 libsForQt5.qtbase 45 libsForQt5.qtx11extras 46 libsForQt5.qtdeclarative 47 dtkwidget 48 dde-qt-dbus-factory 49 xorg.libXScrnSaver 50 ]; 51 52 qmakeFlags = [ 53 "XSCREENSAVER_DATA_PATH=${xscreensaver}/libexec/xscreensaver" 54 "COMPILE_ON_V23=true" 55 ]; 56 57 meta = with lib; { 58 description = "Screensaver service developed by deepin"; 59 mainProgram = "deepin-screensaver"; 60 homepage = "https://github.com/linuxdeepin/deepin-screensaver"; 61 license = licenses.gpl3Plus; 62 platforms = platforms.linux; 63 teams = [ teams.deepin ]; 64 }; 65}