Gentoo Archives: gentoo-commits

From: "Ulrich Mueller (ulm)" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lang/ocaml: ChangeLog ocaml-3.10.0.ebuild ocaml-3.09.3-r2.ebuild
Date: Mon, 29 Oct 2007 14:52:58
Message-Id: E1ImVz2-0005lH-N5@stork.gentoo.org
1 ulm 07/10/29 14:52:52
2
3 Modified: ChangeLog ocaml-3.10.0.ebuild
4 Added: ocaml-3.09.3-r2.ebuild
5 Log:
6 Add app-emacs/ocaml-mode and app-xemacs/ocaml to PDEPEND, bug #43128.
7 (Portage version: 2.1.3.16)
8
9 Revision Changes Path
10 1.124 dev-lang/ocaml/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ChangeLog?rev=1.124&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ChangeLog?rev=1.124&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ChangeLog?r1=1.123&r2=1.124
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v
19 retrieving revision 1.123
20 retrieving revision 1.124
21 diff -u -r1.123 -r1.124
22 --- ChangeLog 15 Oct 2007 14:10:11 -0000 1.123
23 +++ ChangeLog 29 Oct 2007 14:52:52 -0000 1.124
24 @@ -1,6 +1,12 @@
25 # ChangeLog for dev-lang/ocaml
26 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.123 2007/10/15 14:10:11 corsair Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.124 2007/10/29 14:52:52 ulm Exp $
29 +
30 +*ocaml-3.09.3-r2 (29 Oct 2007)
31 +
32 + 29 Oct 2007; Ulrich Mueller <ulm@g.o> +ocaml-3.09.3-r2.ebuild,
33 + ocaml-3.10.0.ebuild:
34 + Add app-emacs/ocaml-mode and app-xemacs/ocaml to PDEPEND, bug #43128.
35
36 15 Oct 2007; Markus Rothe <corsair@g.o> ocaml-3.09.3-r1.ebuild:
37 Stable on ppc64
38
39
40
41 1.5 dev-lang/ocaml/ocaml-3.10.0.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ocaml-3.10.0.ebuild?rev=1.5&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ocaml-3.10.0.ebuild?rev=1.5&content-type=text/plain
45 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ocaml-3.10.0.ebuild?r1=1.4&r2=1.5
46
47 Index: ocaml-3.10.0.ebuild
48 ===================================================================
49 RCS file: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.10.0.ebuild,v
50 retrieving revision 1.4
51 retrieving revision 1.5
52 diff -u -r1.4 -r1.5
53 --- ocaml-3.10.0.ebuild 26 Jun 2007 01:51:25 -0000 1.4
54 +++ ocaml-3.10.0.ebuild 29 Oct 2007 14:52:52 -0000 1.5
55 @@ -1,6 +1,6 @@
56 # Copyright 1999-2007 Gentoo Foundation
57 # Distributed under the terms of the GNU General Public License v2
58 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.10.0.ebuild,v 1.4 2007/06/26 01:51:25 mr_bones_ Exp $
59 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.10.0.ebuild,v 1.5 2007/10/29 14:52:52 ulm Exp $
60
61 inherit flag-o-matic eutils multilib pax-utils versionator toolchain-funcs
62
63 @@ -11,13 +11,16 @@
64 LICENSE="QPL-1.0 LGPL-2"
65 SLOT="0"
66 KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
67 -IUSE="gdbm ncurses tk latex X"
68 +IUSE="emacs gdbm latex ncurses tk X xemacs"
69
70 DEPEND="tk? ( >=dev-lang/tk-3.3.3 )
71 ncurses? ( sys-libs/ncurses )
72 X? ( x11-libs/libX11 x11-proto/xproto )
73 gdbm? ( sys-libs/gdbm )"
74
75 +PDEPEND="emacs? ( app-emacs/ocaml-mode )
76 + xemacs? ( app-xemacs/ocaml )"
77 +
78 QA_EXECSTACK="/usr/lib/ocaml/compiler-*"
79
80 pkg_setup() {
81
82
83
84 1.1 dev-lang/ocaml/ocaml-3.09.3-r2.ebuild
85
86 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ocaml-3.09.3-r2.ebuild?rev=1.1&view=markup
87 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ocaml/ocaml-3.09.3-r2.ebuild?rev=1.1&content-type=text/plain
88
89 Index: ocaml-3.09.3-r2.ebuild
90 ===================================================================
91 # Copyright 1999-2007 Gentoo Foundation
92 # Distributed under the terms of the GNU General Public License v2
93 # $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.09.3-r2.ebuild,v 1.1 2007/10/29 14:52:52 ulm Exp $
94
95 inherit flag-o-matic eutils multilib pax-utils versionator toolchain-funcs
96
97 DESCRIPTION="fast modern type-inferring functional programming language descended from the ML (Meta Language) family"
98 HOMEPAGE="http://www.ocaml.org/"
99 SRC_URI="http://caml.inria.fr/distrib/ocaml-$( get_version_component_range 1-2 )/${P}.tar.bz2"
100
101 LICENSE="QPL-1.0 LGPL-2"
102 SLOT="0"
103 KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
104 IUSE="emacs gdbm latex ncurses tk X xemacs"
105
106 DEPEND="tk? ( >=dev-lang/tk-3.3.3 )
107 ncurses? ( sys-libs/ncurses )
108 X? ( x11-libs/libX11 x11-proto/xproto )
109 gdbm? ( sys-libs/gdbm )"
110
111 PDEPEND="emacs? ( app-emacs/ocaml-mode )
112 xemacs? ( app-xemacs/ocaml )"
113
114 # ocaml deletes the *.opt files when running make bootstrap
115
116 QA_EXECSTACK="/usr/lib/ocaml/compiler-*"
117
118 pkg_setup() {
119 # dev-lang/ocaml fails with -fPIC errors due to a "relocation R_X86_64_32S" on AMD64/hardened
120 if use amd64 && gcc-specs-pie ; then
121 echo
122 eerror "${CATEGORY}/${PF} is currently broken on this platform with specfiles injecting -PIE."
123 eerror "Please switch to your \"${CHOST}-$(gcc-fullversion)-hardenednopie\" specfile via gcc-config!"
124 die "Current specfile (${CHOST}-$(gcc-fullversion)) not supported by ${PF}!"
125 fi
126 }
127
128 src_unpack() {
129 unpack ${A}
130 cd "${S}"
131
132 # Fix the EXEC_STACK in ocaml compiled binaries (#153382)
133 epatch "${FILESDIR}"/${P}-exec-stack-fixes.patch
134
135 # Quick and somewhat dirty fix for bug #110541
136 epatch "${FILESDIR}"/${P}-execheap.patch
137
138 # The configure script doesn't inherit previous defined variables,
139 # overwriting previous declarations of bytecccompopts, bytecclinkopts,
140 # nativecccompopts and nativecclinkopts. Reported upstream as issue 0004267.
141 epatch "${FILESDIR}"/${P}-configure.patch
142
143 # The sed in the Makefile doesn't replace all occurences of @compiler@
144 # in driver/ocamlcomp.sh.in. Reported upstream as issue 0004268.
145 epatch "${FILESDIR}"/${P}-Makefile.patch
146
147 # ocaml has automagics on libX11 and gdbm
148 # http://caml.inria.fr/mantis/view.php?id=4278
149 epatch "${FILESDIR}/${P}-automagic.patch"
150
151 # Call ld with proper flags, different from gcc ones
152 # This happens when calling ocamlc -pack
153 # See comment in the patch
154 epatch "${FILESDIR}/${P}-call_ld_with_proper_flags.patch"
155
156 # Ocaml native code generation for hppa has a bug
157 # See comments in the patch
158 # http://bugs.gentoo.org/show_bug.cgi?id=178256
159 use hppa && epatch "${FILESDIR}/${P}-hppa-optimize-for-size-ocamlp4.patch"
160
161 # Change the configure script to add the CFLAGS to bytecccompopts, LDFLAGS
162 # to bytecclinkopts.
163 sed -i -e "s,bytecccompopts=\"\",bytecccompopts=\"\${CFLAGS}\"," \
164 -e "s,bytecclinkopts=\"\",bytecclinkopts=\"\${LDFLAGS}\"," \
165 "${S}"/configure
166 }
167
168 src_compile() {
169 local myconf="--host ${CHOST}"
170
171 # dev-lang/ocaml tends to break/give unexpected results with "unsafe" CFLAGS.
172 strip-flags
173 replace-flags "-O?" -O2
174
175 # It doesn't compile on alpha without this LDFLAGS
176 use alpha && append-ldflags "-Wl,--no-relax"
177
178 use tk || myconf="${myconf} -no-tk"
179 use ncurses || myconf="${myconf} -no-curses"
180 use X || myconf="${myconf} -no-graph"
181 use gdbm || myconf="${myconf} -no-dbm"
182
183 # ocaml uses a home-brewn configure script, preventing it to use econf.
184 ./configure -prefix /usr \
185 --bindir /usr/bin \
186 --libdir /usr/$(get_libdir)/ocaml \
187 --mandir /usr/share/man \
188 --with-pthread ${myconf} || die "configure failed!"
189
190 make world || die "make world failed!"
191
192 # Native code generation is unsupported on some archs
193 if ! use ppc64 ; then
194 make opt || die "make opt failed!"
195 make opt.opt || die "make opt.opt failed!"
196 fi
197 }
198
199 src_install() {
200 make BINDIR="${D}"/usr/bin \
201 LIBDIR="${D}"/usr/$(get_libdir)/ocaml \
202 MANDIR="${D}"/usr/share/man \
203 install || die "make install failed!"
204
205 # Install the compiler libs
206 dodir /usr/$(get_libdir)/ocaml/compiler-libs
207 insinto /usr/$(get_libdir)/ocaml/compiler-libs
208 doins {utils,typing,parsing}/*.{mli,cmi,cmo,cmx,o}
209
210 # Symlink the headers to the right place
211 dodir /usr/include
212 dosym /usr/$(get_libdir)/ocaml/caml /usr/include/
213
214 # Remove ${D} from ld.conf, as the buildsystem isn't $(DESTDIR) aware
215 dosed "s:${D}::g" /usr/$(get_libdir)/ocaml/ld.conf
216
217 dodoc Changes INSTALL LICENSE README Upgrading
218
219 # Turn MPROTECT off for some of the ocaml binaries, since they are trying to
220 # rewrite the segment (which will obviously fail on systems having
221 # PAX_MPROTECT enabled).
222 pax-mark -m "${D}"/usr/bin/ocamldoc.opt "${D}"/usr/bin/ocamldep.opt \
223 "${D}"/usr/bin/ocamllex.opt "${D}"/usr/bin/camlp4r.opt \
224 "${D}"/usr/bin/camlp4o.opt
225
226 # Create and envd entry for latex input files (this definitely belongs into
227 # CONTENT and not in pkg_postinst.
228 if use latex ; then
229 echo "TEXINPUTS=/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc
230 doenvd "${T}"/99ocamldoc
231 fi
232
233 # Install ocaml-rebuild.sh script rather than keeping it in $PORTDIR
234 dosbin "${FILESDIR}/ocaml-rebuild.sh"
235 }
236
237 pkg_postinst() {
238 if use amd64 && gcc-specs-ssp ; then
239 ewarn
240 ewarn "Make sure, you switch back to the default specfile ${CHOST}-$(gcc-fullversion) via gcc-config!"
241 ewarn
242 fi
243
244 echo
245 elog "OCaml is not binary compatible from version to version, so you (may)"
246 elog "need to rebuild all packages depending on it, that are actually"
247 elog "installed on your system. To do so, you can run:"
248 elog "/usr/sbin/ocaml-rebuild.sh [-h | emerge options]"
249 elog "Which will call emerge on all old packages with the given options"
250 echo
251 }
252
253
254
255 --
256 gentoo-commits@g.o mailing list