treeland/nix/default.nix

121 lines
2.6 KiB
Nix
Raw Permalink Normal View History

2025-01-14 20:02:14 +08:00
{
stdenv,
lib,
nix-filter,
cmake,
ninja,
2025-01-14 20:02:14 +08:00
extra-cmake-modules,
pkg-config,
wayland-scanner,
qttools,
wrapQtAppsHook,
qtbase,
qtdeclarative,
2025-01-14 20:02:14 +08:00
qtimageformats,
qtwayland,
qtsvg,
ddm,
deepin,
wayland,
wayland-protocols,
wlr-protocols,
wlroots_0_19,
2025-01-14 20:02:14 +08:00
treeland-protocols,
pixman,
pam,
libxcrypt,
libinput,
nixos-artwork,
qwlroots,
waylib,
2023-11-07 14:50:12 +08:00
}:
stdenv.mkDerivation (finalAttrs: {
2023-11-07 14:50:12 +08:00
pname = "treeland";
version = "0.5-unstable";
2023-11-07 14:50:12 +08:00
src = nix-filter.lib.filter {
2023-11-07 14:50:12 +08:00
root = ./..;
exclude = [
".git"
"debian"
"LICENSES"
"README.md"
"README.zh_CN.md"
(nix-filter.lib.matchExt "nix")
2023-11-07 14:50:12 +08:00
];
};
postPatch = ''
for file in $(grep -rl "/usr/share/wallpapers/deepin/desktop.jpg")
do
substituteInPlace $file \
--replace-fail "/usr/share/wallpapers/deepin/desktop.jpg" \
2023-11-07 14:50:12 +08:00
"${nixos-artwork.wallpapers.simple-blue}/share/backgrounds/nixos/nix-wallpaper-simple-blue.png"
done
2023-11-07 14:50:12 +08:00
'';
depsBuildBuild = [ pkg-config ];
2023-11-07 14:50:12 +08:00
nativeBuildInputs = [
cmake
ninja
2023-11-07 14:50:12 +08:00
extra-cmake-modules
pkg-config
wayland-scanner
qttools
wrapQtAppsHook
];
buildInputs = [
qtbase
qtdeclarative
qtimageformats
2023-11-07 14:50:12 +08:00
qtwayland
qtsvg
2024-05-09 18:28:02 +08:00
ddm
deepin.dtk6core
2024-05-09 18:28:02 +08:00
deepin.dtk6declarative
deepin.dtk6systemsettings
2023-11-07 14:50:12 +08:00
wayland
wayland-protocols
wlr-protocols
treeland-protocols
wlroots_0_19
2023-11-07 14:50:12 +08:00
pixman
pam
libxcrypt
libinput
qwlroots
waylib
2023-11-07 14:50:12 +08:00
];
2025-01-14 20:02:14 +08:00
cmakeFlags = [
(lib.cmakeFeature "QT_IMPORTS_DIR" "${placeholder "out"}/${qtbase.qtQmlPrefix}")
(lib.cmakeFeature "CMAKE_INSTALL_SYSCONFDIR" "${placeholder "out"}/etc")
(lib.cmakeFeature "SYSTEMD_SYSTEM_UNIT_DIR" "${placeholder "out"}/lib/systemd/system")
(lib.cmakeFeature "SYSTEMD_SYSUSERS_DIR" "${placeholder "out"}/lib/sysusers.d")
(lib.cmakeFeature "SYSTEMD_TMPFILES_DIR" "${placeholder "out"}/lib/tmpfiles.d")
(lib.cmakeFeature "DBUS_CONFIG_DIR" "${placeholder "out"}/share/dbus-1/system.d")
(lib.cmakeBool "WITH_SUBMODULE_WAYLIB" false)
2023-11-07 14:50:12 +08:00
];
2025-01-14 20:02:14 +08:00
env.PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
# RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/
noAuditTmpdir = true;
meta = {
description = "Wayland compositor based on wlroots and QtQuick";
homepage = "https://github.com/linuxdeepin/treeland";
2025-01-14 20:02:14 +08:00
license = with lib.licenses; [
gpl3Only
lgpl3Only
asl20
];
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ rewine ];
2023-11-07 14:50:12 +08:00
};
})