diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2015-12-27 17:57:30 -0500 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2015-12-27 17:58:01 -0500 |
commit | 367d47d9414005bea0e6a7fc749fa19032fd89d6 (patch) | |
tree | 663449ee39e9736237bbcfa3e48e70bb77df5f86 /dev-util/plan9port | |
parent | sys-apps/findutils: version bump to 4.5.18 (diff) | |
download | gentoo-367d47d9414005bea0e6a7fc749fa19032fd89d6.tar.gz gentoo-367d47d9414005bea0e6a7fc749fa19032fd89d6.tar.bz2 gentoo-367d47d9414005bea0e6a7fc749fa19032fd89d6.zip |
dev-util/plan9port: add prefix support, bug #567260
Thanks Jeremi Piotrowski <jeremi.piotrowski@gmail.com>
Package-Manager: portage-2.2.24
Diffstat (limited to 'dev-util/plan9port')
-rw-r--r-- | dev-util/plan9port/files/plan9port-freebsd-10.patch | 11 | ||||
-rw-r--r-- | dev-util/plan9port/plan9port-20140306-r2.ebuild | 118 |
2 files changed, 129 insertions, 0 deletions
diff --git a/dev-util/plan9port/files/plan9port-freebsd-10.patch b/dev-util/plan9port/files/plan9port-freebsd-10.patch new file mode 100644 index 000000000000..cc46dc6f4509 --- /dev/null +++ b/dev-util/plan9port/files/plan9port-freebsd-10.patch @@ -0,0 +1,11 @@ +--- a/bin/9l 2015-12-09 19:12:50.000000000 +0000
++++ b/bin/9l 2015-12-09 19:13:00.000000000 +0000
+@@ -19,7 +19,7 @@ case "$tag" in
+ 5.2.*)
+ extralibs="$extralibs -lkse"
+ ;;
+- [5-9].*)
++ [5-9].*|10.*)
+ extralibs="$extralibs -lpthread"
+ ;;
+ esac
diff --git a/dev-util/plan9port/plan9port-20140306-r2.ebuild b/dev-util/plan9port/plan9port-20140306-r2.ebuild new file mode 100644 index 000000000000..05fdf5f63d92 --- /dev/null +++ b/dev-util/plan9port/plan9port-20140306-r2.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +inherit eutils multiprocessing toolchain-funcs + +DESCRIPTION="Port of many Plan 9 programs and libraries" +HOMEPAGE="http://swtch.com/plan9port/" +SRC_URI="https://${PN}.googlecode.com/files/${P}.tgz" + +LICENSE="9base BSD-4 MIT LGPL-2.1 BigelowHolmes" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X aqua truetype" +REQUIRED_USE="?? ( X aqua )" + +DEPEND="X? ( x11-apps/xauth ) + truetype? ( media-libs/freetype + media-libs/fontconfig )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${PN}" + +PLAN9=/usr/lib/plan9 +EPLAN9="${EPREFIX}"${PLAN9} +QA_MULTILIB_PATHS="${PLAN9}/.*/.*" + +src_prepare() { + epatch "${FILESDIR}/${PN}-"{noexecstack,cflags,builderr}".patch" + case ${CHOST} in + *freebsd10.*) # patch 9l to use -pthread also on FreeBSD-10 + epatch "${FILESDIR}/${PN}-freebsd-10.patch" ;; + *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/* + for f in src/cmd/fontsrv/freetyperules.sh INSTALL \ + $(find -name makefile); do + sed -r -i -e 's,-I/usr(|/local)/include ,,g' \ + -e "s,-I/usr(|/local)/include,-I${EPREFIX}/usr\1/include,g" ${f} \ + || die "sed on ${f} failed" + done + + # Fix paths, done in place of ./INSTALL -c + einfo "Fixing hard-coded /usr/local/plan9 paths" + grep --null -l -r '/usr/local/plan9' | + xargs --null sed -i "s,/usr/local/plan9,${EPLAN9},g" +} + +src_configure() { + local myconf=() + if use X; then + myconf+=("X11=${EPREFIX}/usr" WSYSTYPE=x11) + elif use aqua; then + local wsystype=$(echo ${MACOSX_DEPLOYMENT_TARGET} | + awk '{if ($1 > 10.5) print "osx-cocoa"; else print "osx"}') + 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 +} + +src_compile() { + export NPROC=$(makeopts_jobs) + export CC9=$(tc-getCC) + + # 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!" + ./INSTALL -b || die "Please report bugs to bugs.gentoo.org, NOT Plan9Port." +} + +src_install() { + dodir "${PLAN9}" + + # P9P's man does not handle compression + docompress -x $PLAN9/man + + # do* plays with the executable bit, and we should not modify them + cp -a * "${ED}/${PLAN9}" + + # build the environment variables and install them in env.d + cat > "${T}/30plan9" <<-EOF + PLAN9="${EPLAN9}" + PATH="${EPLAN9}/bin" + ROOTPATH="${EPLAN9}/bin" + MANPATH="${EPLAN9}/man" + EOF + doenvd "${T}/30plan9" +} + +pkg_postinst() { + elog "Plan 9 from User Space has been successfully installed into" + elog "${PLAN9}. Your PLAN9 and PATH environment variables have" + elog "also been appropriately set, please use env-update and" + elog "source /etc/profile to bring that into immediate effect." + elog + elog "Please note that ${PLAN9}/bin has been appended to the" + elog "*end* or your PATH to prevent conflicts. To use the Plan9" + elog "versions of common UNIX tools, use the absolute path:" + elog "${PLAN9}/bin or the 9 command (eg: 9 troff)" + elog + elog "Please report any bugs to bugs.gentoo.org, NOT Plan9Port." +} |