summaryrefslogtreecommitdiff
blob: 221bdd4cf2a63201dbdae163d6da5a3c07b2b1ec (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
# Copyright 1999-2003 Gentoo Technologies, Inc. and Tim Yamin [plasmaroo@gentoo.org]
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/prc-tools/prc-tools-2.2.ebuild,v 1.3 2003/11/16 12:01:56 plasmaroo Exp $

DESCRIPTION="GNU-Based Palm C++ Development Suite"

BIN_V="binutils-2.12.1"
GDB_V="gdb-5.3"
GCC_V="gcc-2.95.3"
PRC_X="prc-tools-20030213"

# A working patch from a non-working CVS snapshot is needed
# to get GDB to compile under Gentoo 1.2.x. See #23652...

SRC_URI="http://dl.sourceforge.net/sourceforge/prc-tools/${P}.tar.gz
	http://prc-tools.sourceforge.net/misc/${PRC_X}.tar.gz
	ftp://sources.redhat.com/pub/binutils/releases/${BIN_V}.tar.bz2
	ftp://sources.redhat.com/pub/gdb/old-releases/${GDB_V}.tar.bz2
	ftp://gcc.gnu.org/pub/gcc/releases/${GCC_V}/${GCC_V}.tar.bz2"

LICENSE="GPL-2"
KEYWORDS="x86"
SLOT=0

HOMEPAGE="http://prc-tools.sourceforge.net"
DEPEND=">=app-text/texi2html-1.64"
RDEPEND=""

S=${WORKDIR}/${P}

src_unpack () {
	 cd ${WORKDIR}
	 unpack ${A} || die

	 cd ${P}
	 ln -s ../${BIN_V} binutils
	 ln -s ../${GDB_V} gdb
	 ln -s ../${GCC_V} gcc
	 cd ..

	 echo ">>> Patching sources..."
	 echo -n " "; epatch ${P}/${BIN_V}.palmos.diff || die
	 echo -n " "; epatch ${PRC_X}/${GDB_V}.palmos.diff || die
	 echo -n " "; epatch ${P}/${GCC_V}.palmos.diff || die
	 echo -n " "; epatch ${FILESDIR}/prc-tools-2.2-compilefix.patch || die

		# This last patch disables dummy headers being copied.
			# a) They're not needed
			# b) This causes a sandboxing error
			# +) Keeps 'palmdev-prep' pointed at the
			#    right place while making the docs install
			#    script from not install them to real root /

}

src_config () {

	cd ..
	mkdir build
	cd build
	# mkdir empty

	echo ">>> Configuring..."
	echo

	# Remove any flags; because the cross-compiler (2.9.x GCC)
	# will not understand any of these optimizations {and will
	# fail} once the cross-compiler compiles the m68k/arm GCC suite

	export ALLOWED_FLAGS="-pipe -0 -01 -02"
	strip-flags

	../${P}/configure --enable-targets=m68k-palmos,arm-palmos \
	--enable-languages=c,c++ \
	--with-headers=${WORKDIR}/build/empty --enable-html-docs \
	--with-palmdev-prefix=/opt/palmdev --prefix=/usr || die

	# These have to be real; otherwise the compiler is hard-coded
	# and tries to find libraries in ${D}/....

	# palmdev-prefix also has to be real; otherwise 'palmdev-prep'
	# defaults to virtual ${D}/..

}

src_compile () {

	src_config
	make || die

}

src_install () {

	cd ..
	cd build
	einstall || die

}

pkg_postinst () {

	echo
	einfo "PRC-Tools is now compiled and installed!"
	einfo "<HTML docs are installed in /opt/palmdev>"
	echo
	einfo "For a complete Palm Development Environment you will also need..."
	echo
	einfo "[ ] PilRC; the Palm resource compiler; emerge pilrc"
	einfo "[ ] POSE; The Palm OS Emulator; emerge pose"
	echo  "   ->> A ROM for POSE; available from Palm"
	einfo "[ ] An SDK; available from the Palm Website"
	echo  "   ->> Decompress this to /opt/palmdev and then run"
	echo  "       'palmdev-prep /opt/palmdev'"
	echo

}