/[gentoo-alt]/trunk/prefix/eclass/gnustep.eclass
Gentoo

Contents of /trunk/prefix/eclass/gnustep.eclass

Parent Directory Parent Directory | Revision Log Revision Log


Revision 982 - (show annotations) (download)
Thu Feb 2 04:20:17 2006 UTC (13 years, 2 months ago) by kito
File size: 4382 byte(s)
Initial eclass import from gentoo-x86
1 # Copyright 1999-2004 Gentoo Technologies, Inc.
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/eclass/gnustep.eclass,v 1.32 2005/07/11 15:08:06 swegener Exp $
4
5 inherit gnustep-funcs eutils flag-o-matic
6
7 DESCRIPTION="EClass designed to facilitate building GNUstep Apps, Frameworks, and Bundles on Gentoo."
8
9 ###########################################################################
10 # IUSE variables across all GNUstep packages
11 # ##### All GNUstep applications / libs get these
12 # "debug" - enable code for debugging; also nostrip
13 # "profile" - enable code for profiling; also nostrip
14 # "verbose" - enable "normal / noisy" compiling from eclass
15 # ##### Set the next USE flags ***per ebuild*** in IUSE, ***not here***
16 # "doc" - set in ebuild that inherits to enable doc specific code in eclass
17 IUSE="debug profile verbose"
18 if use debug || use profile; then
19 RESTRICT="nostrip"
20 fi
21 ###########################################################################
22
23 ###########################################################################
24 # Internal variables
25 #__GS_INSTALL_DOMAIN="GNUSTEP_SYSTEM_ROOT"
26 #__GS_USER_ROOT_SUFFIX="/"
27 #__GS_MAKE_EVAL=""
28 #__GS_PREFIX="/usr/GNUstep"
29 #__GS_SYSTEM_ROOT="/usr/GNUstep/System"
30 #__GS_LOCAL_ROOT="/usr/GNUstep/Local"
31 #__GS_NETWORK_ROOT="/usr/GNUstep/Network"
32 #__GS_USER_ROOT="~/GNUstep"
33 ###########################################################################
34
35 ###########################################################################
36 # Variables
37 # ---------
38 # ~ legend
39 # (a) - append more data if needed
40 # (n) - do not override without a good reason
41 # (y) - override as appropriate per ebuild
42 # Build general GNUstep ebuild depends here
43 # - most .app should be set up this way:
44 # + (a) DEPEND="${GS_DEPEND} other/depend ..."
45 # + (a) RDEPEND="${GS_RDEPEND} other/rdepend ..."
46 # - core libraries and other packages that need to
47 # specialize more can use:
48 # + (n) DOC_DEPEND - packages needed to build docs
49 # + (n) GNUSTEP_CORE_DEPEND - packages needed to build any gnustep package
50 # + (n) GNUSTEP_BASE_DEPEND - packages needed to build gnustep CLI only apps
51 # + (n) GNUSTEP_GUI_DEPEND - packages needed to build gnustep GUI apps
52 # + (n) DEBUG_DEPEND - packages needed to utilize .debug apps
53 # + (n) DOC_RDEPEND - packages needed to view docs
54 ###########################################################################
55 DOC_DEPEND="doc? ( virtual/tetex
56 =dev-tex/latex2html-2002*
57 >=app-text/texi2html-1.64 )"
58 GNUSTEP_CORE_DEPEND="virtual/libc
59 >=sys-devel/gcc-3.3.5
60 ${DOC_DEPEND}"
61 ##########################################
62 # Armando Di Cianno <fafhrd@gentoo.org>
63 # 20050414 - Removing use of the next two entries from all dependent ebuilds;
64 # they were doing bad things to dependencies
65 GNUSTEP_BASE_DEPEND="${GNUSTEP_CORE_DEPEND}
66 gnustep-base/gnustep-make
67 gnustep-base/gnustep-base"
68 GNUSTEP_GUI_DEPEND="${GNUSTEP_BASE_DEPEND}
69 gnustep-base/gnustep-gui"
70 ##########################################
71 GS_DEPEND="gnustep-base/gnustep-env"
72 DEBUG_DEPEND="debug? ( >=sys-devel/gdb-6.0 )"
73 DOC_RDEPEND="doc? ( sys-apps/man
74 >=sys-apps/texinfo-4.6 )"
75 GS_RDEPEND="${GS_DEPEND}
76 ${DEBUG_DEPEND}
77 ${DOC_RDEPEND}"
78 ###########################################################################
79
80 ###########################################################################
81 # Ebuild function overrides
82 # -------------------------
83 gnustep_pkg_setup() {
84 if test_version_info 3.3
85 then
86 #einfo "Using gcc 3.3*"
87 # gcc 3.3 doesn't support certain 3.4.1 options,
88 # as well as having less specific -march options
89 replace-flags -march=pentium-m -march=pentium3
90 filter-flags -march=k8
91 filter-flags -march=athlon64
92 filter-flags -march=opteron
93
94 strip-unsupported-flags
95 elif test_version_info 3.4
96 then
97 # strict-aliasing is known to break obj-c stuff in gcc-3.4*
98 filter-flags -fstrict-aliasing
99 fi
100
101 # known to break ObjC (bug 86089)
102 filter-flags -fomit-frame-pointer
103 }
104
105 gnustep_src_compile() {
106 egnustep_env
107 egnustep_make || die
108 }
109
110 gnustep_src_install() {
111 egnustep_env
112 egnustep_install || die
113 if use doc ; then
114 egnustep_env
115 egnustep_doc || die
116 fi
117 egnustep_package_config
118 }
119
120 gnustep_pkg_postinst() {
121 egnustep_package_config_info
122 }
123 ###########################################################################
124
125 EXPORT_FUNCTIONS pkg_setup src_compile src_install pkg_postinst

  ViewVC Help
Powered by ViewVC 1.1.20