Created
May 25, 2021 15:41
-
-
Save Alessandro-Barbieri/17b8cd951a800fed883e6bca4b6862a4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DIST plan9port-88a87fadae6629932d9c160f53ad5d79775f8f94.tar.gz 23413373 BLAKE2B 6145dd77c9e4b33ebc6d68f42ed69e320e8bfcaae474a16afb3a62e30c13a39117d7013f3cc075eb48c95a5600c4fdb457e45f65f7b25ad2acc7b19dc9cf8e64 SHA512 f008969274e790238b58ebd0d0dcfaa730557daf974797f8c4014c36ac39995b330db9c6d658655358fdb2be64905b83c35e2287b7cd66b2d3249e1da1a3e119 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> | |
<pkgmetadata> | |
<maintainer type="person"> | |
<email>blueness@gentoo.org</email> | |
<name>Anthony G. Basile</name> | |
</maintainer> | |
<longdescription> | |
Plan9Port is a set of Plan 9 utilities ported to the POSIX | |
environment - also know as Plan 9 from User Space. | |
</longdescription> | |
<upstream> | |
<remote-id type="github">9fans/plan9port</remote-id> | |
</upstream> | |
<use> | |
<flag name="freefonts">Don't install BigelowHolmes fonts</flag> | |
</use> | |
</pkgmetadata> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 1999-2021 Gentoo Authors | |
# Distributed under the terms of the GNU General Public License v2 | |
EAPI=7 | |
inherit multiprocessing toolchain-funcs readme.gentoo-r1 | |
MY_HASH="88a87fadae6629932d9c160f53ad5d79775f8f94" | |
MY_P="${PN}-${MY_HASH}" | |
DESCRIPTION="Port of many Plan 9 programs and libraries" | |
HOMEPAGE="https://9fans.github.io/plan9port/ | |
https://github.com/9fans/plan9port" | |
SRC_URI="https://github.com/9fans/${PN}/archive/${MY_HASH}.tar.gz -> ${MY_P}.tar.gz" | |
S="${WORKDIR}/${MY_P}" | |
LICENSE=" | |
MIT RSA Apache-2.0 public-domain BitstreamVera BZIP2 | |
!freefonts? ( BigelowHolmes ) | |
" | |
SLOT="0" | |
KEYWORDS="~amd64 ~x86" | |
IUSE="X aqua freefonts truetype" | |
REQUIRED_USE="?? ( X aqua )" | |
DEPEND=" | |
X? ( x11-apps/xauth ) | |
truetype? ( | |
media-libs/freetype | |
media-libs/fontconfig | |
) | |
" | |
RDEPEND="${DEPEND}" | |
PATCHES=( | |
"${FILESDIR}/${PN}-noexecstack.patch" | |
"${FILESDIR}/${PN}-cflags.patch" | |
"${FILESDIR}/${PN}-builderr.patch" | |
) | |
PLAN9="/opt/plan9" | |
EPLAN9="${EPREFIX}${PLAN9}" | |
QA_MULTILIB_PATHS="${PLAN9}/.*/.*" | |
DOC_CONTENTS="Plan 9 from User Space has been successfully installed into | |
${PLAN9}. Your PLAN9 and PATH environment variables have | |
also been appropriately set, please use env-update and | |
source /etc/profile to bring that into immediate effect. | |
Please note that ${PLAN9}/bin has been appended to the | |
*end* or your PATH to prevent conflicts. To use the Plan9 | |
versions of common UNIX tools, use the absolute path: | |
${PLAN9}/bin or the 9 command (eg: 9 troff) | |
Please report any bugs to bugs.gentoo.org, NOT Plan9Port." | |
DISABLE_AUTOFORMATTING="yes" | |
src_prepare() { | |
default | |
if use freefonts; then | |
pushd font || die | |
rm -rf big5 fixed jis luc{,m,sans} misc naga10 pelm shinonome || die | |
popd || die | |
rm -rf postscript/luxi || die | |
fi | |
case "${CHOST}" in | |
*apple*) | |
sed -i 's/--noexecstack/-noexecstack/' src/mkhdr || | |
die "Failed to sed AFLAGS" ;; | |
esac | |
# don't hardcode /bin and /usr/bin in PATH | |
sed -i '/PATH/s,/bin:/usr/bin:,,' INSTALL || die "sed on INSTALL failed" | |
# don't hardcode /usr/{,local/}include and prefix /usr/include/* | |
sed -Ei -e 's,-I/usr(|/local)/include ,,g' \ | |
-e "s,-I/usr(|/local)/include,-I${EPREFIX}/usr\1/include,g" \ | |
src/cmd/fontsrv/freetyperules.sh INSTALL $(find -name makefile) || | |
die "sed failed" | |
# Fix paths, done in place of ./INSTALL -c | |
einfo "Fixing hard-coded /usr/local/plan9 paths" | |
sed -i "s,/usr/local/plan9,${EPLAN9},g" $(grep -lr /usr/local/plan9) || | |
die "sed failed" | |
} | |
src_configure() { | |
local -a myconf=( | |
CC9="$(tc-getCC)" | |
CC9FLAGS="'${CFLAGS} ${LDFLAGS}'" | |
) | |
if use X; then | |
myconf+=( WSYSTYPE=x11 ) | |
elif use aqua; then | |
local wsystype="$(awk '{if ($1 > 10.5) print "osx-cocoa"; else print "osx"}' \ | |
<<< "${MACOSX_DEPLOYMENT_TARGET}")" | |
myconf+=( WSYSTYPE="${wsystype}" ) | |
else | |
myconf+=( WSYSTYPE=nowsys ) | |
fi | |
if use truetype; then | |
myconf+=( FONTSRV=fontsrv ) | |
else | |
myconf+=( FONTSRV= ) | |
fi | |
printf '%s\n' "${myconf[@]}" >> LOCAL.config || | |
die "cannot create configuration" | |
} | |
src_compile() { | |
# The INSTALL script builds mk then [re]builds everything using that | |
einfo "Compiling Plan 9 from User Space can take a very long time" | |
einfo "depending on the speed of your computer. Please be patient!" | |
NPROC="$(makeopts_jobs)" ./INSTALL -b || | |
die "Please report bugs to bugs.gentoo.org, NOT Plan9Port." | |
} | |
src_install() { | |
readme.gentoo_create_doc | |
# do* plays with the executable bit, and we should not modify them | |
dodir "${PLAN9}" | |
cp -a * "${ED}${PLAN9}" || die "cp failed" | |
# build the environment variables and install them in env.d | |
newenvd - 60plan9 <<-EOF | |
PLAN9="${EPLAN9}" | |
PATH="${EPLAN9}/bin" | |
ROOTPATH="${EPLAN9}/bin" | |
MANPATH="${EPLAN9}/man" | |
EOF | |
} | |
pkg_postinst() { | |
readme.gentoo_print_elog | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Prevent mk from ignoring errors | |
By default, the plan9port INSTALL script doesn't report build error, | |
which can result in a mostly broken build begin installed. | |
--- a/INSTALL | |
+++ b/INSTALL | |
@@ -65,7 +65,6 @@ | |
;; | |
esac | |
-( | |
if [ `uname` = SunOS ]; then | |
# On Solaris x86, uname -p cannot be trusted. | |
echo "* Running on Solaris: checking architecture..." | |
@@ -159,7 +158,7 @@ | |
echo "* Warning: not all binaries built successfully." | |
fi | |
echo "* Installing everything in $PLAN9/bin..." | |
- mk -k install || exit 1 | |
+ mk install || exit 1 | |
if [ ! -x $PLAN9/bin/cleanname -o ! -x $PLAN9/bin/acme -o ! -x $PLAN9/bin/sam ]; then | |
echo " " | |
echo "* Warning: not all binaries built successfully." | |
@@ -211,5 +210,4 @@ | |
echo " PLAN9=$PLAN9 export PLAN9" | |
echo ' PATH=$PATH:$PLAN9/bin export PATH' | |
fi | |
-) 2>&1 | tee install.log | $awk -f $PLAN9/dist/isum.awk -v 'copy='install.sum | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Prevent resetting CFLAGS and LDFLAGS | |
This allows the plan9port build to inherit cflags from the environment. | |
(This patch must be applied after plan9port-noexecstack.patch) | |
--- a/src/mkhdr | |
+++ b/src/mkhdr | |
@@ -11,8 +11,6 @@ | |
LD=9l | |
AS=9a | |
AR=9ar | |
-CFLAGS= | |
-LDFLAGS= | |
AFLAGS=--noexecstack | |
CLEANFILES= | |
NUKEFILES= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Remove unneeded executable stack | |
Assembly routines in libthread and libmp use an executable stack by | |
default. This is not needed and can be removed using --noexecstack. | |
Patch by Andy Spencer | |
http://code.swtch.com/plan9port/issue/76/ | |
--- a/src/mkhdr | |
+++ b/src/mkhdr | |
@@ -13,7 +13,7 @@ | |
AR=9ar | |
CFLAGS= | |
LDFLAGS= | |
-AFLAGS= | |
+AFLAGS=--noexecstack | |
CLEANFILES= | |
NUKEFILES= | |
YACC=9 yacc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment