summaryrefslogtreecommitdiff
blob: 5bae3bb0ea89fef4a9a8d5847baa336f3d93cebd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Copyright 1999-2000 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# Author Dan Armak <danarmak@gentoo.org>
# $Header: /var/cvsroot/gentoo-x86/eclass/kde.eclass,v 1.55 2002/08/26 10:07:10 danarmak Exp $
# The kde eclass is inherited by all kde-* eclasses. Few ebuilds inherit straight from here.
inherit base kde-functions
ECLASS=kde
INHERITED="$INHERITED $ECLASS"

# is this a kde-base ebuid?
case $PN in
	kde-i18n*|arts|kdeaddons|kdeadmin|kdeartwork|kdebase|kdebindings|kdeedu|kdegames|kdegraphics|kdelibs|kdenetwork|kdepim|kdesdk|kdetoys|kdeutils)
		
		debug-print "$ECLASS: KDEBASE ebuild recognized"
	
		export KDEBASE="true"
		
		# fixups for certain versions
		case $PV in
			3.1_alpha1)	export S="$WORKDIR/$PN-3.0.6" ;;
			3.1_beta1)	export S="$WORKDIR/$PN-3.0.7" ;;
		esac

	    ;;
esac

newdepend /autotools
newdepend "~kde-base/kde-env-3"

DESCRIPTION="Based on the $ECLASS eclass"
HOMEPAGE="http://www.kde.org/"

# overridden in other places like kde-dist, kde-source and individual ebuilds
SLOT="0"

kde_src_compile() {

    debug-print-function $FUNCNAME $*
    [ -z "$1" ] && kde_src_compile all
    
    cd ${S}

    while [ "$1" ]; do

	case $1 in
		myconf)
			debug-print-section myconf
			myconf="$myconf --host=${CHOST} --prefix=${PREFIX} --with-x --enable-mitshm --with-xinerama --with-qt-dir=${QTDIR}"
			# calculate dependencies separately from compiling, enables ccache to work on kde compiles
			myconf="$myconf --disable-dependency-tracking"
			use qtmt 	&& myconf="$myconf --enable-mt"
			[ -n "$DEBUG" ] && myconf="$myconf --enable-debug=full --with-debug"	|| myconf="$myconf --disable-debug --without-debug"
			debug-print "$FUNCNAME: myconf: set to ${myconf}"
			;;
		configure)
			debug-print-section configure
			debug-print "$FUNCNAME::configure: myconf=$myconf"

			# fix the infamous kde-widget problem group and other stuff
			# by getting a new admin/ dir
			if [ -d "$WORKDIR/admin-new" ]; then
			
			    cd $S/admin
			    patch -p0 < $WORKDIR/admin-new/*
			    # stop make from regenerating stuff
			    touch -t 199001010000 acinclude.m4.in
			    cd $S
			    
			    # regenerate configure
			    rm -f configure configure.in config.h.in *.m4
			    
			fi

			# This can happen with e.g. a cvs snapshot			
			if [ ! -f "./configure" ]; then
			    for x in Makefile.cvs admin/Makefile.common; do
				if [ -f "$x" ] && [ -z "$makefile" ]; then makefile="$x"; fi
			    done
			    debug-print "$FUNCNAME: configure: generating configure script, running make -f $makefile"
			    make -f $makefile
			    [ -f "./configure" ] || die "no configure script found, generation unsuccessful"
			fi

			export PATH="${KDEDIR}/bin:${PATH}"
			
			cd $S
			./configure ${myconf} || die "died running ./configure, $FUNCNAME:configure"
			;;
		make)
			export PATH="${KDEDIR}/bin:${PATH}"
			debug-print-section make
			emake || die "died running emake, $FUNCNAME:make"
			;;
		all)
			debug-print-section all
			kde_src_compile myconf configure make
			;;
	esac

    shift
    done

}

kde_src_install() {

	debug-print-function $FUNCNAME $*
	[ -z "$1" ] && kde_src_install all

	cd ${S}

	while [ "$1" ]; do

		case $1 in
			make)
				debug-print-section make
				make install DESTDIR=${D} destdir=${D} || die "died running make install, $FUNCNAME:make"
				;;
	    	dodoc)
				debug-print-section dodoc
				dodoc AUTHORS ChangeLog README* COPYING NEWS TODO
				;;
	    	all)
				debug-print-section all
				kde_src_install make dodoc
				;;
		esac

	shift
	done

}

EXPORT_FUNCTIONS src_compile src_install