Nix packaging #6
+14
-4
@@ -1,5 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.19)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
project(ZShell)
|
||||
|
||||
@@ -8,9 +7,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
set(ENABLE_MODULES "plugin;shell" CACHE STRING "Modules to build/install")
|
||||
|
||||
set(INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/ZShell" CACHE STRING "Library install dir")
|
||||
set(INSTALL_QMLDIR "${CMAKE_INSTALL_LIBDIR}/qt6/qml" CACHE STRING "QML install dir")
|
||||
set(INSTALL_LIBDIR "usr/lib/ZShell" CACHE STRING "Library install dir")
|
||||
set(INSTALL_QMLDIR "usr/lib/qt6/qml" CACHE STRING "QML install dir")
|
||||
|
||||
add_compile_options(
|
||||
-Wall -Wextra -Wpedantic -Wshadow -Wconversion
|
||||
@@ -20,4 +20,14 @@ add_compile_options(
|
||||
-Wunreachable-code
|
||||
)
|
||||
|
||||
add_subdirectory(Plugins)
|
||||
|
||||
if("plugin" IN_LIST ENABLE_MODULES)
|
||||
add_subdirectory(Plugins)
|
||||
endif()
|
||||
|
||||
if("shell" IN_LIST ENABLE_MODULES)
|
||||
foreach(dir assets scripts Components Config Modules Daemons Drawers Effects Helpers Paths)
|
||||
install(DIRECTORY ${dir} DESTINATION "${INSTALL_QSCONFDIR}")
|
||||
endforeach()
|
||||
install(FILES shell.qml Bar.qml Wallpaper.qml DESTINATION "${INSTALL_QSCONFDIR}")
|
||||
endif()
|
||||
|
||||
@@ -20,7 +20,7 @@ function(qml_module arg_TARGET)
|
||||
QMLDIR module_qmldir
|
||||
TYPEINFO module_typeinfo
|
||||
)
|
||||
set(module_dir "/usr/lib/qt6/qml/${module_target_path}")
|
||||
set(module_dir "${INSTALL_QMLDIR}/${module_target_path}")
|
||||
install(TARGETS ${arg_TARGET} LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
|
||||
install(TARGETS "${module_plugin_target}" LIBRARY DESTINATION "${module_dir}" RUNTIME DESTINATION "${module_dir}")
|
||||
install(FILES "${module_qmldir}" DESTINATION "${module_dir}")
|
||||
|
||||
+3
-2
@@ -95,17 +95,17 @@ stdenv.mkDerivation {
|
||||
quickshell
|
||||
plugin
|
||||
qt6.qtbase
|
||||
qt6.qtwayland
|
||||
];
|
||||
propagatedBuildInputs = runtimeDeps;
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "ENABLE_MODULES" "shell")
|
||||
(lib.cmakeFeature "INSTALL_QSCONFDIR" "${placeholder "out"}/share/ZShell")
|
||||
]
|
||||
++ cmakeVersionFlags;
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace assets/pam.d/fprint \
|
||||
--replace-fail pam_fprintd.so /run/current-system/sw/lib/security/pam_fprintd.so
|
||||
substituteInPlace shell.qml \
|
||||
--replace-fail 'ShellRoot {' 'ShellRoot { settings.watchFiles: false'
|
||||
'';
|
||||
@@ -116,6 +116,7 @@ stdenv.mkDerivation {
|
||||
--set FONTCONFIG_FILE "${fontconfig}" \
|
||||
--add-flags "-p $out/share/ZShell"
|
||||
|
||||
echo "$out"
|
||||
mkdir -p $out/lib
|
||||
'';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user