|
|
|
@ -168,40 +168,51 @@ stdenv.mkDerivation { |
|
|
|
|
# need (AFAICT). |
|
|
|
|
# See https://github.com/systemd/systemd/pull/20479 for upsteam discussion. |
|
|
|
|
./0019-core-handle-lookup-paths-being-symlinks.patch |
|
|
|
|
] ++ lib.optional stdenv.hostPlatform.isMusl (let |
|
|
|
|
oe-core = fetchzip { |
|
|
|
|
url = "https://git.openembedded.org/openembedded-core/snapshot/openembedded-core-14c6e5a4b72d0e4665279158a0740dd1dc21f72f.tar.bz2"; |
|
|
|
|
sha256 = "1jixya4czkr5p5rdcw3d6ips8zzr82dvnanvzvgjh67730scflya"; |
|
|
|
|
}; |
|
|
|
|
musl-patches = oe-core + "/meta/recipes-core/systemd/systemd"; |
|
|
|
|
in [ |
|
|
|
|
(musl-patches + "/0002-don-t-use-glibc-specific-qsort_r.patch") |
|
|
|
|
(musl-patches + "/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch") |
|
|
|
|
(musl-patches + "/0004-add-fallback-parse_printf_format-implementation.patch") |
|
|
|
|
(musl-patches + "/0005-src-basic-missing.h-check-for-missing-strndupa.patch") |
|
|
|
|
(musl-patches + "/0006-Include-netinet-if_ether.h.patch") |
|
|
|
|
(musl-patches + "/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch") |
|
|
|
|
(musl-patches + "/0008-add-missing-FTW_-macros-for-musl.patch") |
|
|
|
|
(musl-patches + "/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch") |
|
|
|
|
(musl-patches + "/0010-Use-uintmax_t-for-handling-rlim_t.patch") |
|
|
|
|
(musl-patches + "/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch") |
|
|
|
|
(musl-patches + "/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch") |
|
|
|
|
(musl-patches + "/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch") |
|
|
|
|
(musl-patches + "/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch") |
|
|
|
|
(musl-patches + "/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch") |
|
|
|
|
(musl-patches + "/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch") |
|
|
|
|
(musl-patches + "/0017-missing_type.h-add-__compar_d_fn_t-definition.patch") |
|
|
|
|
(musl-patches + "/0018-avoid-redefinition-of-prctl_mm_map-structure.patch") |
|
|
|
|
(musl-patches + "/0019-Handle-missing-LOCK_EX.patch") |
|
|
|
|
(musl-patches + "/0021-test-json.c-define-M_PIl.patch") |
|
|
|
|
(musl-patches + "/0022-do-not-disable-buffer-in-writing-files.patch") |
|
|
|
|
(musl-patches + "/0025-Handle-__cpu_mask-usage.patch") |
|
|
|
|
(musl-patches + "/0026-Handle-missing-gshadow.patch") |
|
|
|
|
(musl-patches + "/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch") |
|
|
|
|
|
|
|
|
|
# Being discussed upstream: https://lists.openembedded.org/g/openembedded-core/topic/86411771#157056 |
|
|
|
|
./musl.diff |
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
# In v248 compiler weirdness and refactoring lead to the bootloader |
|
|
|
|
# erroring out handling keyboard input on some systems. See |
|
|
|
|
# https://github.com/systemd/systemd/issues/19191 |
|
|
|
|
# This should be redundant in v249.6 when it offically gets tagged in |
|
|
|
|
# systemd-stable |
|
|
|
|
./0020-sd-boot-Unify-error-handling.patch |
|
|
|
|
./0021-sd-boot-Rework-console-input-handling.patch |
|
|
|
|
] ++ lib.optional stdenv.hostPlatform.isMusl ( |
|
|
|
|
let |
|
|
|
|
oe-core = fetchzip { |
|
|
|
|
url = "https://git.openembedded.org/openembedded-core/snapshot/openembedded-core-14c6e5a4b72d0e4665279158a0740dd1dc21f72f.tar.bz2"; |
|
|
|
|
sha256 = "1jixya4czkr5p5rdcw3d6ips8zzr82dvnanvzvgjh67730scflya"; |
|
|
|
|
}; |
|
|
|
|
musl-patches = oe-core + "/meta/recipes-core/systemd/systemd"; |
|
|
|
|
in |
|
|
|
|
[ |
|
|
|
|
(musl-patches + "/0002-don-t-use-glibc-specific-qsort_r.patch") |
|
|
|
|
(musl-patches + "/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch") |
|
|
|
|
(musl-patches + "/0004-add-fallback-parse_printf_format-implementation.patch") |
|
|
|
|
(musl-patches + "/0005-src-basic-missing.h-check-for-missing-strndupa.patch") |
|
|
|
|
(musl-patches + "/0006-Include-netinet-if_ether.h.patch") |
|
|
|
|
(musl-patches + "/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch") |
|
|
|
|
(musl-patches + "/0008-add-missing-FTW_-macros-for-musl.patch") |
|
|
|
|
(musl-patches + "/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch") |
|
|
|
|
(musl-patches + "/0010-Use-uintmax_t-for-handling-rlim_t.patch") |
|
|
|
|
(musl-patches + "/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch") |
|
|
|
|
(musl-patches + "/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch") |
|
|
|
|
(musl-patches + "/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch") |
|
|
|
|
(musl-patches + "/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch") |
|
|
|
|
(musl-patches + "/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch") |
|
|
|
|
(musl-patches + "/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch") |
|
|
|
|
(musl-patches + "/0017-missing_type.h-add-__compar_d_fn_t-definition.patch") |
|
|
|
|
(musl-patches + "/0018-avoid-redefinition-of-prctl_mm_map-structure.patch") |
|
|
|
|
(musl-patches + "/0019-Handle-missing-LOCK_EX.patch") |
|
|
|
|
(musl-patches + "/0021-test-json.c-define-M_PIl.patch") |
|
|
|
|
(musl-patches + "/0022-do-not-disable-buffer-in-writing-files.patch") |
|
|
|
|
(musl-patches + "/0025-Handle-__cpu_mask-usage.patch") |
|
|
|
|
(musl-patches + "/0026-Handle-missing-gshadow.patch") |
|
|
|
|
(musl-patches + "/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch") |
|
|
|
|
|
|
|
|
|
# Being discussed upstream: https://lists.openembedded.org/g/openembedded-core/topic/86411771#157056 |
|
|
|
|
./musl.diff |
|
|
|
|
] |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
postPatch = '' |
|
|
|
|
substituteInPlace src/basic/path-util.h --replace "@defaultPathNormal@" "${placeholder "out"}/bin/" |
|
|
|
@ -575,6 +586,12 @@ stdenv.mkDerivation { |
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
postInstall = '' |
|
|
|
|
# sysinit.target: Don't depend on |
|
|
|
|
# systemd-tmpfiles-setup.service. This interferes with NixOps's |
|
|
|
|
# send-keys feature (since sshd.service depends indirectly on |
|
|
|
|
# sysinit.target). |
|
|
|
|
mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/ |
|
|
|
|
|
|
|
|
|
mkdir -p $out/example/systemd |
|
|
|
|
mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example |
|
|
|
|
mv $out/lib/systemd/{system,user} $out/example/systemd |
|
|
|
|