summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2010-06-17 08:41:53 +0000
committerAlexis Ballier <aballier@gentoo.org>2010-06-17 08:41:53 +0000
commitf864abf200f519ede0dcbcc15f7ccfe9980576f6 (patch)
tree4d5f2ee9e711fd53aecfc2ab195a85636a183e80 /dev-lang/ocaml
parentmask ocaml 3.12 beta (diff)
downloadhistorical-f864abf200f519ede0dcbcc15f7ccfe9980576f6.tar.gz
historical-f864abf200f519ede0dcbcc15f7ccfe9980576f6.tar.bz2
historical-f864abf200f519ede0dcbcc15f7ccfe9980576f6.zip
Add the first beta of ocaml 3.12
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'dev-lang/ocaml')
-rw-r--r--dev-lang/ocaml/ChangeLog8
-rw-r--r--dev-lang/ocaml/Manifest15
-rw-r--r--dev-lang/ocaml/ocaml-3.12.0_beta1.ebuild130
3 files changed, 151 insertions, 2 deletions
diff --git a/dev-lang/ocaml/ChangeLog b/dev-lang/ocaml/ChangeLog
index 3101ede9e7b1..a7c952673886 100644
--- a/dev-lang/ocaml/ChangeLog
+++ b/dev-lang/ocaml/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-lang/ocaml
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.177 2010/04/19 17:43:17 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.178 2010/06/17 08:41:53 aballier Exp $
+
+*ocaml-3.12.0_beta1 (17 Jun 2010)
+
+ 17 Jun 2010; Alexis Ballier <aballier@gentoo.org>
+ +ocaml-3.12.0_beta1.ebuild:
+ Add the first beta of ocaml 3.12
19 Apr 2010; Raúl Porcel <armin76@gentoo.org> ocaml-3.10.2.ebuild,
ocaml-3.11.2.ebuild:
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest
index 536a4889ebdc..3f15710907b3 100644
--- a/dev-lang/ocaml/Manifest
+++ b/dev-lang/ocaml/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX ocaml-3.10.0-automagic.patch 1849 RMD160 6986c47d9d2d9bdaf246f3399ccc59a5751fe86d SHA1 d999c1023c5aa07316d8405fde6ebf3a1bcb2b9f SHA256 f959da02f8b31f3d1ad5b76426d493b50c87dc3a6241204470866a321ece40f9
AUX ocaml-3.10.0-call-ld-with-proper-ldflags.patch 1497 RMD160 7eef667019e79f2877836f77a31466f9d301725b SHA1 36d95fb8b05e7bbff8e5f49a8f1faec5f11f0c78 SHA256 13d6cc7401c8374327e438517975fe9abf1b99030bb3243f2adb91d12570bc8d
AUX ocaml-3.10.0-configure.patch 5644 RMD160 1a63847a6e632f59fef8ff448b96bc45da15eae5 SHA1 6a030e48dd5fc399b985dd99e21b6c0e6b95a12e SHA256 f42e11db2d184532aa561b0b117f7ce5850bb50981ea997d08eee34f826360ac
@@ -6,8 +9,18 @@ AUX ocaml-3.10.2-tk85.patch 2414 RMD160 1b8dc94de1c90264684a300f5f31ffce02e94cec
AUX ocaml-rebuild.sh 1055 RMD160 a75f61820cfdc262912cc5af1241779bf900d4d7 SHA1 a673a51e05d6103863061109c4d5956ca6efdf2b SHA256 446aab21ab2d757d37666c28a634f5d0da5f690f2694354d77cdb73b202a37ae
DIST ocaml-3.10.2.tar.bz2 2284860 RMD160 f631230b090dbd9bf9a9f71631cd0347c033cbb1 SHA1 f604580bf2943891d8faf265eeb900bbe90abce0 SHA256 3755a32da1a7490d47fff7838c12c754d3fcfe69d7c9ff2358704259dc477c58
DIST ocaml-3.11.2.tar.bz2 2346284 RMD160 a407e579b7fa134fc8126c5c5b544dd60cedecb1 SHA1 59053ce0078da2367f4ce61da886d22c6e86a46d SHA256 86f3387a0d7e7c8be2a3c53af083a5a726e333686208d5ea0dd6bb5ac3f58143
+DIST ocaml-3.12.0+beta1.tar.bz2 2638054 RMD160 b13543abd207706f0ee993300de4d98890e7b0f2 SHA1 adcd484d6ce73b6749d4285e1bd5a34a5da283ef SHA256 b45eb54e926f521609614ddeabd1d66b1bc01fb66c4c0a344304241769dfbeac
DIST ocaml-patches-1.tar.bz2 3108 RMD160 ad56f8be4b15347794f3167be82124fcdbf6f6dc SHA1 542ae4c2b1515730fe0c9050b6658106ef69ad19 SHA256 ad1c252cba7cc50f70d19049fcd78aa359672e436ab9906424548229a04afa49
+DIST ocaml-patches-2.tar.bz2 3405 RMD160 4f15296ce431864d3578176de553bf2a8dd5086a SHA1 4739b5e6c4507a9417327743789991176698559d SHA256 4d056122b6923b7fd2cc1168cb2d747e649da1f009a37667c82c8e7a20e4b6ac
EBUILD ocaml-3.10.2.ebuild 4594 RMD160 067c0320111323441eba032a996e53dcaedad9d0 SHA1 db6936e27e2937e79b73a52cce926c8d60052c25 SHA256 188f4b1af35af6ca6979e22b56c76a67cb9e250411fec722c747861e9111c755
EBUILD ocaml-3.11.2.ebuild 4133 RMD160 e115e5f527b547898efc8ee26fbcf57777c29342 SHA1 c4276c47468216600fa5b5dfcb0bbac97d650655 SHA256 d95dad71a6052762ef50223623eb5a81ba465af961c506c750a586341429b84f
-MISC ChangeLog 27962 RMD160 bba7558a7fcb935d981ab99db2cd8f97a39c281f SHA1 ec6320505af104eb0db53b7555271f77a856af4e SHA256 e794d14f94af10d28fead1ae24da8d481b57fb6417a9bab55cdd2a8d77468cfe
+EBUILD ocaml-3.12.0_beta1.ebuild 4140 RMD160 8416c1c5216004ebb5dbe09da079a2c172f87677 SHA1 3f912491dbe69a18424be61c788cf7f6365d5cfe SHA256 299942eb7ac569f0e20f5157e487b12bc40c02c72590fb30b4609b0cb1a356d5
+MISC ChangeLog 28116 RMD160 db0523dd2af83d9868dc6f46c14e5045fee7356f SHA1 a919b39b53c5eca9f935743b982deedbd2081765 SHA256 4352f6c175e14c46b45cbc84ad57ab7a4118315a3822f6bc17eaf7ab23e82257
MISC metadata.xml 155 RMD160 dfaa057e679b01302a807c75a32a910098b26809 SHA1 94024f83dcacbb53e92be090dd0f994ec93dc90d SHA256 118048376ebb76f57628b0819f3de4856e73959c2578c88715d37ea2d1e0af81
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.15 (GNU/Linux)
+
+iEYEARECAAYFAkwZ39cACgkQvFcC4BYPU0rEbACfU7mbPoI7bnaXGgQeQUP8kipR
+S/0An16IRLnD4382pFPE9RMmbN7rdyO2
+=tPoo
+-----END PGP SIGNATURE-----
diff --git a/dev-lang/ocaml/ocaml-3.12.0_beta1.ebuild b/dev-lang/ocaml/ocaml-3.12.0_beta1.ebuild
new file mode 100644
index 000000000000..ff48d9959fa9
--- /dev/null
+++ b/dev-lang/ocaml/ocaml-3.12.0_beta1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.12.0_beta1.ebuild,v 1.1 2010/06/17 08:41:53 aballier Exp $
+
+EAPI="1"
+
+inherit flag-o-matic eutils multilib versionator toolchain-funcs
+
+PATCHLEVEL="2"
+MY_P="${P/_/+}"
+DESCRIPTION="Fast modern type-inferring functional programming language descended from the ML family"
+HOMEPAGE="http://www.ocaml.org/"
+SRC_URI="ftp://ftp.inria.fr/INRIA/Projects/cristal/ocaml/ocaml-$(get_version_component_range 1-2)/${MY_P}.tar.bz2
+ mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2"
+
+LICENSE="QPL-1.0 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="emacs gdbm latex ncurses +ocamlopt tk X xemacs"
+
+DEPEND="tk? ( >=dev-lang/tk-3.3.3 )
+ ncurses? ( sys-libs/ncurses )
+ X? ( x11-libs/libX11 x11-proto/xproto )
+ gdbm? ( sys-libs/gdbm )"
+RDEPEND="${DEPEND}"
+
+PDEPEND="emacs? ( app-emacs/ocaml-mode )
+ xemacs? ( app-xemacs/ocaml )"
+
+S="${WORKDIR}/${MY_P}"
+pkg_setup() {
+ # dev-lang/ocaml creates its own objects but calls gcc for linking, which will
+ # results in relocations if gcc wants to create a PIE executable
+ if gcc-specs-pie ; then
+ append-ldflags -nopie
+ ewarn "Ocaml generates its own native asm, you're using a PIE compiler"
+ ewarn "We have appended -nopie to ocaml build options"
+ ewarn "because linking an executable with pie while the objects are not pic will not work"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
+}
+
+src_compile() {
+ export LC_ALL=C
+ local myconf=""
+
+ # Causes build failures because it builds some programs with -pg,
+ # bug #270920
+ filter-flags -fomit-frame-pointer
+ # Bug #285993
+ filter-mfpmath sse
+
+ # It doesn't compile on alpha without this LDFLAGS
+ use alpha && append-ldflags "-Wl,--no-relax"
+ # Fails to build on arm if >O0 is used
+ use arm && replace-flags "-O?" -O0
+
+ use tk || myconf="${myconf} -no-tk"
+ use ncurses || myconf="${myconf} -no-curses"
+ use X || myconf="${myconf} -no-graph"
+ use gdbm || myconf="${myconf} -no-dbm"
+
+ # ocaml uses a home-brewn configure script, preventing it to use econf.
+ RAW_LDFLAGS="$(raw-ldflags)" ./configure -prefix /usr \
+ --bindir /usr/bin \
+ --libdir /usr/$(get_libdir)/ocaml \
+ --mandir /usr/share/man \
+ -host "${CHOST}" \
+ -cc "$(tc-getCC)" \
+ -as "$(tc-getAS)" \
+ -aspp "$(tc-getCC) -c" \
+ -partialld "$(tc-getLD) -r" \
+ --with-pthread ${myconf} || die "configure failed!"
+
+ emake -j1 world || die "make world failed!"
+
+ # Native code generation can be disabled now
+ if use ocamlopt ; then
+ # bug #279968
+ emake -j1 opt || die "make opt failed!"
+ emake -j1 opt.opt || die "make opt.opt failed!"
+ fi
+}
+
+src_install() {
+ make BINDIR="${D}"/usr/bin \
+ LIBDIR="${D}"/usr/$(get_libdir)/ocaml \
+ MANDIR="${D}"/usr/share/man \
+ install || die "make install failed!"
+
+ # Install the compiler libs
+ dodir /usr/$(get_libdir)/ocaml/compiler-libs
+ insinto /usr/$(get_libdir)/ocaml/compiler-libs
+ doins {utils,typing,parsing}/*.{mli,cmi,cmo}
+ use ocamlopt && doins {utils,typing,parsing}/*.{cmx,o}
+
+ # Symlink the headers to the right place
+ dodir /usr/include
+ dosym /usr/$(get_libdir)/ocaml/caml /usr/include/
+
+ # Remove ${D} from ld.conf, as the buildsystem isn't $(DESTDIR) aware
+ dosed "s:${D}::g" /usr/$(get_libdir)/ocaml/ld.conf
+
+ dodoc Changes INSTALL README Upgrading
+
+ # Create and envd entry for latex input files (this definitely belongs into
+ # CONTENT and not in pkg_postinst.
+ if use latex ; then
+ echo "TEXINPUTS=/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc
+ doenvd "${T}"/99ocamldoc
+ fi
+
+ # Install ocaml-rebuild.sh script rather than keeping it in $PORTDIR
+ dosbin "${FILESDIR}/ocaml-rebuild.sh"
+}
+
+pkg_postinst() {
+ echo
+ ewarn "OCaml is not binary compatible from version to version, so you"
+ ewarn "need to rebuild all packages depending on it, that are actually"
+ ewarn "installed on your system. To do so, you can run:"
+ ewarn "/usr/sbin/ocaml-rebuild.sh [-h | emerge options]"
+ ewarn "Which will call emerge on all old packages with the given options"
+ echo
+}