Changeset View
Changeset View
Standalone View
Standalone View
devel/freebsd-sysroot/Makefile
PORTNAME= freebsd-sysroot | PORTNAME= freebsd-sysroot | ||||
DISTVERSION= a2022-11-21 | DISTVERSION= a2022-11-21 | ||||
CATEGORIES= devel | CATEGORIES= devel | ||||
MASTER_SITES= LOCAL/pkubaj:${FLAVOR} \ | MASTER_SITES= ${_SYSROOT_DIST:@f@https://download.freebsd.org/$f?dummy=/:${FLAVOR}@} \ | ||||
mikael: Move your distfiles to LOCAL/rust? | |||||
LOCAL/tobik:${FLAVOR} \ | LOCAL/rust:${FLAVOR} | ||||
Not Done Inline Actions/ftp can be omitted now. It only exists for not breaking the already published URLs. lwhsu: `/ftp` can be omitted now. It only exists for not breaking the already published URLs. | |||||
${_SYSROOT_DIST:@f@https://download.freebsd.org/ftp/$f?dummy=/:${FLAVOR}@} | |||||
PKGNAMEPREFIX= ${FLAVOR:S/_/-/g}- | PKGNAMEPREFIX= ${FLAVOR:S/_/-/g}- | ||||
DISTFILES= ${_SYSROOT_DIST:@f@rust/bootstrap/${FLAVOR}/${_SYSROOT_VER}/${f:T}:${FLAVOR}@} | DISTFILES= ${_SYSROOT_DIST:@f@rust/bootstrap/${FLAVOR}/${_SYSROOT_VER}/${f:T}:${FLAVOR}@} | ||||
EXTRACT_ONLY= ${DISTFILES:[1]:S/:${FLAVOR}$$//} | EXTRACT_ONLY= ${DISTFILES:[1]:S/:${FLAVOR}$$//} | ||||
MAINTAINER= rust@FreeBSD.org | MAINTAINER= rust@FreeBSD.org | ||||
COMMENT= FreeBSD ${_SYSROOT_VER} ${FLAVOR:S/_/ /} sysroot | COMMENT= FreeBSD ${_SYSROOT_VER} ${FLAVOR:S/_/ /} sysroot | ||||
WWW= https://www.FreeBSD.org/ | WWW= https://www.FreeBSD.org/ | ||||
LICENSE= FREEBSD | LICENSE= FREEBSD | ||||
LICENSE_NAME= FreeBSD base licenses | LICENSE_NAME= FreeBSD base licenses | ||||
LICENSE_FILE= ${WRKDIR}/COPYRIGHT | LICENSE_FILE= ${WRKDIR}/COPYRIGHT | ||||
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept | LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept | ||||
FLAVORS= aarch64 amd64 armv6 armv7 i386 powerpc64_elfv1 powerpc64_elfv2 \ | FLAVORS= aarch64 amd64 armv7 i386 powerpc powerpc64 powerpc64le riscv64 | ||||
powerpc64le powerpc riscv64 | FLAVOR?= ${ARCH} | ||||
FLAVOR?= ${FLAVORS:[1]} | |||||
powerpc64_elfv1_BUILD_DEPENDS= powerpc64-gcc9>0:devel/freebsd-gcc9@powerpc64 | |||||
powerpc64_elfv1_RUN_DEPENDS= powerpc64-gcc9>0:devel/freebsd-gcc9@powerpc64 | |||||
powerpc_BUILD_DEPENDS= powerpc-binutils>0:devel/binutils@powerpc | powerpc_BUILD_DEPENDS= powerpc-binutils>0:devel/binutils@powerpc | ||||
powerpc_RUN_DEPENDS= powerpc-binutils>0:devel/binutils@powerpc | powerpc_RUN_DEPENDS= powerpc-binutils>0:devel/binutils@powerpc | ||||
QA_ENV= IGNORE_QA_baselibs=1 \ | QA_ENV= IGNORE_QA_baselibs=1 \ | ||||
IGNORE_QA_no_arch=1 \ | IGNORE_QA_no_arch=1 \ | ||||
IGNORE_QA_proxydeps=1 \ | IGNORE_QA_proxydeps=1 \ | ||||
IGNORE_QA_stripped=1 | IGNORE_QA_stripped=1 | ||||
EXTRACT_AFTER_ARGS= -C${STAGEDIR}${_SYSROOT} --no-same-permissions \ | EXTRACT_AFTER_ARGS= -C${STAGEDIR}${_SYSROOT} --no-same-permissions \ | ||||
${_SYSROOT_INCLUDE:@x@--include=$x@} \ | ${_SYSROOT_INCLUDE:@x@--include=$x@} \ | ||||
${_SYSROOT_EXCLUDE:@x@--exclude=$x@} | ${_SYSROOT_EXCLUDE:@x@--exclude=$x@} | ||||
NO_ARCH= yes | NO_ARCH= yes | ||||
NO_BUILD= yes | NO_BUILD= yes | ||||
NO_MTREE= yes | NO_MTREE= yes | ||||
SUB_FILES= ${exists(${FILESDIR}/${FLAVOR}-c++.in):?${FLAVOR}-c++:} \ | SUB_FILES= ${exists(${FILESDIR}/${FLAVOR}-c++.in):?${FLAVOR}-c++:} \ | ||||
${exists(${FILESDIR}/${FLAVOR}-cc.in):?${FLAVOR}-cc:} c++ cc | ${exists(${FILESDIR}/${FLAVOR}-cc.in):?${FLAVOR}-cc:} c++ cc | ||||
SUB_LIST= FREEBSD_SYSROOT="${_SYSROOT}" \ | SUB_LIST= FREEBSD_SYSROOT="${_SYSROOT}" \ | ||||
FREEBSD_SYSROOT_CC="${CC}" \ | FREEBSD_SYSROOT_CC="${CC}" \ | ||||
FREEBSD_SYSROOT_CC_ELFV1="$$(${ECHO_CMD} ${LOCALBASE}/bin/powerpc64-unknown-${OPSYS:tl}*[0-9]-gcc9)" \ | |||||
FREEBSD_SYSROOT_CXX="${CXX}" \ | FREEBSD_SYSROOT_CXX="${CXX}" \ | ||||
FREEBSD_SYSROOT_CXX_ELFV1="$$(${ECHO_CMD} ${LOCALBASE}/bin/powerpc64-unknown-${OPSYS:tl}*[0-9]-g\+\+9)" \ | |||||
FREEBSD_SYSROOT_CXXINC_ELFV1="/$$(cd ${STAGEDIR}${_SYSROOT} && ${ECHO_CMD} usr/local/lib/gcc9/include/c++/powerpc64-*)" \ | |||||
FREEBSD_SYSROOT_LLVM_TRIPLE="${_SYSROOT_LLVM_TRIPLE}" \ | FREEBSD_SYSROOT_LLVM_TRIPLE="${_SYSROOT_LLVM_TRIPLE}" \ | ||||
FREEBSD_SYSROOT_POWERPC_LD="$$(${ECHO_CMD} ${LOCALBASE}/bin/powerpc-unknown-${OPSYS:tl}*[0-9]-ld.bfd)" | FREEBSD_SYSROOT_POWERPC_LD="$$(${ECHO_CMD} ${LOCALBASE}/bin/powerpc-unknown-${OPSYS:tl}*[0-9]-ld.bfd)" | ||||
PLIST= ${.CURDIR}/pkg-plist.${FLAVOR} | PLIST= ${.CURDIR}/pkg-plist.${FLAVOR} | ||||
PLIST_SUB= ROOT=${_SYSROOT:S,^${PREFIX}/,,} | PLIST_SUB= ROOT=${_SYSROOT:S,^${PREFIX}/,,} | ||||
_SYSROOT= ${PREFIX}/${PORTNAME}/${FLAVOR:S/_/-/g} | _SYSROOT= ${PREFIX}/${PORTNAME}/${FLAVOR:S/_/-/g} | ||||
_SYSROOT_VER= ${_SYSROOT_VER_${FLAVOR}:U12.2-RELEASE} | _SYSROOT_VER= ${_SYSROOT_VER_${FLAVOR}:U12.3-RELEASE} | ||||
_SYSROOT_VER_powerpc64_elfv2= 13.0-RELEASE | _SYSROOT_VER_powerpc= 13.1-RELEASE | ||||
_SYSROOT_VER_powerpc64le= 13.0-RELEASE | _SYSROOT_VER_powerpc64= 13.1-RELEASE | ||||
_SYSROOT_VER_powerpc= 13.0-RELEASE | _SYSROOT_VER_powerpc64le= 13.1-RELEASE | ||||
_SYSROOT_VER_riscv64= 13.0-RELEASE | _SYSROOT_VER_riscv64= 13.1-RELEASE | ||||
_SYSROOT_DIST= ${_SYSROOT_DIST_${FLAVOR}} | _SYSROOT_DIST= ${_SYSROOT_DIST_${FLAVOR}} | ||||
_SYSROOT_DIST_aarch64= releases/arm64/${_SYSROOT_VER}/base.txz | _SYSROOT_DIST_aarch64= releases/arm64/${_SYSROOT_VER}/base.txz | ||||
_SYSROOT_DIST_armv6= releases/arm/${FLAVOR}/ISO-IMAGES/${_SYSROOT_VER:S/-/ /:[1]}/FreeBSD-${_SYSROOT_VER}-arm-armv6-RPI-B.img.xz | |||||
_SYSROOT_DIST_armv7= releases/arm/${FLAVOR}/ISO-IMAGES/${_SYSROOT_VER:S/-/ /:[1]}/FreeBSD-${_SYSROOT_VER}-arm-armv7-WANDBOARD.img.xz | _SYSROOT_DIST_armv7= releases/arm/${FLAVOR}/ISO-IMAGES/${_SYSROOT_VER:S/-/ /:[1]}/FreeBSD-${_SYSROOT_VER}-arm-armv7-WANDBOARD.img.xz | ||||
_SYSROOT_DIST_amd64= releases/amd64/${_SYSROOT_VER}/base.txz | _SYSROOT_DIST_amd64= releases/amd64/${_SYSROOT_VER}/base.txz | ||||
_SYSROOT_DIST_i386= releases/i386/${_SYSROOT_VER}/base.txz | _SYSROOT_DIST_i386= releases/i386/${_SYSROOT_VER}/base.txz | ||||
_SYSROOT_DIST_powerpc64_elfv1= releases/powerpc/powerpc64/${_SYSROOT_VER}/base.txz \ | |||||
gcc9-9.3.0_1.txz | |||||
_SYSROOT_DIST_powerpc64_elfv2= releases/powerpc/powerpc64/${_SYSROOT_VER}/base.txz | |||||
_SYSROOT_DIST_powerpc64le= releases/powerpc/powerpc64le/${_SYSROOT_VER}/base.txz | |||||
_SYSROOT_DIST_powerpc= releases/powerpc/powerpc/${_SYSROOT_VER}/base.txz \ | _SYSROOT_DIST_powerpc= releases/powerpc/powerpc/${_SYSROOT_VER}/base.txz \ | ||||
gcc11-11.3.0_5.pkg | gcc12-12.2.0_5.pkg | ||||
_SYSROOT_DIST_powerpc64= releases/powerpc/powerpc64/${_SYSROOT_VER}/base.txz | |||||
_SYSROOT_DIST_powerpc64le= releases/powerpc/powerpc64le/${_SYSROOT_VER}/base.txz | |||||
_SYSROOT_DIST_riscv64= releases/riscv/riscv64/${_SYSROOT_VER}/base.txz | _SYSROOT_DIST_riscv64= releases/riscv/riscv64/${_SYSROOT_VER}/base.txz | ||||
_SYSROOT_INCLUDE= COPYRIGHT lib/* usr/include/* usr/lib/* \ | _SYSROOT_INCLUDE= COPYRIGHT lib/* usr/include/* usr/lib/* \ | ||||
usr/libdata/* \ | usr/libdata/* \ | ||||
${_SYSROOT_INCLUDE_${FLAVOR}} | ${_SYSROOT_INCLUDE_${FLAVOR}} | ||||
_SYSROOT_EXCLUDE= lib/geom/* lib/casper/* lib/libalias_* \ | _SYSROOT_EXCLUDE= lib/geom/* lib/casper/* lib/libalias_* \ | ||||
lib/nvmecontrol/* usr/include/private/* \ | lib/nvmecontrol/* usr/include/private/* \ | ||||
usr/lib/pam_* usr/lib/snmp_* \ | usr/lib/pam_* usr/lib/snmp_* \ | ||||
usr/lib/libprivate* *_p.a \ | usr/lib/libprivate* *_p.a \ | ||||
${_SYSROOT_EXCLUDE_${FLAVOR}} | ${_SYSROOT_EXCLUDE_${FLAVOR}} | ||||
_SYSROOT_EXCLUDE_armv6= usr/lib/debug/* | |||||
_SYSROOT_EXCLUDE_armv7= usr/lib/debug/* | _SYSROOT_EXCLUDE_armv7= usr/lib/debug/* | ||||
_SYSROOT_EXCLUDE_powerpc64_elfv1= usr/include/c++/* usr/lib/libstdc++.* \ | |||||
usr/lib/libsupc++.* usr/include/gcc/* \ | |||||
usr/libdata/ldscripts/* | |||||
_SYSROOT_ARCH_amd64= x86_64 | _SYSROOT_ARCH_amd64= x86_64 | ||||
_SYSROOT_ARCH_i386= i686 | _SYSROOT_ARCH_i386= i686 | ||||
_SYSROOT_ARCH_powerpc64_elfv1= powerpc64 | _SYSROOT_ARCH_powerpc64= powerpc64 | ||||
_SYSROOT_ARCH_powerpc64_elfv2= powerpc64 | |||||
_SYSROOT_LLVM_TRIPLE= ${_SYSROOT_LLVM_TRIPLE_${FLAVOR}:U${_SYSROOT_ARCH_${FLAVOR}:U${FLAVOR}}-unknown-${OPSYS:tl}} | _SYSROOT_LLVM_TRIPLE= ${_SYSROOT_LLVM_TRIPLE_${FLAVOR}:U${_SYSROOT_ARCH_${FLAVOR}:U${FLAVOR}}-unknown-${OPSYS:tl}} | ||||
_SYSROOT_LLVM_TRIPLE_aarch64= aarch64-unknown-freebsd12.0 | _SYSROOT_LLVM_TRIPLE_aarch64= aarch64-unknown-freebsd12.3 | ||||
_SYSROOT_LLVM_TRIPLE_armv6= armv6-unknown-freebsd12.2-gnueabihf | _SYSROOT_LLVM_TRIPLE_armv7= armv7-unknown-freebsd12.3-gnueabihf | ||||
_SYSROOT_LLVM_TRIPLE_armv7= armv7-unknown-freebsd12.2-gnueabihf | _SYSROOT_LLVM_TRIPLE_powerpc= powerpc-unknown-freebsd13.1 # secure-plt | ||||
_SYSROOT_LLVM_TRIPLE_powerpc= powerpc-unknown-freebsd13.0 # secure-plt | |||||
.if make(distclean) || make(makesum) | .if make(distclean) || make(makesum) | ||||
MASTER_SITES:= ${FLAVORS:O:@_flavor@${:!${SETENV} FLAVOR=${_flavor} ${MAKE} -VMASTER_SITES!}@} | MASTER_SITES:= ${FLAVORS:O:@_flavor@${:!${SETENV} FLAVOR=${_flavor} ${MAKE} -VMASTER_SITES!}@} | ||||
DISTFILES:= ${FLAVORS:O:@_flavor@${:!${SETENV} FLAVOR=${_flavor} ${MAKE} -V'DISTFILES'!}@} | DISTFILES:= ${FLAVORS:O:@_flavor@${:!${SETENV} FLAVOR=${_flavor} ${MAKE} -V'DISTFILES'!}@} | ||||
.endif | .endif | ||||
# to be removed if the port ever switched to base.txz for armv* | # to be removed if the port ever switched to base.txz for armv7 | ||||
Not Done Inline ActionsDo we still have to list mips and sparc64? mikael: Do we still have to list mips and sparc64? | |||||
.if ${FLAVOR:Marmv*} | .if ${FLAVOR} == armv7 | ||||
BROKEN_mips= little-endian UFS fails to be read on big-endian architectures | |||||
BROKEN_mips64= little-endian UFS fails to be read on big-endian architectures | |||||
BROKEN_powerpc= little-endian UFS fails to be read on big-endian architectures | BROKEN_powerpc= little-endian UFS fails to be read on big-endian architectures | ||||
BROKEN_powerpcspe= little-endian UFS fails to be read on big-endian architectures | BROKEN_powerpcspe= little-endian UFS fails to be read on big-endian architectures | ||||
BROKEN_powerpc64= little-endian UFS fails to be read on big-endian architectures | BROKEN_powerpc64= little-endian UFS fails to be read on big-endian architectures | ||||
BROKEN_sparc64= little-endian UFS fails to be read on big-endian architectures | |||||
.endif | .endif | ||||
.include <bsd.port.pre.mk> | .include <bsd.port.pre.mk> | ||||
.if ${OPSYS} != FreeBSD | .if ${OPSYS} != FreeBSD | ||||
IGNORE= is only for FreeBSD | IGNORE= is only for FreeBSD | ||||
.elif ${FLAVOR} == powerpc64le && ${OSVERSION} < 1300139 | .elif ${FLAVOR} == powerpc64le && ${OSVERSION} < 1301000 | ||||
IGNORE= is only for FreeBSD 13.0-RELEASE or greater | IGNORE= is only for FreeBSD 13.1-RELEASE or greater | ||||
Not Done Inline ActionsBump it to 1301000 and modify 13.0? mikael: Bump it to 1301000 and modify 13.0? | |||||
.endif | .endif | ||||
pre-extract: | pre-extract: | ||||
@${MKDIR} ${STAGEDIR}${_SYSROOT} | @${MKDIR} ${STAGEDIR}${_SYSROOT} | ||||
# No base.txz for armv* so extract what we need from the available *.img files | # No base.txz for armv7 so extract what we need from the available *.img files | ||||
.if ${FLAVOR:Marmv*} | .if ${FLAVOR} == armv7 | ||||
# for label offset: unxz -c $img | file - | # for label offset: unxz -c $img | file - | ||||
# for UFS slice offset: unxz -c $img | dd skip=$label_offset count=8192 >label; bsdlabel -f label; rm label | # for UFS slice offset: unxz -c $img | dd skip=$label_offset count=8192 >label; bsdlabel -f label; rm label | ||||
# skip = label_offset + slice_offset | # skip = label_offset + slice_offset | ||||
# check if detected as UFS: unxz -c $img | dd skip=$skip | file - | # check if detected as UFS: unxz -c $img | dd skip=$skip | file - | ||||
_SKIP_armv6= 103424 | |||||
_SKIP_armv7= 118784 | |||||
do-extract: | do-extract: | ||||
@unxz -c ${_DISTDIR}/${EXTRACT_ONLY} | \ | @unxz -c ${_DISTDIR}/${EXTRACT_ONLY} | \ | ||||
dd skip=${_SKIP_${FLAVOR}} >${WRKDIR}/base.img | dd skip=118784 >${WRKDIR}/base.img | ||||
@${MKDIR} ${WRKDIR}/base | @${MKDIR} ${WRKDIR}/base | ||||
@cd ${WRKDIR}/base; \ | @cd ${WRKDIR}/base; \ | ||||
dump -0f - ${WRKDIR}/base.img | \ | dump -0f - ${WRKDIR}/base.img | \ | ||||
restore -rf - | restore -rf - | ||||
@${RM} ${WRKDIR}/base.img | @${RM} ${WRKDIR}/base.img | ||||
@chflags -R noschg ${WRKDIR}/base | @chflags -R noschg ${WRKDIR}/base | ||||
@${TAR} -C${WRKDIR}/base -cf - . | \ | @${TAR} -C${WRKDIR}/base -cf - . | \ | ||||
${TAR} -xf - ${EXTRACT_AFTER_ARGS} | ${TAR} -xf - ${EXTRACT_AFTER_ARGS} | ||||
.endif | .endif | ||||
post-extract: | post-extract: | ||||
.if ${FLAVOR} == powerpc64_elfv1 | .if ${FLAVOR} == powerpc | ||||
cd ${EXTRACT_WRKDIR} && \ | cd ${EXTRACT_WRKDIR} && \ | ||||
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/rust/bootstrap/${FLAVOR}/${_SYSROOT_VER}/${_SYSROOT_DIST_${FLAVOR}:[2]} \ | ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/rust/bootstrap/${FLAVOR}/${_SYSROOT_VER}/${_SYSROOT_DIST_${FLAVOR}:[2]} \ | ||||
-C${STAGEDIR}${_SYSROOT} /usr/local/lib/gcc9 | -C${STAGEDIR}${_SYSROOT} /usr/local/lib/gcc12 | ||||
.elif ${FLAVOR} == powerpc | |||||
cd ${EXTRACT_WRKDIR} && \ | |||||
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/rust/bootstrap/${FLAVOR}/${_SYSROOT_VER}/${_SYSROOT_DIST_${FLAVOR}:[2]} \ | |||||
-C${STAGEDIR}${_SYSROOT} /usr/local/lib/gcc11 | |||||
.endif | .endif | ||||
@${FIND} ${STAGEDIR}${_SYSROOT} -type d -empty -delete | @${FIND} ${STAGEDIR}${_SYSROOT} -type d -empty -delete | ||||
@${MV} ${STAGEDIR}${_SYSROOT}/COPYRIGHT ${WRKDIR} | @${MV} ${STAGEDIR}${_SYSROOT}/COPYRIGHT ${WRKDIR} | ||||
do-install: | do-install: | ||||
.if ${FLAVOR} == powerpc64_elfv1 | .if ${FLAVOR} == powerpc | ||||
@${RLN} ${STAGEDIR}${_SYSROOT}/usr/local/lib/gcc9/libstdc++.a \ | @${RLN} ${STAGEDIR}${_SYSROOT}/usr/local/lib/gcc12/libatomic.so \ | ||||
${STAGEDIR}${_SYSROOT}/usr/lib/libstdc++.a | |||||
@${RLN} ${STAGEDIR}${_SYSROOT}/usr/local/lib/gcc9/libstdc++.a \ | |||||
${STAGEDIR}${_SYSROOT}/usr/lib/libc++.a | |||||
.elif ${FLAVOR} == powerpc | |||||
@${RLN} ${STAGEDIR}${_SYSROOT}/usr/local/lib/gcc11/libatomic.so \ | |||||
${STAGEDIR}${_SYSROOT}/usr/lib/libatomic.so | ${STAGEDIR}${_SYSROOT}/usr/lib/libatomic.so | ||||
.endif | .endif | ||||
@${MKDIR} ${STAGEDIR}${_SYSROOT}/bin | @${MKDIR} ${STAGEDIR}${_SYSROOT}/bin | ||||
${INSTALL_SCRIPT} ${WRKDIR}/${exists(${FILESDIR}/${FLAVOR}-cc.in):?${FLAVOR}-cc:cc} \ | ${INSTALL_SCRIPT} ${WRKDIR}/${exists(${FILESDIR}/${FLAVOR}-cc.in):?${FLAVOR}-cc:cc} \ | ||||
${STAGEDIR}${_SYSROOT}/bin/cc | ${STAGEDIR}${_SYSROOT}/bin/cc | ||||
${INSTALL_SCRIPT} ${WRKDIR}/${exists(${FILESDIR}/${FLAVOR}-c++.in):?${FLAVOR}-c++:c++} \ | ${INSTALL_SCRIPT} ${WRKDIR}/${exists(${FILESDIR}/${FLAVOR}-c++.in):?${FLAVOR}-c++:c++} \ | ||||
${STAGEDIR}${_SYSROOT}/bin/c++ | ${STAGEDIR}${_SYSROOT}/bin/c++ | ||||
@${CAT} ${STAGEDIR}${_SYSROOT}/bin/c* | @${CAT} ${STAGEDIR}${_SYSROOT}/bin/c* | ||||
Show All 13 Lines |
Move your distfiles to LOCAL/rust?