···65 unitConfig.Documentation = [ "man:lircd(8)" ];
6667 serviceConfig = {
68- RuntimeDirectory = "lirc";
6970 # Service runtime directory and socket share same folder.
71 # Following hacks are necessary to get everything right:
···65 unitConfig.Documentation = [ "man:lircd(8)" ];
6667 serviceConfig = {
68+ RuntimeDirectory = ["lirc" "lirc/lock"];
6970 # Service runtime directory and socket share same folder.
71 # Following hacks are necessary to get everything right:
···103 url = "https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/fix-sigevent-and-sigval_t.patch";
104 sha256 = "0wk0rrcqywhrw9hygy6ap0lfg314m9z1wr2hn8338r5gfcw75mav";
105 })
00000000000106 ];
107108 postPatch = ''
···166167 doCheck = false; # tries to access /dev
168 dontWrapGApps = true;
000000169170 postFixup = ''
171 # the .desktop is both invalid and pointless
···103 url = "https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/fix-sigevent-and-sigval_t.patch";
104 sha256 = "0wk0rrcqywhrw9hygy6ap0lfg314m9z1wr2hn8338r5gfcw75mav";
105 })
106+ ] ++ lib.optionals stdenv.isDarwin [
107+ # The Hypervisor.framework support patch converted something that can be applied:
108+ # * https://patchwork.kernel.org/project/qemu-devel/list/?series=548227
109+ # The base revision is whatever commit there is before the series starts:
110+ # * https://github.com/patchew-project/qemu/commits/patchew/20210916155404.86958-1-agraf%40csgraf.de
111+ # The target revision is what patchew has as the series tag from patchwork:
112+ # * https://github.com/patchew-project/qemu/releases/tag/patchew%2F20210916155404.86958-1-agraf%40csgraf.de
113+ (fetchpatch {
114+ url = "https://github.com/patchew-project/qemu/compare/7adb961995a3744f51396502b33ad04a56a317c3..d2603c06d9c4a28e714b9b70fe5a9d0c7b0f934d.diff";
115+ sha256 = "sha256-nSi5pFf9+EefUmyJzSEKeuxOt39ztgkXQyUB8fTHlcY=";
116+ })
117 ];
118119 postPatch = ''
···177178 doCheck = false; # tries to access /dev
179 dontWrapGApps = true;
180+181+ # QEMU attaches entitlements with codesign and strip removes those,
182+ # voiding the entitlements and making it non-operational.
183+ # The alternative is to re-sign with entitlements after stripping:
184+ # * https://github.com/qemu/qemu/blob/v6.1.0/scripts/entitlement.sh#L25
185+ dontStrip = stdenv.isDarwin;
186187 postFixup = ''
188 # the .desktop is both invalid and pointless
···42 "--with-systemdsystemunitdir=$(out)/lib/systemd/system"
43 "--enable-uinput" # explicit activation because build env has no uinput
44 "--enable-devinput" # explicit activation because build env has no /dev/input
045 ];
4647 installFlags = [
···42 "--with-systemdsystemunitdir=$(out)/lib/systemd/system"
43 "--enable-uinput" # explicit activation because build env has no uinput
44 "--enable-devinput" # explicit activation because build env has no /dev/input
45+ "--with-lockdir=/run/lirc/lock" # /run/lock is not writable for 'lirc' user
46 ];
4748 installFlags = [
+2-29
pkgs/development/misc/resholve/test.nix
···3, callPackage
4, resholve
5, resholvePackage
006, shunit2
7, coreutils
8, gnused
···22}:
2324let
25- inherit (callPackage ./default.nix { })
26- resholve resholvePackage resholveScript resholveScriptBin;
27-28- # ourCoreutils = coreutils.override { singleBinary = false; };
29-30- /*
31- TODO: wrapped copy of find so that we can eventually test
32- our ability to see through wrappers. Unused for now.
33- Note: grep can serve the negative case; grep doesn't match, and
34- egrep is a shell wrapper for grep.
35- */
36- # wrapfind = runCommand "wrapped-find" { } ''
37- # source ${makeWrapper}/nix-support/setup-hook
38- # makeWrapper ${findutils}/bin/find $out/bin/wrapped-find
39- # '';
40- /* TODO:
41- unrelated, but is there already a function (or would
42- there be demand for one?) along the lines of:
43- wrap = { drv, executable(s?), args ? { } }: that:
44- - generates a sane output name
45- - sources makewrapper
46- - retargets real executable if already wrapped
47- - wraps the executable
48-49- I wonder because my first thought here was overrideAttrs,
50- but I realized rebuilding just for a custom wrapper is an
51- ongoing waste of time. If it is a common pattern in the
52- wild, it would be a nice QoL improvement.
53- */
5455in
56rec {