summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2013-01-04 04:03:59 +0000
committerAnthony G. Basile <blueness@gentoo.org>2013-01-04 04:03:59 +0000
commitea0ee88cbf9811d0143395875281b5c003baff3e (patch)
tree7b6702087b854a708e77c28a80471af857f16bd1 /dev-util/plan9port
parentNon maintainer bump, bug 447576 (diff)
downloadgentoo-2-ea0ee88cbf9811d0143395875281b5c003baff3e.tar.gz
gentoo-2-ea0ee88cbf9811d0143395875281b5c003baff3e.tar.bz2
gentoo-2-ea0ee88cbf9811d0143395875281b5c003baff3e.zip
Reintroduced to tree
(Portage version: 2.1.11.31/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA)
Diffstat (limited to 'dev-util/plan9port')
-rw-r--r--dev-util/plan9port/ChangeLog40
-rw-r--r--dev-util/plan9port/files/plan9port-9660srv-errno.patch19
-rw-r--r--dev-util/plan9port/files/plan9port-noexecstack.patch54
-rw-r--r--dev-util/plan9port/metadata.xml15
-rw-r--r--dev-util/plan9port/plan9port-20121219.ebuild76
5 files changed, 204 insertions, 0 deletions
diff --git a/dev-util/plan9port/ChangeLog b/dev-util/plan9port/ChangeLog
new file mode 100644
index 000000000000..99bb30d8cd9b
--- /dev/null
+++ b/dev-util/plan9port/ChangeLog
@@ -0,0 +1,40 @@
+# ChangeLog for dev-util/plan9port
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/plan9port/ChangeLog,v 1.5 2013/01/04 04:03:59 blueness Exp $
+
+*plan9port-20121219 (27 Dec 2012)
+
+ 27 Dec 2012; Andy Spencer <andy753421@gmail.com> -plan9port-20110320.ebuild,
+ -plan9port-no-lex.patch, +plan9port-20121219.ebuild:
+ Version bump, update noexecstack patch, remove unneeded lex patch. Changed
+ sed command to use grep instead of file to prevent spawning excess processes.
+
+*plan9port-20110320 (20 Mar 2011)
+
+ 20 Mar 2011; Andy Spencer <andy753421@gmail.com> +plan9port-20110320.ebuild,
+ +plan9port-9660srv-errno.patch, +plan9port-noexecstack.patch,
+ +plan9port-no-lex.patch:
+ Version bump (bug #273890), change prefix to /opt/plan9, replace PREFIX patch
+ with sed command, change DEPEND to x11-apps/xauth, added EAPI=4 and
+ PORTAGE_DOCOMPORESS (bug #224209), patched AFLAGS with --noexecstack, convert
+ -jN to NPROC=N for mk, generate 30plan9 env file on-the-fly, Thanks to John
+ David for some work on this.
+
+ 20 Mar 2009; Jorge Manuel B. S. Vicetto <jmbsvicetto@gentoo.org>
+ metadata.xml:
+ Removing anant as a maintainer since he was retired.
+
+*plan9port-20080130 (11 Mar 2008)
+
+ 11 Mar 2008; Santiago M. Mola <coldwind@gentoo.org>
+ plan9port-20070522.ebuild, +plan9port-20080130.ebuild:
+ Version bump, added patch to fix shebangs (bug #201404), marked ~amd64 (bug
+ #209553), use elog.
+
+*plan9port-20070522 (29 May 2007)
+
+ 29 May 2007; Anant Narayanan <anant@gentoo.org> +files/30plan9,
+ +metadata.xml, +plan9port-20070522.ebuild:
+ Initial ebuild for Plan9Port, a set of Plan 9 utilities ported to POSIX
+ environments.
+
diff --git a/dev-util/plan9port/files/plan9port-9660srv-errno.patch b/dev-util/plan9port/files/plan9port-9660srv-errno.patch
new file mode 100644
index 000000000000..a596321669a9
--- /dev/null
+++ b/dev-util/plan9port/files/plan9port-9660srv-errno.patch
@@ -0,0 +1,19 @@
+Defining int errno; resuls in the following error on amd64:
+
+ ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches
+ non-TLS reference in main.o
+
+Patch by Alex Efros:
+
+ http://code.swtch.com/plan9port/issue/39/
+--- plan9/src/cmd/9660srv/main.c
++++ plan9.new/src/cmd/9660srv/main.c
+@@ -38,7 +38,7 @@
+ uchar mdata[Maxiosize];
+ char fdata[Maxfdata];
+ uchar statbuf[STATMAX];
+-int errno;
++#include <errno.h>
+
+
+ extern Xfsub *xsublist[];
diff --git a/dev-util/plan9port/files/plan9port-noexecstack.patch b/dev-util/plan9port/files/plan9port-noexecstack.patch
new file mode 100644
index 000000000000..fb4f19f21fc5
--- /dev/null
+++ b/dev-util/plan9port/files/plan9port-noexecstack.patch
@@ -0,0 +1,54 @@
+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.
+
+The plan9port 9a wrapper wrapper needs to be modified to pass flags to the
+underlying assembler first though..
+
+Patch by Andy Spencer
+
+ http://code.swtch.com/plan9port/issue/76/
+--- a/bin/9a
++++ b/bin/9a
+@@ -1,10 +1,5 @@
+ #!/bin/sh
+
+-if [ $# != 1 ]; then
+- echo 'usage: 9a file.s' 1>&2
+- exit 1
+-fi
+-
+ test -f $PLAN9/config && . $PLAN9/config
+
+ aflags=""
+@@ -17,5 +12,16 @@ Darwin-*x86_64*)
+ ;;
+ esac
+
+-out=`echo $1 | sed 's/\.s$//;s/$/.o/'`
+-exec as $aflags -o $out $1
++for arg; do
++ case $arg in
++ -*)
++ opts="$opts $arg"
++ ;;
++ *.s)
++ src=$arg
++ dst=$(echo $arg | sed 's/\.s/\.o/')
++ ;;
++ esac
++done
++
++exec as $aflags $opts -o $dst $src
+--- a/src/mkhdr
++++ b/src/mkhdr
+@@ -30,7 +30,7 @@ AR=9ar
+ INSTALL=install
+ CFLAGS=
+ LDFLAGS=
+-AFLAGS=
++AFLAGS=--noexecstack
+ CLEANFILES=
+ NUKEFILES=
+ YACC=9 yacc
diff --git a/dev-util/plan9port/metadata.xml b/dev-util/plan9port/metadata.xml
new file mode 100644
index 000000000000..e86c8cc601ac
--- /dev/null
+++ b/dev-util/plan9port/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>andy753421@gmail.com</email>
+ </maintainer>
+ <maintainer>
+ <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>
+</pkgmetadata>
diff --git a/dev-util/plan9port/plan9port-20121219.ebuild b/dev-util/plan9port/plan9port-20121219.ebuild
new file mode 100644
index 000000000000..e6470eee1001
--- /dev/null
+++ b/dev-util/plan9port/plan9port-20121219.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/plan9port/plan9port-20121219.ebuild,v 1.1 2013/01/04 04:03:59 blueness Exp $
+
+EAPI="4"
+
+inherit eutils
+
+DESCRIPTION="Port of many Plan 9 programs and libraries"
+HOMEPAGE="http://swtch.com/plan9port/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tgz"
+
+LICENSE="9base"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="x11-apps/xauth"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}"
+
+PLAN9=/usr/lib/plan9
+
+src_prepare()
+{
+ epatch "${FILESDIR}/${PN}-"{9660srv-errno,noexecstack}".patch"
+
+ # 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!${PLAN9}!g"
+}
+
+src_compile() {
+ # Convert -j5 to NPROC=5 for mk
+ export NPROC="$(echo "$MAKEOPTS" | sed -r -n 's/.*(^| )-j([0-9]*).*/\2/p')"
+
+ # 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
+}
+
+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 * "${D}/${PLAN9}"
+
+ # build the environment variables and install them in env.d
+ cat > "${T}/30plan9" <<-EOF
+ PLAN9="${PLAN9}"
+ PATH="${PLAN9}/bin"
+ ROOTPATH="${PLAN9}/bin"
+ MANPATH="${PLAN9}/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."
+}