diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2019-03-05 16:56:41 +0100 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2019-03-05 17:01:53 +0100 |
commit | 908a3f361480f39819c712d62a5e0b685e823c54 (patch) | |
tree | acf5fbf365401253eadd698e8c0db963f46b6219 /gnu | |
parent | 9a3d176ee1b49d4b6d8a7cf0a80512cfa61c0e61 (diff) | |
download | patches-908a3f361480f39819c712d62a5e0b685e823c54.tar patches-908a3f361480f39819c712d62a5e0b685e823c54.tar.gz |
gnu: thinkfan: Let the build system handle rcscripts/.
This moves them from /share/thinkfan to their conventional locations
in /etc and /lib; the former was an arbitrary Guixism anyway.
* gnu/packages/linux.scm (thinkfan)[arguments]:
Re-write 'install-rc-scripts' as 'create-init-scripts' and move it after
the 'unpack' phase.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/linux.scm | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9f83f97cef..dd9e19aa37 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3507,19 +3507,23 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") `("-DUSE_ATASMART:BOOL=ON") #:phases (modify-phases %standard-phases - ;; Install scripts for various foreign init systems. Also fix - ;; hard-coded path for daemon. - (add-after 'install 'install-rc-scripts + (add-after 'unpack 'create-init-scripts + ;; CMakeLists.txt relies on build-time symptoms of OpenRC and + ;; systemd to patch and install their service files. Fake their + ;; presence rather than duplicating the build system below. Leave + ;; things like ‘/bin/kill’ because they're not worth a dependency. + ;; The sysvinit needs manual patching, but since upstream doesn't + ;; even provide the option to install it: don't. (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (files (find-files "../source/rcscripts" ".*"))) - (substitute* files - (("/usr/sbin/(\\$NAME|thinkfan)" _ name) - (string-append out "/sbin/" name))) - (for-each (cute install-file <> - (string-append out "/share/thinkfan")) - files)) - #t))))) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/" ,name))) + (substitute* "CMakeLists.txt" + (("pkg_check_modules\\((OPENRC|SYSTEMD) .*" _ package) + (format "option(~a_FOUND \"Faked\" ON)\n" package)) + ;; That was easy! Now we just need to fix the destinations. + (("/etc" directory) + (string-append out directory))) + #t)))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs |