From b23fac5ee77d52955f2862fa965887a54e4db5fd Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Thu, 4 Dec 2025 16:58:47 -0700 Subject: [PATCH] freebsd: 14.2->15.0 --- pkgs/os-specific/bsd/freebsd/default.nix | 2 +- .../patches/15.0/bmake-no-compiler-rt.patch | 11 ++ .../15.0/bsd-lib-mk-force-static.patch | 66 +++++++ .../patches/15.0/compat-install-dirs.patch | 42 +++++ .../patches/15.0/compat-systypes.patch | 12 ++ .../bsd/freebsd/patches/15.0/fsck-path.patch | 18 ++ .../15.0/install-bootstrap-Makefile.patch | 11 ++ .../patches/15.0/libc-msun-arch-subdir.patch | 11 ++ .../15.0/libc-no-force--lcompiler-rt.patch | 21 +++ .../patches/15.0/libcxxrt-headers.patch | 11 ++ .../15.0/libifconfig-no-internal.patch | 34 ++++ .../libncurses-tinfo-makefile-gnused.patch | 22 +++ .../patches/15.0/libnetbsd-do-install.patch | 32 ++++ .../15.0/librpcsvc-include-subdir.patch | 11 ++ .../bsd/freebsd/patches/15.0/localedef.patch | 158 +++++++++++++++++ .../freebsd/patches/15.0/more-gnu-date.patch | 13 ++ .../freebsd/patches/15.0/mount-use-path.patch | 18 ++ .../freebsd/patches/15.0/mtree-Makefile.patch | 13 ++ .../15.0/no-perms-BSD.include.dist.patch | 11 ++ .../freebsd/patches/15.0/rc-no-verify.patch | 17 ++ .../bsd/freebsd/patches/15.0/rc-user.patch | 17 ++ .../patches/15.0/rtld-makefile-nolibsys.patch | 10 ++ .../15.0/rtld-no-force--lcompiler-rt.patch | 10 ++ .../freebsd/patches/15.0/sys-gnu-date.patch | 13 ++ .../15.0/sys-no-explicit-intrinsics-dep.patch | 41 +++++ .../freebsd/patches/15.0/tinfo-host-cc.patch | 15 ++ pkgs/os-specific/bsd/freebsd/pkgs/bin.nix | 4 + .../bsd/freebsd/pkgs/compat/package.nix | 51 ++++++ .../bsd/freebsd/pkgs/drm-kmod/package.nix | 10 +- pkgs/os-specific/bsd/freebsd/pkgs/elfcopy.nix | 27 +++ .../bsd/freebsd/pkgs/fsck_msdosfs.nix | 4 + pkgs/os-specific/bsd/freebsd/pkgs/kldxref.nix | 12 ++ .../bsd/freebsd/pkgs/libcMinimal.nix | 9 +- .../os-specific/bsd/freebsd/pkgs/libcrypt.nix | 2 + pkgs/os-specific/bsd/freebsd/pkgs/libdl.nix | 2 + .../os-specific/bsd/freebsd/pkgs/libelftc.nix | 22 +++ pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix | 4 + pkgs/os-specific/bsd/freebsd/pkgs/libpe.nix | 16 ++ .../bsd/freebsd/pkgs/libprocstat.nix | 1 + pkgs/os-specific/bsd/freebsd/pkgs/librt.nix | 2 + pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix | 1 - pkgs/os-specific/bsd/freebsd/pkgs/libsys.nix | 35 ++++ pkgs/os-specific/bsd/freebsd/pkgs/libthr.nix | 3 + pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix | 5 +- pkgs/os-specific/bsd/freebsd/pkgs/libzfs.nix | 2 + pkgs/os-specific/bsd/freebsd/pkgs/rc.nix | 4 +- .../os-specific/bsd/freebsd/pkgs/rtld-elf.nix | 19 ++- .../bsd/freebsd/pkgs/stand-efi.nix | 17 +- pkgs/os-specific/bsd/freebsd/pkgs/swapon.nix | 8 +- .../bsd/freebsd/pkgs/sys/package.nix | 9 +- pkgs/os-specific/bsd/freebsd/pkgs/sysctl.nix | 8 +- pkgs/os-specific/bsd/freebsd/pkgs/syslogd.nix | 14 +- .../bsd/freebsd/pkgs/vtfontcvt.nix | 4 + pkgs/os-specific/bsd/freebsd/versions.json | 161 ++++++++++++++---- 54 files changed, 1044 insertions(+), 52 deletions(-) create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/bmake-no-compiler-rt.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/bsd-lib-mk-force-static.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/compat-install-dirs.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/compat-systypes.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/fsck-path.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/install-bootstrap-Makefile.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/libc-msun-arch-subdir.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/libc-no-force--lcompiler-rt.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/libcxxrt-headers.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/libifconfig-no-internal.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/libncurses-tinfo-makefile-gnused.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/libnetbsd-do-install.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/librpcsvc-include-subdir.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/localedef.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/more-gnu-date.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/mount-use-path.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/mtree-Makefile.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/no-perms-BSD.include.dist.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/rc-no-verify.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/rc-user.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/rtld-makefile-nolibsys.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/rtld-no-force--lcompiler-rt.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/sys-gnu-date.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/sys-no-explicit-intrinsics-dep.patch create mode 100644 pkgs/os-specific/bsd/freebsd/patches/15.0/tinfo-host-cc.patch create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/elfcopy.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libelftc.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libpe.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libsys.nix diff --git a/pkgs/os-specific/bsd/freebsd/default.nix b/pkgs/os-specific/bsd/freebsd/default.nix index a8088b063bde..650f4284a32a 100644 --- a/pkgs/os-specific/bsd/freebsd/default.nix +++ b/pkgs/os-specific/bsd/freebsd/default.nix @@ -3,7 +3,7 @@ generateSplicesForMkScope, callPackage, attributePathToSplice ? [ "freebsd" ], - branch ? "release/14.2.0", + branch ? "release/15.0.0", }: let diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/bmake-no-compiler-rt.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/bmake-no-compiler-rt.patch new file mode 100644 index 000000000000..20be3503fd17 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/bmake-no-compiler-rt.patch @@ -0,0 +1,11 @@ +--- a/share/mk/src.libnames.mk 2023-12-21 23:56:50.767042385 -0800 ++++ b/share/mk/src.libnames.mk 2023-12-21 23:56:39.671089506 -0800 +@@ -392,7 +392,7 @@ + _DP_ztest= geom m nvpair umem zpool pthread avl zfs_core spl zutil zfs uutil icp + # The libc dependencies are not strictly needed but are defined to make the + # assert happy. +-_DP_c= compiler_rt sys ++_DP_c= sys + # Use libssp_nonshared only on i386 and power*. Other archs emit direct calls + # to __stack_chk_fail, not __stack_chk_fail_local provided by libssp_nonshared. + .if ${MK_SSP} != "no" && \ diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/bsd-lib-mk-force-static.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/bsd-lib-mk-force-static.patch new file mode 100644 index 000000000000..1052fa10adaf --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/bsd-lib-mk-force-static.patch @@ -0,0 +1,66 @@ +diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk +index 5f328d5378ca..89d16dc6fa41 100644 +--- a/share/mk/bsd.lib.mk ++++ b/share/mk/bsd.lib.mk +@@ -242,7 +242,7 @@ PO_FLAG=-pg + _LIBDIR:=${LIBDIR} + _SHLIBDIR:=${SHLIBDIR} + +-.if defined(SHLIB_NAME) ++.if defined(SHLIB_NAME) && !empty(SHLIB_NAME) + .if ${MK_DEBUG_FILES} != "no" + SHLIB_NAME_FULL=${SHLIB_NAME}.full + # Use ${DEBUGDIR} for base system debug files, else .debug subdirectory +@@ -277,7 +277,7 @@ LDFLAGS+= -Wl,--undefined-version + .endif + .endif + +-.if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME) ++.if defined(LIB) && !empty(LIB) || (defined(SHLIB_NAME) && !empty(SHLIB_NAME)) + OBJS+= ${SRCS:N*.h:${OBJS_SRCS_FILTER:ts:}:S/$/.o/} + BCOBJS+= ${SRCS:N*.[hsS]:N*.asm:${OBJS_SRCS_FILTER:ts:}:S/$/.bco/g} + LLOBJS+= ${SRCS:N*.[hsS]:N*.asm:${OBJS_SRCS_FILTER:ts:}:S/$/.llo/g} +@@ -320,14 +320,14 @@ lib${LIB_PRIVATE}${LIB}.ll: ${LLOBJS} + CLEANFILES+= lib${LIB_PRIVATE}${LIB}.bc lib${LIB_PRIVATE}${LIB}.ll + .endif + +-.if defined(SHLIB_NAME) || \ ++.if (defined(SHLIB_NAME) && !empty(SHLIB_NAME)) || \ + defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) + SOBJS+= ${OBJS:.o=.pico} + DEPENDOBJS+= ${SOBJS} + CLEANFILES+= ${SOBJS} + .endif + +-.if defined(SHLIB_NAME) ++.if defined(SHLIB_NAME) && !empty(SHLIB_NAME) + _LIBS+= ${SHLIB_NAME} + + SOLINKOPTS+= -shared -Wl,-x +@@ -435,7 +435,7 @@ all: all-man + CLEANFILES+= ${_LIBS} + + _EXTRADEPEND: +-.if !defined(NO_EXTRADEPEND) && defined(SHLIB_NAME) ++.if !defined(NO_EXTRADEPEND) && defined(SHLIB_NAME) && !empty(SHLIB_NAME) + .if defined(DPADD) && !empty(DPADD) + echo ${SHLIB_NAME_FULL}: ${DPADD} >> ${DEPENDFILE} + .endif +@@ -501,7 +501,7 @@ _libinstall: + ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}${_STATICLIB_SUFFIX}.a ${DESTDIR}${_LIBDIR}/ + .endif + .endif +-.if defined(SHLIB_NAME) ++.if defined(SHLIB_NAME) && !empty(SHLIB_NAME) + ${INSTALL} ${LIB_TAG_ARGS} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \ + ${SHLIB_NAME} ${DESTDIR}${_SHLIBDIR}/ +@@ -588,7 +588,7 @@ OBJS_DEPEND_GUESS+= ${SRCS:M*.h} + OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.po+= ${_S} + .endfor + .endif +-.if defined(SHLIB_NAME) || \ ++.if (defined(SHLIB_NAME) && !empty(SHLIB_NAME)) || \ + defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) + .for _S in ${SRCS:N*.[hly]} + OBJS_DEPEND_GUESS.${_S:${OBJS_SRCS_FILTER:ts:}}.pico+= ${_S} diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/compat-install-dirs.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/compat-install-dirs.patch new file mode 100644 index 000000000000..74728b090bff --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/compat-install-dirs.patch @@ -0,0 +1,42 @@ +diff --git a/tools/build/Makefile b/tools/build/Makefile +index 948a5f9dfdb..592af84eeae 100644 +--- a/tools/build/Makefile ++++ b/tools/build/Makefile +@@ -327,15 +327,15 @@ host-symlinks: + # and cross-tools stages. We do this here using mkdir since mtree may not exist + # yet (this happens if we are crossbuilding from Linux/Mac). + INSTALLDIR_LIST= \ +- bin \ +- lib/geom \ +- usr/include/casper \ +- usr/include/openssl \ +- usr/include/private/ucl \ +- usr/include/private/zstd \ +- usr/lib \ +- usr/libdata/pkgconfig \ +- usr/libexec ++ ${BINDIR} \ ++ ${LIBDIR}/geom \ ++ ${INCLUDEDIR}/casper \ ++ ${INCLUDEDIR}/openssl \ ++ ${INCLUDEDIR}/private/ucl \ ++ ${INCLUDEDIR}/private/zstd \ ++ ${LIBDIR} \ ++ ${LIBDIR}/libdata/pkgconfig \ ++ ${LIBEXECDIR} + + installdirs: + mkdir -p ${INSTALLDIR_LIST:S,^,${DESTDIR}/,} +@@ -352,9 +352,9 @@ installdirs: + rm -rf "${DESTDIR}/${_dir}"; \ + fi + .endfor +- ln -sfn bin ${DESTDIR}/sbin +- ln -sfn ../bin ${DESTDIR}/usr/bin +- ln -sfn ../bin ${DESTDIR}/usr/sbin ++ ln -sfn bin ${DESTDIR}/${SBINDIR} ++ ln -sfn ../bin ${DESTDIR}/${BINDIR} ++ ln -sfn ../bin ${DESTDIR}/${SBINDIR} + .for _group in ${INCSGROUPS:NINCS} + mkdir -p "${DESTDIR}/${${_group}DIR}" + .endfor diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/compat-systypes.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/compat-systypes.patch new file mode 100644 index 000000000000..b520d04ee361 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/compat-systypes.patch @@ -0,0 +1,12 @@ +diff --git a/tools/build/cross-build/include/common/sys/types.h b/tools/build/cross-build/include/common/sys/types.h +index 18b607ed82d2..ee7692b31273 100644 +--- a/tools/build/cross-build/include/common/sys/types.h ++++ b/tools/build/cross-build/include/common/sys/types.h +@@ -34,6 +34,7 @@ + * SUCH DAMAGE. + */ + #pragma once ++#include + #include_next + #include + /* diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/fsck-path.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/fsck-path.patch new file mode 100644 index 000000000000..d1e49d20103b --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/fsck-path.patch @@ -0,0 +1,18 @@ +diff --git a/sbin/fsck/fsck.c b/sbin/fsck/fsck.c +index 3757ed062ba5..584ada116386 100644 +--- a/sbin/fsck/fsck.c ++++ b/sbin/fsck/fsck.c +@@ -375,11 +375,8 @@ checkfs(const char *pvfstype, const char *spec, const char *mntpt, + _exit(0); + + /* Go find an executable. */ +- execvP(execbase, _PATH_SYSPATH, __DECONST(char * const *, argv)); +- if (spec) +- warn("exec %s for %s in %s", execbase, spec, _PATH_SYSPATH); +- else +- warn("exec %s in %s", execbase, _PATH_SYSPATH); ++ execvp(execbase, __DECONST(char * const *, argv)); ++ warn("exec %s not found", execbase); + _exit(1); + /* NOTREACHED */ + diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/install-bootstrap-Makefile.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/install-bootstrap-Makefile.patch new file mode 100644 index 000000000000..a69c5501ddd1 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/install-bootstrap-Makefile.patch @@ -0,0 +1,11 @@ +--- a/usr.bin/xinstall/Makefile 2023-09-23 19:18:49.165192183 -0700 ++++ b/usr.bin/xinstall/Makefile 2023-12-06 17:06:57.836888028 -0700 +@@ -14,7 +14,7 @@ + CFLAGS+= -I${SRCTOP}/lib/libnetbsd + + LIBADD= md +-CFLAGS+= -DWITH_MD5 -DWITH_RIPEMD160 ++CFLAGS+= -I${BSDSRCDIR}/contrib/libc-vis -I${BSDSRCDIR}/lib/libnetbsd + + .ifdef BOOTSTRAPPING + # For the bootstrap we disable copy_file_range() diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/libc-msun-arch-subdir.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/libc-msun-arch-subdir.patch new file mode 100644 index 000000000000..4a69e85a986a --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/libc-msun-arch-subdir.patch @@ -0,0 +1,11 @@ +--- a/lib/libc/Makefile ++++ b/lib/libc/Makefile +@@ -194,7 +194,7 @@ SUBDIR.${MK_TESTS}+= tests + # recording a build dependency + CFLAGS+= -I${SRCTOP}/lib/libutil + # Same issue with libm +-MSUN_ARCH_SUBDIR != ${MAKE} -B -C ${SRCTOP}/lib/msun -V ARCH_SUBDIR ++MSUN_ARCH_SUBDIR = ${MACHINE_CPUARCH:S/i386/i387/} + # unfortunately msun/src contains both private and public headers + CFLAGS+= -I${SRCTOP}/lib/msun/${MSUN_ARCH_SUBDIR} + .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/libc-no-force--lcompiler-rt.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/libc-no-force--lcompiler-rt.patch new file mode 100644 index 000000000000..3cc8fee77355 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/libc-no-force--lcompiler-rt.patch @@ -0,0 +1,21 @@ +--- a/lib/libc/Makefile ++++ b/lib/libc/Makefile +@@ -58,7 +58,6 @@ CFLAGS+=${CANCELPOINTS_CFLAGS} + # Link with static libcompiler_rt.a. + # + LDFLAGS+= -nodefaultlibs +-LIBADD+= compiler_rt + LIBADD+= sys + + .if ${MK_SSP} != "no" && \ +--- a/lib/libsys/Makefile ++++ b/lib/libsys/Makefile +@@ -46,7 +46,6 @@ + # + LDFLAGS+= -nodefaultlibs + LDFLAGS+= -Wl,-Bsymbolic +-LIBADD+= compiler_rt + + .if ${MK_SSP} != "no" && \ + (${LIBC_ARCH} == "i386" || ${LIBC_ARCH:Mpowerpc*} != "") + diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/libcxxrt-headers.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/libcxxrt-headers.patch new file mode 100644 index 000000000000..a1418bd49975 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/libcxxrt-headers.patch @@ -0,0 +1,11 @@ +--- freebsd/lib/libcxxrt/Makefile 2024-05-30 14:27:42.328086005 -0700 ++++ freebsd/lib/libcxxrt/Makefile.mod 2024-05-30 14:27:48.048014581 -0700 +@@ -19,6 +19,8 @@ + SRCS+= terminate.cc + SRCS+= typeinfo.cc + ++INCS+=cxxabi.h ++ + WARNS?= 0 + CFLAGS+= -isystem ${SRCDIR} -nostdinc++ + CXXSTD?= c++14 diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/libifconfig-no-internal.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/libifconfig-no-internal.patch new file mode 100644 index 000000000000..d37f1e64a949 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/libifconfig-no-internal.patch @@ -0,0 +1,34 @@ +diff --git a/lib/libifconfig/Makefile b/lib/libifconfig/Makefile +index 6bdb202bec1d..ebc626901cfc 100644 +--- a/lib/libifconfig/Makefile ++++ b/lib/libifconfig/Makefile +@@ -1,5 +1,4 @@ + LIB= ifconfig +-INTERNALLIB= true + + LIBADD= m + +@@ -36,8 +35,8 @@ SRCS+= ${GEN} + CLEANFILES+= ${GEN} + + # If libifconfig become public uncomment those two lines +-#INCSDIR= ${INCLUDEDIR} +-#INCS= libifconfig.h libifconfig_sfp.h libifconfig_sfp_tables.h ++INCSDIR= ${INCLUDEDIR} ++INCS= libifconfig.h libifconfig_sfp.h libifconfig_sfp_tables.h + + #MAN= libifconfig.3 + +diff --git a/lib/libifconfig/Symbol.map b/lib/libifconfig/Symbol.map +index 2d80fb31652a..8b08947112e5 100644 +--- a/lib/libifconfig/Symbol.map ++++ b/lib/libifconfig/Symbol.map +@@ -2,6 +2,8 @@ + ifconfig_bridge_get_bridge_status; + ifconfig_bridge_free_bridge_status; + ifconfig_carp_get_info; ++ ifconfig_carp_get_vhid; ++ ifconfig_carp_set_info; + ifconfig_close; + ifconfig_create_interface; + ifconfig_create_interface_vlan; diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/libncurses-tinfo-makefile-gnused.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/libncurses-tinfo-makefile-gnused.patch new file mode 100644 index 000000000000..094c8b18980f --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/libncurses-tinfo-makefile-gnused.patch @@ -0,0 +1,22 @@ +diff --git a/lib/ncurses/tinfo/Makefile b/lib/ncurses/tinfo/Makefile +index 08c2311cd7a9..9efadea9bee0 100644 +--- a/lib/ncurses/tinfo/Makefile ++++ b/lib/ncurses/tinfo/Makefile +@@ -269,7 +269,7 @@ curses.h: curses.head MKkey_defs.sh Caps Caps-ncurses + cat curses.head > $@.new + AWK=${AWK} _POSIX2_VERSION=199209 sh ${NCURSES_DIR}/include/MKkey_defs.sh \ + ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/include/Caps-ncurses >> $@.new +- sed -i '' 's|${SRCTOP}|${NCURSES_SRCTOP}|g' $@.new ++ sed -i 's|${SRCTOP}|${NCURSES_SRCTOP}|g' $@.new + cat ${NCURSES_DIR}/include/curses.wide >> $@.new + cat ${NCURSES_DIR}/include/curses.tail >> $@.new + mv -f $@.new $@ +@@ -394,7 +394,7 @@ unctrl.h: unctrl.h.in + terminfo.5: MKterminfo.sh terminfo.head Caps + sh ${NCURSES_DIR}/man/MKterminfo.sh ${NCURSES_DIR}/man/terminfo.head \ + ${NCURSES_DIR}/include/Caps ${NCURSES_DIR}/man/terminfo.tail >$@ +- sed -i '' 's|${SRCTOP}|${NCURSES_SRCTOP}|g' $@ ++ sed -i 's|${SRCTOP}|${NCURSES_SRCTOP}|g' $@ + + CLEANFILES+= terminfo.5 + diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/libnetbsd-do-install.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/libnetbsd-do-install.patch new file mode 100644 index 000000000000..a7bd032d2be5 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/libnetbsd-do-install.patch @@ -0,0 +1,32 @@ +diff --git a/Makefile b/Makefile +index 22710f3d933..22effc848cf 100644 +--- a/lib/libnetbsd/Makefile ++++ b/lib/libnetbsd/Makefile +@@ -9,6 +9,26 @@ CFLAGS+= -I${.CURDIR} + + SRCS+= efun.c sockaddr_snprintf.c strsuftoll.c util.c util.h + +-INTERNALLIB= ++INCSGROUPS= INCS SYSINCS NETINETINCS ++ ++INCS+= \ ++ glob.h \ ++ pthread.h \ ++ rmd160.h \ ++ sha1.h \ ++ sha2.h \ ++ stdlib.h \ ++ util.h ++ ++SYSINCSDIR= ${INCLUDEDIR}/sys ++SYSINCS+= \ ++ sys/cdefs.h \ ++ sys/event.h \ ++ sys/types.h \ ++ sys/wait.h ++ ++NETINETINCSDIR= ${INCLUDEDIR}/netinet ++NETINETINCS+= \ ++ netinet/in.h + + .include diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/librpcsvc-include-subdir.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/librpcsvc-include-subdir.patch new file mode 100644 index 000000000000..38e06682869f --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/librpcsvc-include-subdir.patch @@ -0,0 +1,11 @@ +--- a/lib/librpcsvc/Makefile ++++ b/lib/librpcsvc/Makefile +@@ -20,7 +20,7 @@ OTHERSRCS+= yp_passwd.c yp_update.c + + RPCCOM= RPCGEN_CPP=${CPP:Q} rpcgen -C + +-INCDIRS= -I${SYSROOT:U${DESTDIR}}/usr/include/rpcsvc ++INCDIRS= -I${INCLUDEDIR}/rpcsvc + + CFLAGS+= -DYP ${INCDIRS} + diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/localedef.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/localedef.patch new file mode 100644 index 000000000000..27593ce9bf44 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/localedef.patch @@ -0,0 +1,158 @@ +diff --git a/include/_ctype.h b/include/_ctype.h +index 91e6b1d14f6b..a6896b598da3 100644 +--- a/include/_ctype.h ++++ b/include/_ctype.h +@@ -44,7 +44,7 @@ + #define __CTYPE_H_ + + #include +-#include ++#include + + #define _CTYPE_A 0x00000100L /* Alpha */ + #define _CTYPE_C 0x00000200L /* Control */ +diff --git a/lib/libc/locale/collate.h b/lib/libc/locale/collate.h +index 2d3723b49f5b..6bbff732b9d7 100644 +--- a/lib/libc/locale/collate.h ++++ b/lib/libc/locale/collate.h +@@ -36,6 +36,7 @@ + #ifndef _COLLATE_H_ + #define _COLLATE_H_ + ++#include + #include + #include + #include "xlocale_private.h" +diff --git a/usr.bin/localedef/charmap.c b/usr.bin/localedef/charmap.c +index 44b7e3292eae..79c30b7cf372 100644 +--- a/usr.bin/localedef/charmap.c ++++ b/usr.bin/localedef/charmap.c +@@ -31,6 +31,7 @@ + * CHARMAP file handling for localedef. + */ + ++#include + #include + #include + +diff --git a/usr.bin/localedef/collate.c b/usr.bin/localedef/collate.c +index 2a080773a95e..3f0030c638f5 100644 +--- a/usr.bin/localedef/collate.c ++++ b/usr.bin/localedef/collate.c +@@ -31,6 +31,7 @@ + * LC_COLLATE database generation routines for localedef. + */ + ++#include + #include + #include + +diff --git a/usr.bin/localedef/ctype.c b/usr.bin/localedef/ctype.c +index ab7b76e57b2d..846c6d6480a8 100644 +--- a/usr.bin/localedef/ctype.c ++++ b/usr.bin/localedef/ctype.c +@@ -32,6 +32,7 @@ + /* + * LC_CTYPE database generation routines for localedef. + */ ++#include + #include + #include + +diff --git a/usr.bin/localedef/localedef.c b/usr.bin/localedef/localedef.c +index 5ff146d6f655..ed69aa1f0c0e 100644 +--- a/usr.bin/localedef/localedef.c ++++ b/usr.bin/localedef/localedef.c +@@ -32,7 +32,7 @@ + * POSIX localedef. + */ + #include +-#include ++#include + #include + #include + +diff --git a/usr.bin/localedef/messages.c b/usr.bin/localedef/messages.c +index 6b8eb9d684dd..0155821d0e56 100644 +--- a/usr.bin/localedef/messages.c ++++ b/usr.bin/localedef/messages.c +@@ -31,6 +31,7 @@ + /* + * LC_MESSAGES database generation routines for localedef. + */ ++#include + #include + #include + #include +diff --git a/usr.bin/localedef/monetary.c b/usr.bin/localedef/monetary.c +index 7a77ac7e256c..7636c4deca1f 100644 +--- a/usr.bin/localedef/monetary.c ++++ b/usr.bin/localedef/monetary.c +@@ -31,6 +31,7 @@ + /* + * LC_MONETARY database generation routines for localedef. + */ ++#include + #include + #include + #include +diff --git a/usr.bin/localedef/numeric.c b/usr.bin/localedef/numeric.c +index 5533b7c10e1a..9c47494f815c 100644 +--- a/usr.bin/localedef/numeric.c ++++ b/usr.bin/localedef/numeric.c +@@ -31,6 +31,7 @@ + /* + * LC_NUMERIC database generation routines for localedef. + */ ++#include + #include + #include + #include +diff --git a/usr.bin/localedef/parser.y b/usr.bin/localedef/parser.y +index 23b3b54f8a6e..e01330f0152d 100644 +--- a/usr.bin/localedef/parser.y ++++ b/usr.bin/localedef/parser.y +@@ -33,6 +33,7 @@ + * POSIX localedef grammar. + */ + ++#include + #include + #include + #include +diff --git a/usr.bin/localedef/scanner.c b/usr.bin/localedef/scanner.c +index c6d45a993f28..b17670ef4b4a 100644 +--- a/usr.bin/localedef/scanner.c ++++ b/usr.bin/localedef/scanner.c +@@ -32,6 +32,7 @@ + * This file contains the "scanner", which tokenizes the input files + * for localedef for processing by the higher level grammar processor. + */ ++#include + #include + #include + #include +diff --git a/usr.bin/localedef/time.c b/usr.bin/localedef/time.c +index 7a56e244c921..0e409a742d0a 100644 +--- a/usr.bin/localedef/time.c ++++ b/usr.bin/localedef/time.c +@@ -31,6 +31,7 @@ + /* + * LC_TIME database generation routines for localedef. + */ ++#include + #include + #include + #include +diff --git a/usr.bin/localedef/wide.c b/usr.bin/localedef/wide.c +index 062e120e6912..a199cddb198d 100644 +--- a/usr.bin/localedef/wide.c ++++ b/usr.bin/localedef/wide.c +@@ -34,6 +34,7 @@ + * to the wide character forms used internally by libc. Unfortunately, + * this approach means that we need a method for each and every encoding. + */ ++#include + #include + #include + #include diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/more-gnu-date.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/more-gnu-date.patch new file mode 100644 index 000000000000..1fd2df7c1a71 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/more-gnu-date.patch @@ -0,0 +1,13 @@ +diff --git a/stand/common/newvers.sh b/stand/common/newvers.sh +index 8541d61ed76c..368f233de1e1 100755 +--- a/stand/common/newvers.sh ++++ b/stand/common/newvers.sh +@@ -45,7 +45,7 @@ shift $((OPTIND - 1)) + LC_ALL=C; export LC_ALL + u=${USER-root} h=${HOSTNAME-`hostname`} + if [ -n "$SOURCE_DATE_EPOCH" ]; then +- if ! t=$(date -ur $SOURCE_DATE_EPOCH 2>/dev/null); then ++ if ! t=$(date -d @$SOURCE_DATE_EPOCH 2>/dev/null); then + echo "Invalid SOURCE_DATE_EPOCH" >&2 + exit 1 + fi diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/mount-use-path.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/mount-use-path.patch new file mode 100644 index 000000000000..614c327dda69 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/mount-use-path.patch @@ -0,0 +1,18 @@ +diff --git a/sbin/mount/mount.c b/sbin/mount/mount.c +index 2fcc94e40818..7de6da1bb20e 100644 +--- a/sbin/mount/mount.c ++++ b/sbin/mount/mount.c +@@ -155,12 +155,9 @@ exec_mountprog(const char *name, const char *execname, char *const argv[]) + EXIT(1); + case 0: /* Child. */ + /* Go find an executable. */ +- execvP(execname, _PATH_SYSPATH, argv); ++ execvp(execname, argv); + if (errno == ENOENT) { + xo_warn("exec %s not found", execname); +- if (execname[0] != '/') { +- xo_warnx("in path: %s", _PATH_SYSPATH); +- } + } + EXIT(1); + default: /* Parent. */ diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/mtree-Makefile.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/mtree-Makefile.patch new file mode 100644 index 000000000000..2a6e560d1d28 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/mtree-Makefile.patch @@ -0,0 +1,13 @@ +--- a/contrib/mtree/Makefile 2023-12-04 23:02:13.919144141 -0700 ++++ b/contrib/mtree/Makefile 2023-12-04 23:02:58.371810109 -0700 +@@ -10,8 +10,8 @@ + SRCS= compare.c crc.c create.c excludes.c misc.c mtree.c spec.c specspec.c \ + verify.c getid.c pack_dev.c only.c + .if (${HOSTPROG:U} == "") +-DPADD+= ${LIBUTIL} +-LDADD+= -lutil ++LIBADD+= ${LIBUTIL} ++#LIBADD+= -lutil + .endif + + CPPFLAGS+= -I${NETBSDSRCDIR}/sbin/mknod diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/no-perms-BSD.include.dist.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/no-perms-BSD.include.dist.patch new file mode 100644 index 000000000000..9181c957b313 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/no-perms-BSD.include.dist.patch @@ -0,0 +1,11 @@ +--- a/etc/mtree/BSD.include.dist ++++ b/etc/mtree/BSD.include.dist +@@ -3,7 +3,7 @@ + # Please see the file src/etc/mtree/README before making changes to this file. + # + +-/set type=dir uname=root gname=wheel mode=0755 tags=package=clibs-dev ++/set type=dir + . + arpa + .. diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/rc-no-verify.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/rc-no-verify.patch new file mode 100644 index 000000000000..ea088c8afb73 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/rc-no-verify.patch @@ -0,0 +1,17 @@ +--- a/libexec/rc/rc 2024-08-25 17:13:49.568517103 -0700 ++++ b/libexec/rc/rc 2024-08-25 17:14:00.909389872 -0700 +@@ -62,14 +62,7 @@ + sh /etc/rc.initdiskless + fi + +-# Run these after determining whether we are booting diskless in order +-# to minimize the number of files that are needed on a diskless system, +-# and to make the configuration file variables available to rc itself. +-# +-# -o verify has no effect if mac_veriexec is not active +-set -o verify + . /etc/rc.subr +-set +o verify + load_rc_config $rc_config_xtra + + if have DebugOn; then diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/rc-user.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/rc-user.patch new file mode 100644 index 000000000000..27e8f9a13f21 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/rc-user.patch @@ -0,0 +1,17 @@ +diff --git a/libexec/rc/rc b/libexec/rc/rc +index 0ea61a4b2c0a..d9bfb228224c 100644 +--- a/libexec/rc/rc ++++ b/libexec/rc/rc +@@ -87,6 +87,12 @@ if ! [ -e ${firstboot_sentinel} ]; then + skip_firstboot="-s firstboot" + fi + ++if [ -z "$USER_LOGIN" ]; then ++ skip="$skip -s user" ++else ++ skip="$skip -k user" ++fi ++ + # Do a first pass to get everything up to $early_late_divider so that + # we can do a second pass that includes $local_startup directories + # diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/rtld-makefile-nolibsys.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/rtld-makefile-nolibsys.patch new file mode 100644 index 000000000000..76b4adf75be6 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/rtld-makefile-nolibsys.patch @@ -0,0 +1,10 @@ +diff --git a/libexec/rtld-elf/Makefile b/libexec/rtld-elf/Makefile +index b6ff7681e658..9a65abcab442 100644 +--- a/libexec/rtld-elf/Makefile ++++ b/libexec/rtld-elf/Makefile +@@ -131,4 +131,4 @@ CFLAGS+= -Wno-redundant-decls + + # Add dependencies on libc and libsys archives after bsd.prog.mk + # includes bsd.libnames.mk so they are defined. +-rtld_libc.a: ${LIBC_NOSSP_PIC} ${LIBSYS_PIC} ++rtld_libc.a: ${LIBC_NOSSP_PIC} diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/rtld-no-force--lcompiler-rt.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/rtld-no-force--lcompiler-rt.patch new file mode 100644 index 000000000000..45f0d0c51eec --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/rtld-no-force--lcompiler-rt.patch @@ -0,0 +1,10 @@ +--- a/libexec/rtld-elf/Makefile ++++ b/libexec/rtld-elf/Makefile +@@ -86,7 +86,6 @@ + + # Some of the required math functions (div & mod) are implemented in + # libcompiler_rt on some architectures. +-LIBADD+= compiler_rt + + .include + ${PROG_FULL}: ${VERSION_MAP} diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/sys-gnu-date.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/sys-gnu-date.patch new file mode 100644 index 000000000000..64d36f7dcfbc --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/sys-gnu-date.patch @@ -0,0 +1,13 @@ +diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh +index c594724d814..d5287c7b992 100644 +--- a/sys/conf/newvers.sh ++++ b/sys/conf/newvers.sh +@@ -177,7 +177,7 @@ u=${USER:-root} + d=$(pwd) + h=${HOSTNAME:-$(hostname)} + if [ -n "$SOURCE_DATE_EPOCH" ]; then +- if ! t=$(date -ur $SOURCE_DATE_EPOCH 2>/dev/null); then ++ if ! t=$(date -d @$SOURCE_DATE_EPOCH 2>/dev/null); then + echo "Invalid SOURCE_DATE_EPOCH" >&2 + exit 1 + fi diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/sys-no-explicit-intrinsics-dep.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/sys-no-explicit-intrinsics-dep.patch new file mode 100644 index 000000000000..ce11dc450207 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/sys-no-explicit-intrinsics-dep.patch @@ -0,0 +1,41 @@ +--- a/sys/modules/aesni/Makefile 2023-12-16 09:19:28.454892154 -0700 ++++ b/sys/modules/aesni/Makefile 2023-12-16 09:19:41.975047684 -0700 +@@ -1,5 +1,4 @@ + .PATH: ${SRCTOP}/sys/crypto/aesni +-.PATH: ${SRCTOP}/contrib/llvm-project/clang/lib/Headers + + KMOD= aesni + SRCS= aesni.c +@@ -39,8 +38,8 @@ + aesni_ghash.o: aesni.h + aesni_wrap.o: aesni.h + aesni_ccm.o: aesni.h +-intel_sha1.o: sha_sse.h immintrin.h shaintrin.h tmmintrin.h xmmintrin.h +-intel_sha256.o: sha_sse.h immintrin.h shaintrin.h tmmintrin.h xmmintrin.h ++intel_sha1.o: sha_sse.h ++intel_sha256.o: sha_sse.h + + .include + +diff --git a/sys/modules/blake2/Makefile b/sys/modules/blake2/Makefile +index e4b3fb9f126..5bfd9c2ae02 100644 +--- a/sys/modules/blake2/Makefile ++++ b/sys/modules/blake2/Makefile +@@ -3,7 +3,6 @@ + .PATH: ${SRCTOP}/sys/contrib/libb2 + .PATH: ${SRCTOP}/sys/crypto/blake2 + .PATH: ${SRCTOP}/sys/opencrypto +-.PATH: ${SRCTOP}/contrib/llvm-project/clang/lib/Headers + + KMOD = blake2 + +@@ -64,8 +63,7 @@ ${src:S/.c/.o/}: ${src} + -D_MM_MALLOC_H_INCLUDED -Wno-unused-function ${.IMPSRC} + ${CTFCONVERT_CMD} + +-${src:S/.c/.o/}: intrin.h emmintrin.h tmmintrin.h smmintrin.h immintrin.h \ +- x86intrin.h ${SRCS:M*.h} ++${src:S/.c/.o/}: ${SRCS:M*.h} + .endfor + + # FreeBSD-specific sources: diff --git a/pkgs/os-specific/bsd/freebsd/patches/15.0/tinfo-host-cc.patch b/pkgs/os-specific/bsd/freebsd/patches/15.0/tinfo-host-cc.patch new file mode 100644 index 000000000000..6446322a8a0a --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/patches/15.0/tinfo-host-cc.patch @@ -0,0 +1,15 @@ +--- a/lib/ncurses/tinfo/Makefile 2023-12-26 23:02:07.827892619 -0800 ++++ b/lib/ncurses/tinfo/Makefile 2023-12-26 23:01:24.175546100 -0800 +@@ -282,10 +282,10 @@ + build-tools: make_hash make_keys + + make_keys: make_keys.c names.c ncurses_def.h ${HEADERS} ${BUILD_TOOLS_META} +- ${CC:N${CCACHE_BIN}} -o $@ ${CFLAGS} ${NCURSES_DIR}/ncurses/tinfo/make_keys.c ++ ${CC_HOST:N${CCACHE_BIN}} -o $@ ${CFLAGS} ${NCURSES_DIR}/ncurses/tinfo/make_keys.c + + make_hash: make_hash.c hashsize.h ncurses_def.h ${HEADERS} ${BUILD_TOOLS_META} +- ${CC:N${CCACHE_BIN}} -o $@ ${CFLAGS} -DMAIN_PROGRAM \ ++ ${CC_HOST:N${CCACHE_BIN}} -o $@ ${CFLAGS} -DMAIN_PROGRAM \ + ${NCURSES_DIR}/ncurses/tinfo/make_hash.c + .endif + .if ${MK_DIRDEPS_BUILD} == "yes" && ${MACHINE} != "host" diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/bin.nix b/pkgs/os-specific/bsd/freebsd/pkgs/bin.nix index 0e058a790030..73e9894c2b92 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/bin.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/bin.nix @@ -63,6 +63,10 @@ mkDerivation { sed -E -i -e 's/mktemp -t ka/mktemp -t kaXXXXXX/' $BSDSRCDIR/bin/sh/mkbuiltins $BSDSRCDIR/bin/sh/mktokens ''; + NIX_CFLAGS_COMPILE = [ + "-Wno-unterminated-string-initialization" + ]; + preBuild = '' export NIX_CFLAGS_COMPILE="-I$BSDSRCDIR/sys $NIX_CFLAGS_COMPILE" diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix index d56026227294..ce0e5a7c5918 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix @@ -65,6 +65,57 @@ mkDerivation { "sys/sys/bitstring.h" "sys/sys/nv_namespace.h" ] + ++ lib.optionals (versionData.major >= 15) [ + "crypto/krb5/src/include/gssapi.h" + "crypto/krb5/src/include/kdb.h" + "crypto/krb5/src/include/krb5.h" + "crypto/krb5/src/include/krad.h" + "crypto/krb5/src/include/gssrpc/auth.h" + "crypto/krb5/src/include/gssrpc/auth_gss.h" + "crypto/krb5/src/include/gssrpc/auth_gssapi.h" + "crypto/krb5/src/include/gssrpc/auth_unix.h" + "crypto/krb5/src/include/gssrpc/clnt.h" + "crypto/krb5/src/include/gssrpc/netdb.h" + "crypto/krb5/src/include/gssrpc/pmap_clnt.h" + "crypto/krb5/src/include/gssrpc/pmap_prot.h" + "crypto/krb5/src/include/gssrpc/pmap_rmt.h" + "crypto/krb5/src/include/gssrpc/rename.h" + "crypto/krb5/src/include/gssrpc/rpc_msg.h" + "crypto/krb5/src/include/gssrpc/rpc.h" + "crypto/krb5/src/include/gssrpc/svc_auth.h" + "crypto/krb5/src/include/gssrpc/svc.h" + "krb5/include/gssrpc/types.h" + "crypto/krb5/src/include/gssrpc/xdr.h" + "crypto/krb5/src/util/et/com_err.h" + "crypto/krb5/src/util/verto/verto-module.h" + "crypto/krb5/src/util/verto/verto.h" + "crypto/krb5/src/lib/gssapi/krb5/gssapi_krb5.h" + "crypto/krb5/src/lib/gssapi/generic/gssapi_alloc.h" + "crypto/krb5/src/lib/gssapi/generic/gssapi_generic.h" + "crypto/krb5/src/lib/gssapi/generic/gssapi_ext.h" + "crypto/krb5/src/include/krb5/ccselect_plugin.h" + "crypto/krb5/src/include/krb5/certauth_plugin.h" + "crypto/krb5/src/include/krb5/clpreauth_plugin.h" + "crypto/krb5/src/include/krb5/hostrealm_plugin.h" + "crypto/krb5/src/include/krb5/kadm5_auth_plugin.h" + "crypto/krb5/src/include/krb5/kadm5_hook_plugin.h" + "crypto/krb5/src/include/krb5/kdcpolicy_plugin.h" + "crypto/krb5/src/include/krb5/kdcpreauth_plugin.h" + "crypto/krb5/src/include/krb5/localauth_plugin.h" + "crypto/krb5/src/include/krb5/locate_plugin.h" + "crypto/krb5/src/include/krb5/plugin.h" + "crypto/krb5/src/include/krb5/preauth_plugin.h" + "crypto/krb5/src/include/krb5/pwqual_plugin.h" + + "sys/sys/_callout.h" + "sys/sys/_lock.h" + "sys/sys/_lockmgr.h" + "sys/sys/_task.h" + "sys/sys/_nv.h" + "sys/sys/md4.h" + + "contrib/libedit/readline/readline.h" + ] ++ [ # Listed in Makefile as SYSINCS diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix index e18446b1c434..e6612f2ae90f 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/drm-kmod/package.nix @@ -38,7 +38,15 @@ mkDerivation { ]; # hardeningDisable = stackprotector doesn't seem to be enough, put it in cflags too - NIX_CFLAGS_COMPILE = "-fno-stack-protector"; + NIX_CFLAGS_COMPILE = [ + "-fno-stack-protector" + "-Wno-unneeded-internal-declaration" # some openzfs code trips this + "-Wno-default-const-init-field-unsafe" # added in clang 21 + "-Wno-uninitialized-const-pointer" # added in clang 21 + "-Wno-format" # error: passing 'printf' format string where 'freebsd_kprintf' format string is expected + "-Wno-sometimes-uninitialized" # this one is actually kind of concerning but it does trip + "-Wno-unused-function" + ]; env = sys.passthru.env; SYSDIR = "${sys.src}/sys"; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/elfcopy.nix b/pkgs/os-specific/bsd/freebsd/pkgs/elfcopy.nix new file mode 100644 index 000000000000..2cd0aeac2b83 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/elfcopy.nix @@ -0,0 +1,27 @@ +{ + mkDerivation, + compatIfNeeded, + libelf, + libelftc, + libarchive, + libpe, +}: + +mkDerivation { + path = "usr.bin/elfcopy"; + extraPaths = [ + "contrib/elftoolchain" + "sys/sys/elf_common.h" + "sys/sys/elf32.h" + ]; + + buildInputs = compatIfNeeded ++ [ + libelf + libelftc + libarchive + libpe + ]; + + # since we built libpe and co separate they are not internal and thus not pie...? + MK_PIE = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/fsck_msdosfs.nix b/pkgs/os-specific/bsd/freebsd/pkgs/fsck_msdosfs.nix index 99b8d74ec4ed..0dc679df1cd8 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/fsck_msdosfs.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/fsck_msdosfs.nix @@ -6,5 +6,9 @@ mkDerivation { "sbin/fsck" ]; + NIX_CFLAGS_COMPILE = [ + "-Wno-unterminated-string-initialization" + ]; + meta.platforms = lib.platforms.freebsd; } diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/kldxref.nix b/pkgs/os-specific/bsd/freebsd/pkgs/kldxref.nix index fd092950b2da..4119b0690cee 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/kldxref.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/kldxref.nix @@ -4,12 +4,24 @@ mkDerivation, compatIfNeeded, libelf, + elfcopy, }: mkDerivation { path = "usr.sbin/kldxref"; + extraPaths = [ + "lib/libkldelf" + ]; buildInputs = lib.optionals (!stdenv.hostPlatform.isFreeBSD) [ libelf ] ++ compatIfNeeded; + extraNativeBuildInputs = [ + elfcopy + ]; + + preBuild = '' + make -C $BSDSRCDIR/lib/libkldelf $makeFlags + ''; + # We symlink in our modules, make it follow symlinks postPatch = '' sed -i 's/FTS_PHYSICAL/FTS_LOGICAL/' $BSDSRCDIR/usr.sbin/kldxref/kldxref.c diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libcMinimal.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libcMinimal.nix index c5977cb80c4c..6ad205b215ab 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libcMinimal.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libcMinimal.nix @@ -7,6 +7,8 @@ gencat, csu, i18n, + libsys, + llvmPackages, extraSrc ? [ ], }: @@ -18,6 +20,7 @@ mkDerivation { "lib/msun" "lib/libmd" "lib/libutil" + "lib/libsys" "libexec/rtld-elf" "include/rpcsvc" "contrib/libc-pwcache" @@ -34,6 +37,7 @@ mkDerivation { "etc/master.passwd" "etc/shells" "include/paths.h" + "include/gssapi" ] ++ extraSrc; @@ -47,6 +51,7 @@ mkDerivation { buildInputs = [ include + libsys ]; extraNativeBuildInputs = [ @@ -66,8 +71,10 @@ mkDerivation { substituteInPlace $BSDSRCDIR/include/paths.h --replace '/usr/share/i18n' '${i18n}/share/i18n' ''; + # -fno-blocks is a mystery to me--clang recognizes it and is like yeah we have blocks + # but compiler-rt is seemingly not providing Block.h. not sure why. preBuild = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -B${csu}/lib" + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I../libsys -B${csu}/lib -fno-blocks" ''; postBuild = '' diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libcrypt.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libcrypt.nix index f5c90f841e67..c0179e9751f3 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libcrypt.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libcrypt.nix @@ -3,6 +3,7 @@ include, libcMinimal, libgcc, + libmd, csu, }: @@ -27,6 +28,7 @@ mkDerivation { include libcMinimal libgcc + libmd ]; preBuild = '' diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libdl.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libdl.nix index 5f0b8109dae3..276fe18bdc9a 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libdl.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libdl.nix @@ -3,6 +3,7 @@ include, libcMinimal, libgcc, + libsys, csu, }: @@ -26,6 +27,7 @@ mkDerivation { include libcMinimal libgcc + libsys ]; preBuild = '' diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libelftc.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libelftc.nix new file mode 100644 index 000000000000..44a26482bc83 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libelftc.nix @@ -0,0 +1,22 @@ +{ + mkDerivation, + libelf, + compatIfNeeded, +}: +mkDerivation { + path = "lib/libelftc"; + extraPaths = [ + "contrib/elftoolchain" + "sys/sys/elf_common.h" + ]; + + buildInputs = compatIfNeeded ++ [ + libelf + ]; + + postPatch = '' + sed -E -i -e '/INTERNALLIB/d' lib/libelftc/Makefile + ''; + + alwaysKeepStatic = true; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix index c2de9562f6d5..f6f0598d849a 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libmd.nix @@ -23,6 +23,8 @@ mkDerivation ( extraPaths = [ "sys/crypto" "sys/sys" + "sys/kern" + "lib/libc/Versions.def" ] ++ extraSrc; @@ -34,6 +36,8 @@ mkDerivation ( noLibc = !bootstrapInstallation; + MK_TESTS = "no"; + buildInputs = lib.optionals (!bootstrapInstallation) [ libcMinimal diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libpe.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libpe.nix new file mode 100644 index 000000000000..1abdef936041 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libpe.nix @@ -0,0 +1,16 @@ +{ + mkDerivation, +}: +mkDerivation { + path = "lib/libpe"; + extraPaths = [ + "contrib/elftoolchain" + "sys/sys/elf_common.h" + ]; + + postPatch = '' + sed -E -i -e '/INTERNALLIB/d' lib/libpe/Makefile + ''; + + alwaysKeepStatic = true; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libprocstat.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libprocstat.nix index 7ed03a6b2662..88982f03552a 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libprocstat.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libprocstat.nix @@ -18,6 +18,7 @@ mkDerivation { "sys/contrib/pcg-c" "sys/opencrypto" "sys/crypto" + "sys/modules/zfs" ] ++ extraSrc; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/librt.nix b/pkgs/os-specific/bsd/freebsd/pkgs/librt.nix index 2cc2fc746153..fb921467e2f9 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/librt.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/librt.nix @@ -2,6 +2,7 @@ mkDerivation, include, libcMinimal, + libsys, libgcc, libthr, csu, @@ -26,6 +27,7 @@ mkDerivation { libcMinimal libgcc libthr + libsys ]; preBuild = '' diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix index 0aed42cbaa40..d327e17dda4a 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix @@ -18,7 +18,6 @@ mkDerivation { alwaysKeepStatic = true; meta = with lib; { - platforms = platforms.freebsd; license = licenses.cddl; }; } diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libsys.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libsys.nix new file mode 100644 index 000000000000..67611f7e0ce1 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libsys.nix @@ -0,0 +1,35 @@ +{ + mkDerivation, + include, + csu, +}: + +mkDerivation { + pname = "libsys"; + path = "lib/libsys"; + extraPaths = [ + "sys/sys" + "lib/libc/string" + "lib/libc/include" + "lib/libc/Versions.def" + "lib/libcompat" + ]; + + outputs = [ + "out" + "man" + "debug" + ]; + noLibc = true; + + buildInputs = [ + include + csu + ]; + + preBuild = '' + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I. -B${csu}/lib" + ''; + + alwaysKeepStatic = true; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libthr.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libthr.nix index d60de4758af2..93852910f743 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libthr.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libthr.nix @@ -3,6 +3,7 @@ stdenv, fetchpatch, mkDerivation, + libsys, libcMinimal, include, libgcc, @@ -15,6 +16,7 @@ mkDerivation { extraPaths = [ "lib/libthread_db" "lib/libc" # needs /include + arch-specific files + "lib/libsys" "libexec/rtld-elf" ] ++ extraSrc; @@ -31,6 +33,7 @@ mkDerivation { libcMinimal include libgcc + libsys ]; patches = [ diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix index e28ec53331ee..8c7641339fe3 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix @@ -7,7 +7,10 @@ }: mkDerivation { path = "lib/libutil"; - extraPaths = [ "lib/libc/gen" ]; + extraPaths = [ + "lib/libc/gen" + "lib/libc/Versions.def" + ]; outputs = [ "out" diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libzfs.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libzfs.nix index ae57d195fd6a..565fdbddfa3f 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/libzfs.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libzfs.nix @@ -77,6 +77,8 @@ mkDerivation { "debug" ]; + MK_TESTS = "no"; + meta = { platforms = lib.platforms.freebsd; license = with lib.licenses; [ cddl ]; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/rc.nix b/pkgs/os-specific/bsd/freebsd/pkgs/rc.nix index cd4d7ab854b5..96aadbc618f2 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/rc.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/rc.nix @@ -34,7 +34,9 @@ mkDerivation { ]; postPatch = '' - substituteInPlace "$BSDSRCDIR/libexec/rc/Makefile" --replace-fail /etc $out/etc + substituteInPlace "$BSDSRCDIR/libexec/rc/Makefile" \ + --replace-fail /etc $out/etc \ + --replace-fail /libexec $out/libexec substituteInPlace "$BSDSRCDIR/libexec/rc/rc.d/Makefile" \ --replace-fail /etc $services/etc \ --replace-fail /var $services/var diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/rtld-elf.nix b/pkgs/os-specific/bsd/freebsd/pkgs/rtld-elf.nix index f9ecef321bc4..eef5e067da29 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/rtld-elf.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/rtld-elf.nix @@ -3,6 +3,7 @@ fetchpatch, include, rpcgen, + libsys, flex, byacc, csu, @@ -18,6 +19,7 @@ mkDerivation { "lib/msun" "lib/libutil" "lib/libc_nonshared" + "lib/libsys" "include/rpcsvc" "contrib/libc-pwcache" "contrib/libc-vis" @@ -28,6 +30,7 @@ mkDerivation { "sys/kern" "sys/libkern" "sys/crypto" + "include/gssapi" ] ++ extraSrc; @@ -51,6 +54,7 @@ mkDerivation { buildInputs = [ include + libsys ]; extraNativeBuildInputs = [ @@ -59,13 +63,24 @@ mkDerivation { byacc ]; + # see comment in libc-minimal about -fno-blocks preBuild = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -B${csu}/lib" + ln -s ${libsys}/lib/libsys_pic.a ../../lib/libsys/libsys_pic.a + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fno-blocks -B${csu}/lib" make -C $BSDSRCDIR/lib/libc $makeFlags libc_nossp_pic.a ''; + # freebsd does not do this link correctly if the target is the nix store + postInstall = '' + ln -sf $out/bin/ld-elf.so.1 $out/libexec/ld-elf.so.1 + ''; + # definitely a bad idea to enable stack protection on the stack protection initializers - hardeningDisable = [ "stackprotector" ]; + # no fortify because then it pulls in __whatever_chk functions which are not built bc no ssp + hardeningDisable = [ + "stackprotector" + "fortify" + ]; env.MK_TESTS = "no"; } diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/stand-efi.nix b/pkgs/os-specific/bsd/freebsd/pkgs/stand-efi.nix index 85f45a5c7835..b343736a8cfd 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/stand-efi.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/stand-efi.nix @@ -6,6 +6,7 @@ buildPackages, freebsd-lib, vtfontcvt, + elfcopy, }: let hostArchBsd = freebsd-lib.mkBsdArch stdenv; @@ -21,11 +22,14 @@ mkDerivation { "lib/libc" "lib/liblua" "libexec/flua" - "lib/flua" + #"lib/flua" "stand" "sys" ]; - extraNativeBuildInputs = [ vtfontcvt ]; + extraNativeBuildInputs = [ + vtfontcvt + elfcopy + ]; makeFlags = [ "STRIP=-s" # flag to install, not command @@ -35,16 +39,21 @@ mkDerivation { ] ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "MK_WERROR=no"; - hardeningDisable = [ "stackprotector" ]; + hardeningDisable = [ + "stackprotector" + "fortify" + ]; # ??? preBuild = '' - NIX_CFLAGS_COMPILE+=" -I${include}/include -I$BSDSRCDIR/sys/sys -I$BSDSRCDIR/sys/${hostArchBsd}/include" + NIX_CFLAGS_COMPILE+=" -I${include}/include -I$BSDSRCDIR/sys/sys -I$BSDSRCDIR/sys/${hostArchBsd}/include -fno-stack-protector" export NIX_CFLAGS_COMPILE make -C $BSDSRCDIR/stand/libsa $makeFlags + make -C $BSDSRCDIR/stand/libsa32 $makeFlags make -C $BSDSRCDIR/stand/ficl $makeFlags make -C $BSDSRCDIR/stand/liblua $makeFlags + make -C $BSDSRCDIR/stand/liblua32 $makeFlags ''; postPatch = '' diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/swapon.nix b/pkgs/os-specific/bsd/freebsd/pkgs/swapon.nix index d7bd8a870b8f..62744b83bd79 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/swapon.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/swapon.nix @@ -1 +1,7 @@ -{ mkDerivation }: mkDerivation { path = "sbin/swapon"; } +{ + mkDerivation, +}: +mkDerivation { + path = "sbin/swapon"; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix index 3dbfe3d9c284..dfce0b0bddc9 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix @@ -46,7 +46,7 @@ let "include" ]; postPatch = '' - for f in sys/conf/kmod.mk sys/contrib/dev/acpica/acpica_prep.sh; do + for f in sys/contrib/dev/acpica/acpica_prep.sh; do substituteInPlace "$f" --replace-warn 'xargs -J' 'xargs-j ' done @@ -114,11 +114,18 @@ mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-fno-stack-protector" "-Wno-unneeded-internal-declaration" # some openzfs code trips this + "-Wno-default-const-init-field-unsafe" # added in clang 21 + "-Wno-uninitialized-const-pointer" # added in clang 21 + "-Wno-format" # error: passing 'printf' format string where 'freebsd_kprintf' format string is expected + "-Wno-sometimes-uninitialized" # this one is actually kind of concerning but it does trip + "-Wno-unused-function" ]; inherit env; passthru.env = env; + makeFlags = [ "XARGS_J=xargs-j" ]; + KODIR = "${placeholder "out"}/kernel"; KMODDIR = "${placeholder "out"}/kernel"; DTBDIR = "${placeholder "out"}/dbt"; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/sysctl.nix b/pkgs/os-specific/bsd/freebsd/pkgs/sysctl.nix index 42b956614c51..fd8460470f49 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/sysctl.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/sysctl.nix @@ -1,5 +1,11 @@ -{ mkDerivation, ... }: +{ + mkDerivation, + libjail, +}: mkDerivation { path = "sbin/sysctl"; + buildInputs = [ + libjail + ]; MK_TESTS = "no"; } diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/syslogd.nix b/pkgs/os-specific/bsd/freebsd/pkgs/syslogd.nix index 33b7acdf9800..fa31af456822 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/syslogd.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/syslogd.nix @@ -1,4 +1,10 @@ -{ mkDerivation, lib }: +{ + mkDerivation, + lib, + libcasper, + libcapsicum, + libnv, +}: mkDerivation { path = "usr.sbin/syslogd"; @@ -7,6 +13,12 @@ mkDerivation { "sys/sys" ]; + buildInputs = [ + libcasper + libcapsicum + libnv + ]; + # These want to install some config files which we don't want MK_FTP = "no"; MK_LPR = "no"; diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/vtfontcvt.nix b/pkgs/os-specific/bsd/freebsd/pkgs/vtfontcvt.nix index a0ea69b3fd4d..14212c82062d 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/vtfontcvt.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/vtfontcvt.nix @@ -2,4 +2,8 @@ mkDerivation { path = "usr.bin/vtfontcvt"; extraPaths = [ "sys/cddl/contrib/opensolaris/common/lz4" ]; + + NIX_CFLAGS_COMPILE = [ + "-Wno-unterminated-string-initialization" + ]; } diff --git a/pkgs/os-specific/bsd/freebsd/versions.json b/pkgs/os-specific/bsd/freebsd/versions.json index eefea201ebe9..0f80beabb7d4 100644 --- a/pkgs/os-specific/bsd/freebsd/versions.json +++ b/pkgs/os-specific/bsd/freebsd/versions.json @@ -1,19 +1,19 @@ { "main": { - "hash": "sha256-f69U2FX+3GQimdUJunWApFseeKJhzjgNw4h26ZBPiT0=", + "hash": "sha256-2bJSM8zOFzAFXhrWZX06ULA0p6MvdJZ3VEHI9Q+bU1g=", "ref": "main", "refType": "branch", - "rev": "9357c694e8dca627c25b15529e8435b2ab3dd48b", + "rev": "9ec8196f68bac015965164f7f1a65c619bab4e85", "supported": false, "version": { "branch": "CURRENT", - "major": 15, + "major": 16, "minor": 0, - "reldate": "1500036", - "release": "15.0-CURRENT", - "revision": "15.0", + "reldate": "1600004", + "release": "16.0-CURRENT", + "revision": "16.0", "type": "FreeBSD", - "version": "FreeBSD 15.0-CURRENT" + "version": "FreeBSD 16.0-CURRENT" } }, "release/13.0.0": { @@ -178,6 +178,42 @@ "version": "FreeBSD 14.2-RELEASE" } }, + "release/14.3.0": { + "hash": "sha256-lKeK6lUoNZiwrDjBZzyz4C1JmjaMJ0HhuSmr4yH1q1I=", + "ref": "release/14.3.0", + "refType": "tag", + "rev": "8c9ce319fef765890ce518cab85d3a470b669849", + "supported": false, + "version": { + "branch": "RELEASE", + "major": 14, + "minor": 3, + "patch": 0, + "reldate": "1403000", + "release": "14.3-RELEASE", + "revision": "14.3", + "type": "FreeBSD", + "version": "FreeBSD 14.3-RELEASE" + } + }, + "release/15.0.0": { + "hash": "sha256-rr/NWV+oIidsYy4e/zW3Kqtyryt1YdCV2MBarfLJYOM=", + "ref": "release/15.0.0", + "refType": "tag", + "rev": "7aedc8de6446ad5a10d553b926423c689f0a3363", + "supported": false, + "version": { + "branch": "RELEASE", + "major": 15, + "minor": 0, + "patch": 0, + "reldate": "1500068", + "release": "15.0-RELEASE", + "revision": "15.0", + "type": "FreeBSD", + "version": "FreeBSD 15.0-RELEASE" + } + }, "releng/13.0": { "hash": "sha256-7PrqTb2o21IQgQ2N+zjavlzX/ju60Rw+MXjMRICmQi0=", "ref": "releng/13.0", @@ -251,38 +287,39 @@ } }, "releng/13.4": { - "hash": "sha256-y61CplXIRVDkGRtbH2TX9AKr0kiaNaqAT/+fXdkvy6g=", + "hash": "sha256-nkVvW/LfJYUzKPRNOpzl50yLI/ppuPHB7ISt7WN168s=", "ref": "releng/13.4", "refType": "branch", - "rev": "27f132c05c39138b375591d2bf9f73f680997de3", - "supported": true, + "rev": "3bc5467e7f6c9b29db95b35298e687435412a0ce", + "supported": false, "version": { - "branch": "RELEASE-p4", + "branch": "RELEASE-p5", "major": 13, "minor": 4, - "patch": "4", + "patch": "5", "reldate": "1304000", - "release": "13.4-RELEASE-p4", + "release": "13.4-RELEASE-p5", "revision": "13.4", "type": "FreeBSD", - "version": "FreeBSD 13.4-RELEASE-p4" + "version": "FreeBSD 13.4-RELEASE-p5" } }, "releng/13.5": { - "hash": "sha256-53q7qR3ij5v3QAHx6Wa84F3yRSwFrBaey0NxVcNLMEk=", + "hash": "sha256-EULbS8fjJnJorpx5SJia/DVLSDTPSZznVioczzZ+TVg=", "ref": "releng/13.5", "refType": "branch", - "rev": "882b9f3f2218b50fc1d2d31ee71b7765c7f09f85", + "rev": "4fc17862cb506bfe121c293500177e8447120068", "supported": true, "version": { - "branch": "RELEASE", + "branch": "RELEASE-p7", "major": 13, "minor": 5, + "patch": "7", "reldate": "1305000", - "release": "13.5-RELEASE", + "release": "13.5-RELEASE-p7", "revision": "13.5", "type": "FreeBSD", - "version": "FreeBSD 13.5-RELEASE" + "version": "FreeBSD 13.5-RELEASE-p7" } }, "releng/14.0": { @@ -322,34 +359,69 @@ } }, "releng/14.2": { - "hash": "sha256-iSeTif/cEkqhIQ5hSNF+Rx7dORU13Bc0Dk8Zv4TYWtA=", + "hash": "sha256-KVq3glUpQFpCFNOWf6YBE9p+EK2ITugqhwbaTcta+80=", "ref": "releng/14.2", "refType": "branch", - "rev": "ac2cbb46b5f1efa7f7b5d4eb15631337329ec5b2", - "supported": true, + "rev": "16a79708d089423ec0c3d32f25e7ca97ae58e97b", + "supported": false, "version": { - "branch": "RELEASE-p2", + "branch": "RELEASE-p7", "major": 14, "minor": 2, - "patch": "2", + "patch": "7", "reldate": "1402000", - "release": "14.2-RELEASE-p2", + "release": "14.2-RELEASE-p7", "revision": "14.2", "type": "FreeBSD", - "version": "FreeBSD 14.2-RELEASE-p2" + "version": "FreeBSD 14.2-RELEASE-p7" + } + }, + "releng/14.3": { + "hash": "sha256-LJCcq5R1UoVNkWOr78kPAK96APrd9XETvHsptSTTX2A=", + "ref": "releng/14.3", + "refType": "branch", + "rev": "476b20984a6fed7e966f7b790444e23700603b6b", + "supported": true, + "version": { + "branch": "RELEASE-p6", + "major": 14, + "minor": 3, + "patch": "6", + "reldate": "1403000", + "release": "14.3-RELEASE-p6", + "revision": "14.3", + "type": "FreeBSD", + "version": "FreeBSD 14.3-RELEASE-p6" + } + }, + "releng/15.0": { + "hash": "sha256-rr/NWV+oIidsYy4e/zW3Kqtyryt1YdCV2MBarfLJYOM=", + "ref": "releng/15.0", + "refType": "branch", + "rev": "7aedc8de6446ad5a10d553b926423c689f0a3363", + "supported": true, + "version": { + "branch": "RELEASE", + "major": 15, + "minor": 0, + "reldate": "1500068", + "release": "15.0-RELEASE", + "revision": "15.0", + "type": "FreeBSD", + "version": "FreeBSD 15.0-RELEASE" } }, "stable/13": { - "hash": "sha256-rex3CUXyyNDz/TouNqlzZFo6DAwSOKXTdC5HaRQoKKc=", + "hash": "sha256-6y1resHdgF7WAbj09qCbTxwwliM7VFgkA/98hXfv80c=", "ref": "stable/13", "refType": "branch", - "rev": "64f5a71c1cb79c09e50a37ddbe958224bb64add4", + "rev": "02a810d9b4cc8b3cd30d7e6bfe01b5e3c68ee492", "supported": true, "version": { "branch": "STABLE", "major": 13, "minor": 5, - "reldate": "1305500", + "reldate": "1305502", "release": "13.5-STABLE", "revision": "13.5", "type": "FreeBSD", @@ -357,20 +429,37 @@ } }, "stable/14": { - "hash": "sha256-s+pj8LttAnKNNohUsJNOJRFmLg6x06tlkJn3xQnFQiY=", + "hash": "sha256-MPDqTsFlZiAZ/IcSwK3YIuEOPVSUw03dUGdZ7a6IiZ4=", "ref": "stable/14", "refType": "branch", - "rev": "e6a470ffcbd708cf404472bb871c2cb76eaa7b39", + "rev": "1869d604e22d88c8c7487cd8a547de42847a40be", "supported": true, "version": { "branch": "STABLE", "major": 14, - "minor": 2, - "reldate": "1402504", - "release": "14.2-STABLE", - "revision": "14.2", + "minor": 3, + "reldate": "1403506", + "release": "14.3-STABLE", + "revision": "14.3", "type": "FreeBSD", - "version": "FreeBSD 14.2-STABLE" + "version": "FreeBSD 14.3-STABLE" + } + }, + "stable/15": { + "hash": "sha256-8L7nqwh9QujoaecqW4I253Dc5QF916XxnC2irqd71xs=", + "ref": "stable/15", + "refType": "branch", + "rev": "06c2e9b7685b630d90b20364bbe778007086a624", + "supported": true, + "version": { + "branch": "STABLE", + "major": 15, + "minor": 0, + "reldate": "1500503", + "release": "15.0-STABLE", + "revision": "15.0", + "type": "FreeBSD", + "version": "FreeBSD 15.0-STABLE" } } }