summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Yao <ryao@gentoo.org>2013-06-25 12:33:01 +0000
committerRichard Yao <ryao@gentoo.org>2013-06-25 12:33:01 +0000
commit3c5814a787753b37b81aa7c191b433e43036c843 (patch)
tree29b9d8d2b1fcb84a1acee647c17bf85ba15845c8 /sys-devel
parentOld. (diff)
downloadgentoo-2-3c5814a787753b37b81aa7c191b433e43036c843.tar.gz
gentoo-2-3c5814a787753b37b81aa7c191b433e43036c843.tar.bz2
gentoo-2-3c5814a787753b37b81aa7c191b433e43036c843.zip
~x64-solaris support
(Portage version: 2.2.0_alpha183/cvs/Linux x86_64, signed Manifest commit with key 0xBEE84C64)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/heirloom-devtools/ChangeLog7
-rw-r--r--sys-devel/heirloom-devtools/files/heirloom-devtools-070527-solaris.patch230
-rw-r--r--sys-devel/heirloom-devtools/heirloom-devtools-070527-r1.ebuild8
-rw-r--r--sys-devel/heirloom-devtools/heirloom-devtools-999999.ebuild3
4 files changed, 244 insertions, 4 deletions
diff --git a/sys-devel/heirloom-devtools/ChangeLog b/sys-devel/heirloom-devtools/ChangeLog
index 28cdfbdb14c6..95a9736f0f39 100644
--- a/sys-devel/heirloom-devtools/ChangeLog
+++ b/sys-devel/heirloom-devtools/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-devel/heirloom-devtools
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/heirloom-devtools/ChangeLog,v 1.3 2013/06/10 05:12:17 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/heirloom-devtools/ChangeLog,v 1.4 2013/06/25 12:33:01 ryao Exp $
+
+ 25 Jun 2013; Richard Yao <ryao@gentoo.org>
+ +files/heirloom-devtools-070527-solaris.patch,
+ heirloom-devtools-070527-r1.ebuild, heirloom-devtools-999999.ebuild:
+ ~x64-solaris support
*heirloom-devtools-070527-r1 (10 Jun 2013)
diff --git a/sys-devel/heirloom-devtools/files/heirloom-devtools-070527-solaris.patch b/sys-devel/heirloom-devtools/files/heirloom-devtools-070527-solaris.patch
new file mode 100644
index 000000000000..c6b394208762
--- /dev/null
+++ b/sys-devel/heirloom-devtools/files/heirloom-devtools-070527-solaris.patch
@@ -0,0 +1,230 @@
+diff --git a/make/include/mksh/defs.h b/make/include/mksh/defs.h
+index 1992205..8065a77 100644
+--- a/make/include/mksh/defs.h
++++ b/make/include/mksh/defs.h
+@@ -63,7 +63,6 @@
+ #include <widec.h>
+ #endif
+
+-#ifndef __sun
+ /*
+ * Definition of wchar functions.
+ */
+@@ -90,7 +89,6 @@
+ # define wscmp(x,y) wcscmp(x,y)
+ # undef wsncmp
+ # define wsncmp(x,y,z) wcsncmp(x,y,z)
+-#endif
+
+ #if defined (__FreeBSD__) || defined (__APPLE__) || defined (__hpux)
+ extern "C" { wchar_t *wcsdup(const wchar_t *s); }
+diff --git a/make/makestate/lock.c b/make/makestate/lock.c
+index cdf7562..aa6083e 100644
+--- a/make/makestate/lock.c
++++ b/make/makestate/lock.c
+@@ -42,18 +42,6 @@
+ #include <sys/errno.h>
+ #include <errno.h> /* errno */
+
+-#if defined(_LP64)
+-/*
+- * The symbols _sys_errlist and _sys_nerr are not visible in the
+- * LP64 libc. Use strerror(3C) instead.
+- */
+-#else /* #_LP64 */
+-#if defined (__sun) || defined (__hpux)
+-extern char * sys_errlist[];
+-extern int sys_nerr;
+-#endif
+-#endif /* #_LP64 */
+-
+ static void file_lock_error(char *, char *, const char *, char *, char *);
+
+ /*
+@@ -167,16 +155,7 @@ file_lock_error(char * msg, char * file, const char * str, char * arg1,
+ len = strlen(msg);
+ sprintf(&msg[len], str, arg1, arg2);
+ strcat(msg, " failed - ");
+-#if defined(_LP64)
+ /* Needs to be changed to use strerror(3C) instead. */
+ len = strlen(msg);
+ sprintf(&msg[len], "errno %d", errno);
+-#else /* #_LP64 */
+- if (errno < sys_nerr) {
+- strcat(msg, sys_errlist[errno]);
+- } else {
+- len = strlen(msg);
+- sprintf(&msg[len], "errno %d", errno);
+- }
+-#endif /* #_LP64 */
+ }
+diff --git a/make/mksh/macro.cc b/make/mksh/macro.cc
+index 6ddb624..23b0315 100644
+--- a/make/mksh/macro.cc
++++ b/make/mksh/macro.cc
+@@ -43,6 +43,7 @@
+ /*
+ * Included files
+ */
++#include <alloca.h>
+ #include <wordexp.h>
+ #include <mksh/dosys.h> /* sh_command2string() */
+ #include <mksh/i18n.h> /* get_char_semantics_value() */
+@@ -1403,13 +1404,6 @@ found_it:;
+ new_value = ALLOC_WC(length);
+ new_value_allocated = true;
+ WCSTOMBS(mbs_buffer, old_vr);
+-#ifdef __sun
+- wsprintf(new_value,
+- NOCATGETS("/usr/arch/%s/%s:%s"),
+- ha->string_mb + 1,
+- ta->string_mb + 1,
+- mbs_buffer);
+-#else
+ char * mbs_new_value = (char *)getmem(length);
+ sprintf(mbs_new_value,
+ NOCATGETS("/usr/arch/%s/%s:%s"),
+@@ -1418,7 +1412,6 @@ found_it:;
+ mbs_buffer);
+ MBSTOWCS(new_value, mbs_new_value);
+ retmem_mb(mbs_new_value);
+-#endif
+ }
+ if (new_value[0] != 0) {
+ setvar_daemon(virtual_root,
+diff --git a/make/mksh/misc.cc b/make/mksh/misc.cc
+index 11122cf..d617591 100644
+--- a/make/mksh/misc.cc
++++ b/make/mksh/misc.cc
+@@ -382,30 +382,7 @@ setup_char_semantics(void)
+ char *
+ errmsg(int errnum)
+ {
+-#ifndef __sun
+ return strerror(errnum);
+-#else // __sun
+-
+- extern int sys_nerr;
+-#ifdef SUN4_x
+- extern char *sys_errlist[];
+-#endif
+- char *errbuf;
+-
+- if ((errnum < 0) || (errnum > sys_nerr)) {
+- errbuf = getmem(6+1+11+1);
+- sprintf(errbuf, "Error %d", errnum);
+- return errbuf;
+- } else {
+-#ifdef SUN4_x
+- return(sys_errlist[errnum]);
+-#endif
+-#ifdef SUN5_0
+- return strerror(errnum);
+-#endif
+-
+- }
+-#endif // !__sun
+ }
+
+ extern const char *progname;
+diff --git a/make/src/implicit.cc b/make/src/implicit.cc
+index 2d388cc..a1cee7e 100644
+--- a/make/src/implicit.cc
++++ b/make/src/implicit.cc
+@@ -43,10 +43,13 @@
+ /*
+ * Included files
+ */
++#include <cstdio>
+ #include <mk/defs.h>
+ #include <mksh/macro.h> /* expand_value() */
+ #include <mksh/misc.h> /* retmem() */
+
++using std::printf;
++
+ /*
+ * Defined macros
+ */
+@@ -97,8 +100,6 @@ extern void add_target_to_chain(Name target, Chain * query);
+ * recursion_level Used for tracing
+ */
+
+-extern int printf (const char *, ...);
+-
+ static Boolean actual_doname = false;
+
+ /* /tolik/
+diff --git a/make/src/nse_printdep.cc b/make/src/nse_printdep.cc
+index 6201a18..38826d2 100644
+--- a/make/src/nse_printdep.cc
++++ b/make/src/nse_printdep.cc
+@@ -37,9 +37,12 @@
+ /*
+ * Included files
+ */
++#include <cstdio>
+ #include <mk/defs.h>
+ #include <mksh/misc.h> /* get_prop() */
+
++using std::printf;
++
+ /*
+ * File table of contents
+ */
+@@ -59,7 +62,6 @@ static void print_rule(register Name target);
+ static void print_rec_info(Name target);
+ static Boolean is_out_of_date(Property line);
+ extern void depvar_print_results (void);
+-extern int printf (const char *, ...);
+ extern int _flsbuf (unsigned int, FILE *);
+
+ /*
+diff --git a/make/vroot/lock.cc b/make/vroot/lock.cc
+index 1d6239b..1a20bc0 100644
+--- a/make/vroot/lock.cc
++++ b/make/vroot/lock.cc
+@@ -48,11 +48,6 @@
+ #include <signal.h>
+ #include <errno.h> /* errno */
+
+-#if defined(sun) || defined(HP_UX)
+-extern char *sys_errlist[];
+-extern int sys_nerr;
+-#endif
+-
+ static void file_lock_error(char *msg, char *file, char *str, int arg1, int arg2);
+
+ #define BLOCK_INTERUPTS sigfillset(&newset) ; \
+@@ -179,20 +174,6 @@ file_lock_error(char *msg, char *file, char *str, int arg1, int arg2)
+ len = strlen(msg);
+ sprintf(&msg[len], str, arg1, arg2);
+ strcat(msg, " failed - ");
+-#ifdef __sun
+- if (errno < sys_nerr) {
+-#ifdef SUN4_x
+- strcat(msg, sys_errlist[errno]);
+-#endif
+-#ifdef SUN5_0
+- strcat(msg, strerror(errno));
+-#endif
+- } else {
+- len = strlen(msg);
+- sprintf(&msg[len], NOCATGETS("errno %d"), errno);
+- }
+-#else
+ strcat(msg, strerror(errno));
+-#endif
+ }
+
+diff --git a/sccs/src/vc.c b/sccs/src/vc.c
+index d7f7187..1c0ffb1 100644
+--- a/sccs/src/vc.c
++++ b/sccs/src/vc.c
+@@ -37,6 +37,7 @@
+ */
+ /* from OpenSolaris "sccs:cmd/vc.c" */
+ # include <defines.h>
++# include <limits.h>
+ # include <locale.h>
+
+
diff --git a/sys-devel/heirloom-devtools/heirloom-devtools-070527-r1.ebuild b/sys-devel/heirloom-devtools/heirloom-devtools-070527-r1.ebuild
index 1ce4ed378ae3..a337a6025371 100644
--- a/sys-devel/heirloom-devtools/heirloom-devtools-070527-r1.ebuild
+++ b/sys-devel/heirloom-devtools/heirloom-devtools-070527-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/heirloom-devtools/heirloom-devtools-070527-r1.ebuild,v 1.1 2013/06/10 05:12:17 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/heirloom-devtools/heirloom-devtools-070527-r1.ebuild,v 1.2 2013/06/25 12:33:01 ryao Exp $
EAPI=4
@@ -12,7 +12,7 @@ SRC_URI="http://downloads.sourceforge.net/project/heirloom/${PN}/${PV}/${P}.tar.
LICENSE="BSD BSD-4 CDDL"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~x64-solaris"
IUSE=""
DEPEND="app-shells/heirloom-sh"
@@ -29,12 +29,16 @@ src_prepare() {
-e "s:^\(CFLAGS=\)\(.*\):\1${CFLAGS}:" \
-e 's:^\(STRIP=\)\(.*\):\1true:' \
-e "s:^\(CXX = \)\(.*\):\1$(tc-getCXX):" \
+ -e "s:^\(INSTALL=\)\(.*\):\1$(which install):" \
./mk.config
echo "CC=$(tc-getCC)" >> "./mk.config"
+ epatch "${FILESDIR}/${P}-solaris.patch"
epatch "${FILESDIR}/${P}-64-bit.patch"
+ epatch_user
+
}
src_compile() {
diff --git a/sys-devel/heirloom-devtools/heirloom-devtools-999999.ebuild b/sys-devel/heirloom-devtools/heirloom-devtools-999999.ebuild
index 5f61d716c1a2..0f62dacb6921 100644
--- a/sys-devel/heirloom-devtools/heirloom-devtools-999999.ebuild
+++ b/sys-devel/heirloom-devtools/heirloom-devtools-999999.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/heirloom-devtools/heirloom-devtools-999999.ebuild,v 1.3 2013/06/10 05:12:17 ryao Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/heirloom-devtools/heirloom-devtools-999999.ebuild,v 1.4 2013/06/25 12:33:01 ryao Exp $
EAPI=4
@@ -38,6 +38,7 @@ src_prepare() {
-e "s:^\(CFLAGS=\)\(.*\):\1${CFLAGS}:" \
-e 's:^\(STRIP=\)\(.*\):\1true:' \
-e "s:^\(CXX = \)\(.*\):\1$(tc-getCXX):" \
+ -e "s:^\(INSTALL=\)\(.*\):\1$(which install):" \
./mk.config
echo "CC=$(tc-getCC)" >> "./mk.config"