summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArmando Di Cianno <fafhrd@gentoo.org>2004-09-24 01:01:30 +0000
committerArmando Di Cianno <fafhrd@gentoo.org>2004-09-24 01:01:30 +0000
commit21a2dee1d7a73aa3619871284cf0f1c2a58a737a (patch)
tree45f518fbc36591961c9baa13305dc6d5cea2296b /eclass/gnustep.eclass
parent-hardened (diff)
downloadhistorical-21a2dee1d7a73aa3619871284cf0f1c2a58a737a.tar.gz
historical-21a2dee1d7a73aa3619871284cf0f1c2a58a737a.tar.bz2
historical-21a2dee1d7a73aa3619871284cf0f1c2a58a737a.zip
Major commit of many files relating to updated GNUstep ebuidlds
Diffstat (limited to 'eclass/gnustep.eclass')
-rw-r--r--eclass/gnustep.eclass261
1 files changed, 151 insertions, 110 deletions
diff --git a/eclass/gnustep.eclass b/eclass/gnustep.eclass
index ce4593b38944..a978a25c21dd 100644
--- a/eclass/gnustep.eclass
+++ b/eclass/gnustep.eclass
@@ -1,133 +1,119 @@
-# Copyright 1999-2004 Gentoo Foundation
+# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/gnustep.eclass,v 1.11 2004/08/06 21:35:36 fafhrd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/gnustep.eclass,v 1.12 2004/09/24 01:01:30 fafhrd Exp $
-ECLASS=gnustep-old
-INHERITED="$INHERITED $ECLASS"
-
-DESCRIPTION="Based on the gnustep eclass."
-
-DEPEND="gnustep-base/gnustep-make
- gnustep-base/gnustep-base
- sys-devel/gcc
- virtual/libc"
-RDEPEND="virtual/libc"
-
-getsourcedir() {
- if [ ! -d "${S}" ] ; then
- if [ -d "${WORKDIR}/${PN}" ] ; then
- S="${WORKDIR}/${PN}"
- elif [ -d "${WORKDIR}/${P}" ] ; then
- S="${WORKDIR}/${P}"
- else
- die "Cannot find source directory!"
- fi
- fi
-}
-
-need-gnustep-gui() {
- if [ "$1" ] ; then
- DEPEND="${DEPEND} >=gnustep-base/gnustep-gui-$1"
- RDEPEND="${RDEPEND} >=gnustep-base/gnustep-back-$1"
- else
- DEPEND="${DEPEND} gnustep-base/gnustep-gui"
- RDEPEND="${RDEPEND} gnustep-base/gnustep-back"
- fi
-}
-
-egnustepmake() {
- getsourcedir
-
- addwrite /root/GNUstep/Defaults/.GNUstepDefaults.lck
- addpredict /root/GNUstep
+inherit eutils flag-o-matic
- cd ${S}
+ECLASS=gnustep
+INHERITED="$INHERITED $ECLASS"
+DESCRIPTION="EClass designed to facilitate building GNUstep Apps, Frameworks, and Bundles on Gentoo."
+
+IUSE="debug"
+DOC_DEPEND="doc? ( =app-text/tetex-2.0.2*
+ =dev-tex/latex2html-2002*
+ =app-text/texi2html-1.64* )"
+GNUSTEP_CORE_DEPEND="virtual/glibc
+ >=sys-devel/gcc-3.0.4
+ ${DOC_DEPEND}"
+GNUSTEP_BASE_DEPEND="${GNUSTEP_CORE_DEPEND}
+ gnustep-base/gnustep-make
+ gnustep-base/gnustep-base"
+GNUSTEP_GUI_DEPEND="${GNUSTEP_BASE_DEPEND}
+ gnustep-base/gnustep-gui"
+GS_DEPEND="${GNUSTEP_GUI_DEPEND}"
+DEBUG_DEPEND="debug? >=sys-devel/gdb-6.0"
+DOC_RDEPEND="doc? ( sys-apps/man
+ =sys-apps/texinfo-4.6* )"
+GS_RDEPEND="${GS_DEPEND}
+ ${DEBUG_DEPEND}
+ ${DOC_RDEPEND}
+ virtual/gnustep-back
+ gnustep-base/gnustep-env"
+
+egnustep_env() {
if [ -f /usr/GNUstep/System/Makefiles/GNUstep.sh ] ; then
. /usr/GNUstep/System/Makefiles/GNUstep.sh
else
die "gnustep-make not installed!"
fi
+}
- mkdir -p $TMP/fakehome/GNUstep
-
- if [ -x configure ] ; then
- if [ -z "$*" ] ; then
- ./configure \
- HOME=$TMP/fakehome \
- GNUSTEP_USER_ROOT=$TMP/fakehome/GNUstep \
- || die "configure failed"
+egnustep_make() {
+ if [ -f ./[mM]akefile -o -f ./GNUmakefile ] ; then
+ if [ `use debug` ]; then
+ emake -j1 HOME=${TMP} \
+ GNUSTEP_USER_ROOT=${TMP}/GNUstep \
+ GNUSTEP_DEFAULTS_ROOT=${TMP}/GNUstep \
+ INSTALL_ROOT_DIR=${D} \
+ GNUSTEP_INSTALLATION_DIR=${D}${GNUSTEP_SYSTEM_ROOT} \
+ GNUSTEP_MAKEFILES=${GNUSTEP_SYSTEM_ROOT}/Library/Makefiles \
+ GNUSTEP_NETWORK_ROOT=${GNUSTEP_NETWORK_ROOT} \
+ GNUSTEP_LOCAL_ROOT=${GNUSTEP_LOCAL_ROOT} \
+ GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT} \
+ TAR_OPTIONS="${TAR_OPTIONS} --no-same-owner" \
+ debug=yes all || die "package make failed"
else
- ./configure \
- HOME=$TMP/fakehome \
- GNUSTEP_USER_ROOT=$TMP/fakehome/GNUstep \
- $* || die "configure failed (options: $*)"
- fi
- fi
-
- if [ "${GNUSTEPBACK_XFT}" != "2" ] ; then
- if [ "${PN}" = "gnustep-back" ] ; then
- if [ ! -f "/usr/X11R6/include/X11/Xft1/Xft.h" ]; then
- sed "s,^#define HAVE_XFT.*,#undef HAVE_XFT,g" config.h > config.h.new
- sed "s,^#define HAVE_UTF8.*,#undef HAVE_UTF8,g" config.h.new > config.h
- sed "s,^WITH_XFT=.*,WITH_XFT=no," config.make > config.make.new
- sed "s,-lXft,," config.make.new > config.make
- fi
+ emake -j1 HOME=${TMP} \
+ GNUSTEP_USER_ROOT=${TMP}/GNUstep \
+ GNUSTEP_DEFAULTS_ROOT=${TMP}/GNUstep \
+ INSTALL_ROOT_DIR=${D} \
+ GNUSTEP_INSTALLATION_DIR=${D}${GNUSTEP_SYSTEM_ROOT} \
+ GNUSTEP_MAKEFILES=${GNUSTEP_SYSTEM_ROOT}/Library/Makefiles \
+ GNUSTEP_NETWORK_ROOT=${GNUSTEP_NETWORK_ROOT} \
+ GNUSTEP_LOCAL_ROOT=${GNUSTEP_LOCAL_ROOT} \
+ GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT} \
+ TAR_OPTIONS="${TAR_OPTIONS} --no-same-owner" \
+ all || die "package make failed"
fi
- fi
-
- if [ -f ./[mM]akefile -o -f ./GNUmakefile ] ; then
- make \
- HOME=$TMP/fakehome \
- GNUSTEP_USER_ROOT=$TMP/fakehome/GNUstep \
- || die "emake failed"
else
die "no Makefile found"
fi
return 0
}
-egnustepinstall() {
- getsourcedir
-
- addwrite /root/GNUstep/Defaults/.GNUstepDefaults.lck
- addpredict /root/GNUstep
-
- cd ${S}
-
- if [ -f /usr/GNUstep/System/Makefiles/GNUstep.sh ] ; then
- source /usr/GNUstep/System/Makefiles/GNUstep.sh
- else
- die "gnustep-make not installed!"
- fi
+egnustep_package_config() {
+ if [ -f ${FILESDIR}/config-${PN}.sh ]; then
+ dodir /usr/GNUstep/System/Tools/Gentoo
+ exeinto /usr/GNUstep/System/Tools/Gentoo
+ doexe ${FILESDIR}/config-${PN}.sh
+ fi
+}
- mkdir -p $TMP/fakehome/GNUstep
+egnustep_package_config_info() {
+ if [ -f ${FILESDIR}/config-${PN}.sh ]; then
+ einfo "Make sure to set happy defaults for this package by executing:"
+ einfo " /usr/GNUstep/System/Tools/Gentoo/config-${PN}.sh"
+ einfo "as the user you will run the package as."
+ fi
+}
+egnustep_install() {
if [ -f ./[mM]akefile -o -f ./GNUmakefile ] ; then
- # To be or not to be evil?
- # Should all the roots point at GNUSTEP_SYSTEM_ROOT to force
- # install?
- # GNUSTEP_USER_ROOT must be GNUSTEP_SYSTEM_ROOT, some malformed
- # Makefiles install there.
- if [ "${PN}" = "gnustep-base" ] || [ "${PN}" = "gnustep-gui" ] || [ "${PN}" = "gnustep-back" ] ; then
- # for some reason, they need less tending to...
- make \
- GNUSTEP_USER_ROOT=$TMP/fakehome/GNUstep \
- HOME=$TMP/fakehome \
+ if [ `use debug` ]; then
+ emake -j1 HOME=${TMP} \
+ GNUSTEP_USER_ROOT=${TMP}/GNUstep \
+ GNUSTEP_DEFAULTS_ROOT=${TMP}/GNUstep \
+ INSTALL_ROOT_DIR=${D} \
GNUSTEP_INSTALLATION_DIR=${D}${GNUSTEP_SYSTEM_ROOT} \
+ GNUSTEP_MAKEFILES=${GNUSTEP_SYSTEM_ROOT}/Library/Makefiles \
+ GNUSTEP_NETWORK_ROOT=${GNUSTEP_NETWORK_ROOT} \
+ GNUSTEP_LOCAL_ROOT=${GNUSTEP_LOCAL_ROOT} \
+ GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT} \
+ TAR_OPTIONS="${TAR_OPTIONS} --no-same-owner" \
+ debug=yes install || die "package install failed"
+ else
+ emake -j1 HOME=${TMP} \
+ GNUSTEP_USER_ROOT=${TMP}/GNUstep \
+ GNUSTEP_DEFAULTS_ROOT=${TMP}/GNUstep \
INSTALL_ROOT_DIR=${D} \
- install || die "einstall failed"
- else
- make \
- GNUSTEP_USER_ROOT=$TMP/fakehome/GNUstep \
- HOME=$TMP/fakehome \
- GNUSTEP_INSTALLATION_DIR=${D}${GNUSTEP_SYSTEM_ROOT} \
- INSTALL_ROOT_DIR=${D} \
- GNUSTEP_LOCAL_ROOT=${D}${GNUSTEP_LOCAL_ROOT} \
- GNUSTEP_NETWORK_ROOT=${D}${GNUSTEP_NETWORK_ROOT} \
- GNUSTEP_SYSTEM_ROOT=${D}${GNUSTEP_SYSTEM_ROOT} \
- GNUSTEP_USER_ROOT=${D}${GNUSTEP_SYSTEM_ROOT} \
- install || die "einstall failed"
+ GNUSTEP_INSTALLATION_DIR=${D}${GNUSTEP_SYSTEM_ROOT} \
+ GNUSTEP_MAKEFILES=${GNUSTEP_SYSTEM_ROOT}/Library/Makefiles \
+ GNUSTEP_NETWORK_ROOT=${GNUSTEP_NETWORK_ROOT} \
+ GNUSTEP_LOCAL_ROOT=${GNUSTEP_LOCAL_ROOT} \
+ GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT} \
+ TAR_OPTIONS="${TAR_OPTIONS} --no-same-owner" \
+ install || die "package install failed"
fi
else
die "no Makefile found"
@@ -135,12 +121,67 @@ egnustepinstall() {
return 0
}
+egnustep_doc() {
+ if [ -d ./Documentation ] ; then
+ cd Documentation
+ make HOME=${TMP} \
+ GNUSTEP_USER_ROOT=${TMP}/GNUstep \
+ INSTALL_ROOT_DIR=${D} \
+ GNUSTEP_INSTALLATION_DIR=${D}${GNUSTEP_SYSTEM_ROOT} \
+ GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT} \
+ all || die "doc make failed"
+ make HOME=${TMP} \
+ GNUSTEP_USER_ROOT=${TMP}/GNUstep \
+ GNUSTEP_DEFAULTS_ROOT=${TMP}/GNUstep \
+ INSTALL_ROOT_DIR=${D} \
+ GNUSTEP_INSTALLATION_DIR=${D}${GNUSTEP_SYSTEM_ROOT} \
+ GNUSTEP_MAKEFILES=${GNUSTEP_SYSTEM_ROOT}/Library/Makefiles \
+ GNUSTEP_SYSTEM_ROOT=${GNUSTEP_SYSTEM_ROOT} \
+ TAR_OPTIONS="${TAR_OPTIONS} --no-same-owner" \
+ install || die "doc install failed"
+ cd ..
+ fi
+}
+
+gnustep_pkg_setup() {
+ if test_version_info 3.3
+ then
+ #einfo "Using gcc 3.3*"
+ # gcc 3.3 doesn't support certain 3.4.1 options,
+ # as well as having less specific -march options
+ replace-flags -march=pentium-m -march=pentium3
+ filter-flags -march=k8
+ filter-flags -march=athlon64
+ filter-flags -march=opteron
+ strip-unsupported-flags
+ elif test_version_info 3.4
+ then
+ einfo "Using gcc 3.4*"
+ fi
+}
+
+gnustep_src_unpack() {
+ unpack ${A}
+ cd ${S}
+}
+
gnustep_src_compile() {
- egnustepmake || die
+ egnustep_env
+ egnustep_make || die
}
gnustep_src_install() {
- egnustepinstall || die
+ egnustep_env
+ egnustep_install || die
+ if [ `use doc` ]; then
+ egnustep_env
+ egnustep_doc || die
+ fi
+ egnustep_package_config
+}
+
+gnustep_pkg_postinst() {
+ egnustep_package_config_info
}
-EXPORT_FUNCTIONS src_compile src_install
+EXPORT_FUNCTIONS pkg_setup src_unpack src_compile src_install pkg_postinst