Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 155 lines 3.9 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 fetchpatch, 6 runtimeShell, 7 dtkwidget, 8 qt5integration, 9 qt5platform-plugins, 10 dde-qt-dbus-factory, 11 docparser, 12 dde-tray-loader, 13 cmake, 14 libsForQt5, 15 pkg-config, 16 ffmpegthumbnailer, 17 libsecret, 18 libmediainfo, 19 mediainfo, 20 libzen, 21 poppler, 22 polkit, 23 wrapGAppsHook3, 24 lucenepp, 25 boost, 26 taglib, 27 cryptsetup, 28 glib, 29 util-dfm, 30 deepin-pdfium, 31 libuuid, 32 libselinux, 33 glibmm, 34 pcre, 35 udisks2, 36 libisoburn, 37 gsettings-qt, 38}: 39 40stdenv.mkDerivation rec { 41 pname = "dde-file-manager"; 42 version = "6.0.57"; 43 44 src = fetchFromGitHub { 45 owner = "linuxdeepin"; 46 repo = pname; 47 rev = version; 48 hash = "sha256-laM6PgNdUNbsqbzKFGWk7DPuAWR+XHo0eXKG0CDuc9c="; 49 }; 50 51 nativeBuildInputs = [ 52 cmake 53 libsForQt5.qttools 54 pkg-config 55 libsForQt5.wrapQtAppsHook 56 wrapGAppsHook3 57 ]; 58 dontWrapGApps = true; 59 60 patches = [ 61 ./patch_check_v23_interface.diff 62 (fetchpatch { 63 name = "fix-permission-to-execute-dde-file-manager.patch"; 64 url = "https://github.com/linuxdeepin/dde-file-manager/commit/b78cc4bd08dd487f67c5a332a2a2f4d20b3798c7.patch"; 65 hash = "sha256-Tw3iu6sU0rrsM78WGMBpBgvA9YdRTM1ObjCxyM928F4="; 66 }) 67 ]; 68 69 postPatch = '' 70 patchShebangs tests/*.sh \ 71 assets/scripts \ 72 src/*.sh \ 73 src/plugins/daemon/daemonplugin-accesscontrol/help.sh \ 74 src/apps/dde-file-manager/dde-property-dialog \ 75 src/apps/dde-desktop/data/applications/dfm-open.sh 76 77 substituteInPlace assets/scripts/file-manager.sh \ 78 --replace-fail "/usr/libexec/dde-file-manager" "$out/libexec/dde-file-manager" 79 80 substituteInPlace src/plugins/filemanager/dfmplugin-vault/utils/vaultdefine.h \ 81 --replace-fail "/usr/bin/deepin-compressor" "deepin-compressor" 82 83 substituteInPlace src/plugins/filemanager/dfmplugin-avfsbrowser/utils/avfsutils.cpp \ 84 --replace-fail "/usr/bin/mountavfs" "mountavfs" \ 85 --replace-fail "/usr/bin/umountavfs" "umountavfs" 86 87 substituteInPlace src/plugins/common/core/dfmplugin-menu/{extendmenuscene/extendmenu/dcustomactionparser.cpp,oemmenuscene/oemmenu.cpp} \ 88 --replace-fail "/usr" "$out" 89 90 substituteInPlace src/tools/upgrade/dialog/processdialog.cpp \ 91 --replace-fail "/usr/bin/dde-file-manager" "dde-file-manager" \ 92 --replace-fail "/usr/bin/dde-desktop" "dde-desktop" 93 94 substituteInPlace src/dfm-base/file/local/localfilehandler.cpp \ 95 --replace-fail "/usr/lib/deepin-daemon" "/run/current-system/sw/lib/deepin-daemon" 96 97 substituteInPlace src/plugins/desktop/ddplugin-background/backgroundservice.cpp \ 98 src/plugins/desktop/ddplugin-wallpapersetting/wallpapersettings.cpp \ 99 --replace-fail "/usr/share/backgrounds" "/run/current-system/sw/share/backgrounds" 100 101 find . -type f -regex ".*\\.\\(service\\|policy\\|desktop\\)" -exec sed -i -e "s|/usr/|$out/|g" {} \; 102 ''; 103 104 buildInputs = [ 105 dtkwidget 106 qt5integration 107 qt5platform-plugins 108 deepin-pdfium 109 util-dfm 110 dde-qt-dbus-factory 111 glibmm 112 docparser 113 dde-tray-loader 114 libsForQt5.qtx11extras 115 libsForQt5.qtmultimedia 116 libsForQt5.kcodecs 117 ffmpegthumbnailer 118 libsecret 119 libmediainfo 120 mediainfo 121 poppler 122 libsForQt5.polkit-qt 123 polkit 124 lucenepp 125 boost 126 taglib 127 cryptsetup 128 libuuid 129 libselinux 130 pcre 131 udisks2 132 libisoburn 133 gsettings-qt 134 ]; 135 136 cmakeFlags = [ 137 "-DVERSION=${version}" 138 "-DNIX_DEEPIN_VERSION=23" 139 "-DSYSTEMD_USER_UNIT_DIR=${placeholder "out"}/lib/systemd/user" 140 ]; 141 142 enableParallelBuilding = true; 143 144 preFixup = '' 145 qtWrapperArgs+=("''${gappsWrapperArgs[@]}") 146 ''; 147 148 meta = with lib; { 149 description = "File manager for deepin desktop environment"; 150 homepage = "https://github.com/linuxdeepin/dde-file-manager"; 151 license = licenses.gpl3Plus; 152 platforms = platforms.linux; 153 teams = [ teams.deepin ]; 154 }; 155}