summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2007-08-13 17:19:36 +0000
committerFabian Groffen <grobian@gentoo.org>2007-08-13 17:19:36 +0000
commit0d1b5e27f95195541fb9c9d1747c1cf3ac477859 (patch)
tree2d61f14f717d1b2374d6365dd7f1359c1bdc3a8e
parentadd gnustep-apps/azbackground (diff)
downloadprefix-0d1b5e27f95195541fb9c9d1747c1cf3ac477859.tar.gz
prefix-0d1b5e27f95195541fb9c9d1747c1cf3ac477859.tar.bz2
prefix-0d1b5e27f95195541fb9c9d1747c1cf3ac477859.zip
Merge from overlay, and sed out stupid includes from GNUmakefiles (test)
svn path=/prefix-overlay/; revision=261
-rw-r--r--eclass/gnustep-2.eclass2
-rw-r--r--eclass/gnustep-base.eclass84
2 files changed, 52 insertions, 34 deletions
diff --git a/eclass/gnustep-2.eclass b/eclass/gnustep-2.eclass
index 8d9562b..4abf863 100644
--- a/eclass/gnustep-2.eclass
+++ b/eclass/gnustep-2.eclass
@@ -5,6 +5,8 @@
inherit gnustep-base
# Eclass for GNUstep Apps, Frameworks, and Bundles build
+#
+# maintainer: GNUstep Herd <gnustep@gentoo.org>
DEPEND=">=gnustep-base/gnustep-make-2.0
virtual/gnustep-back"
diff --git a/eclass/gnustep-base.eclass b/eclass/gnustep-base.eclass
index 3acb0e3..398bf8b 100644
--- a/eclass/gnustep-base.eclass
+++ b/eclass/gnustep-base.eclass
@@ -4,7 +4,10 @@
inherit eutils flag-o-matic
-# Inner gnustep eclass, should only be inherited directly by gnustep-base packages
+# Inner gnustep eclass, should only be inherited directly by gnustep-base
+# packages
+#
+# maintainer: GNUstep Herd <gnustep@gentoo.org>
# IUSE variables across all GNUstep packages
# "debug": enable code for debugging
@@ -13,20 +16,19 @@ IUSE="debug doc"
# packages needed to build any base gnustep package
GNUSTEP_CORE_DEPEND="virtual/libc
- doc? ( virtual/tetex
- =dev-tex/latex2html-2002*
- >=app-text/texi2html-1.64 )"
+ doc? ( virtual/tetex =dev-tex/latex2html-2002* >=app-text/texi2html-1.64 )"
# Where to install GNUstep
GNUSTEP_PREFIX="${EPREFIX}/usr/GNUstep"
+# GNUstep environment array
+typeset -a GS_ENV
+
# Ebuild function overrides
gnustep-base_pkg_setup() {
- if test_version_info 3.3
- then
+ if test_version_info 3.3 ; then
strip-unsupported-flags
- elif test_version_info 3.4
- then
+ elif test_version_info 3.4 ; then
# strict-aliasing is known to break obj-c stuff in gcc-3.4*
filter-flags -fstrict-aliasing
fi
@@ -35,9 +37,24 @@ gnustep-base_pkg_setup() {
filter-flags -fomit-frame-pointer
}
+gnustep-base_src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ if [[ -f ./GNUmakefile ]] ; then
+ # kill stupid includes that are simply overdone or useless on normal
+ # Gentoo, but (may) cause major headaches on Prefixed Gentoo
+ sed -i \
+ -e 's|-I/usr/X11R6/include||g' \
+ -e 's|-L/usr/X11R6/lib||g' \
+ -e 's|-L/usr/lib||g' \
+ GNUmakefile
+ fi
+}
+
gnustep-base_src_compile() {
egnustep_env
- if [ -x ./configure ]; then
+ if [[ -x ./configure ]] ; then
econf || die "configure failed"
fi
egnustep_make
@@ -51,16 +68,16 @@ gnustep-base_src_install() {
egnustep_doc
fi
# Copies "convenience scripts"
- if [ -f "${FILESDIR}/config-${PN}.sh" ]; then
+ if [[ -f ${FILESDIR}/config-${PN}.sh ]] ; then
dodir ${GNUSTEP_SYSTEM_TOOLS#${EPREFIX}}/Gentoo
exeinto ${GNUSTEP_SYSTEM_TOOLS#${EPREFIX}}/Gentoo
- doexe "${FILESDIR}/config-${PN}.sh"
+ doexe "${FILESDIR}"/config-${PN}.sh
fi
}
gnustep-base_pkg_postinst() {
# Informs user about existence of "convenience script"
- if [ -f "${FILESDIR}/config-${PN}.sh" ]; then
+ if [[ -f ${FILESDIR}/config-${PN}.sh ]] ; then
elog "Make sure to set happy defaults for this package by executing:"
elog " ${GNUSTEP_SYSTEM_TOOLS}/Gentoo/config-${PN}.sh"
elog "as the user you will run the package as."
@@ -72,10 +89,10 @@ egnustep_env() {
# Get additional variables
GNUSTEP_SH_EXPORT_ALL_VARIABLES="true"
- if [ -f "${GNUSTEP_PREFIX}/System/Library/Makefiles/GNUstep.sh" ] ; then
+ if [[ -f ${GNUSTEP_PREFIX}/System/Library/Makefiles/GNUstep.sh ]] ; then
# Reset GNUstep variables
- . ${GNUSTEP_PREFIX}/System/Library/Makefiles/GNUstep-reset.sh
- . ${GNUSTEP_PREFIX}/System/Library/Makefiles/GNUstep.sh
+ source "${GNUSTEP_PREFIX}"/System/Library/Makefiles/GNUstep-reset.sh
+ source "${GNUSTEP_PREFIX}"/System/Library/Makefiles/GNUstep.sh
# Needed to run installed GNUstep apps in sandbox
addpredict "/root/GNUstep"
@@ -94,20 +111,19 @@ egnustep_env() {
esac
# Set up env vars for make operations
- __GS_MAKE_EVAL=" \
- AUXILIARY_LDFLAGS=\"\${LDFLAGS}\" \
- HOME=\"\${T}\" \
- GNUSTEP_USER_DIR=\"\${T}\" \
- GNUSTEP_USER_DEFAULTS_DIR=\"\${T}\"/Defaults \
- DESTDIR=\"\${D}\" \
+ GS_ENV=( AUXILIARY_LDFLAGS="${LDFLAGS}" \
+ DESTDIR="${D}" \
+ HOME="${T}" \
+ GNUSTEP_USER_DIR="${T}" \
+ GNUSTEP_USER_DEFAULTS_DIR="${T}"/Defaults \
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
- TAR_OPTIONS=\"\${TAR_OPTIONS} --no-same-owner\" \
+ TAR_OPTIONS="${TAR_OPTIONS} --no-same-owner" \
messages=yes \
- -j1"
+ -j1 )
# -j1 is needed as gnustep-make is not parallel-safe
if ! use debug ; then
- __GS_MAKE_EVAL="${__GS_MAKE_EVAL} debug=no"
+ GS_ENV=( "${GS_ENV[@]}" "debug=no" )
fi
return 0
@@ -117,8 +133,8 @@ egnustep_env() {
# Make utilizing GNUstep Makefiles
egnustep_make() {
- if [ -f ./[mM]akefile -o -f ./GNUmakefile ] ; then
- eval emake ${*} ${__GS_MAKE_EVAL} all || die "package make failed"
+ if [[ -f ./[mM]akefile || -f ./GNUmakefile ]] ; then
+ emake ${*} "${GS_ENV[@]}" all || die "package make failed"
return 0
fi
die "no Makefile found"
@@ -127,9 +143,9 @@ egnustep_make() {
# Make-install utilizing GNUstep Makefiles
egnustep_install() {
# avoid problems due to our "weird" prefix, make sure it exists
- mkdir -p "${D}${GNUSTEP_SYSTEM_TOOLS}"
- if [ -f ./[mM]akefile -o -f ./GNUmakefile ] ; then
- eval emake ${*} ${__GS_MAKE_EVAL} install || die "package install failed"
+ mkdir -p "${D}"${GNUSTEP_SYSTEM_TOOLS}
+ if [[ -f ./[mM]akefile || -f ./GNUmakefile ]] ; then
+ emake ${*} "${GS_ENV[@]}" install || die "package install failed"
return 0
fi
die "no Makefile found"
@@ -137,12 +153,12 @@ egnustep_install() {
# Make and install docs using GNUstep Makefiles
egnustep_doc() {
- if [ -d ./Documentation ]; then
+ if [[ -d ./Documentation ]] ; then
# Check documentation presence
- cd "${S}/Documentation"
- if [ -f ./[mM]akefile -o -f ./GNUmakefile ] ; then
- eval emake ${__GS_MAKE_EVAL} all || die "doc make failed"
- eval emake ${__GS_MAKE_EVAL} install || die "doc install failed"
+ cd "${S}"/Documentation
+ if [[ -f ./[mM]akefile || -f ./GNUmakefile ]] ; then
+ emake "${GS_ENV[@]}" all || die "doc make failed"
+ emake "${GS_ENV[@]}" install || die "doc install failed"
fi
cd ..
fi