diff options
author | Alfredo Tupone <tupone@gentoo.org> | 2021-02-17 07:58:06 +0100 |
---|---|---|
committer | Alfredo Tupone <tupone@gentoo.org> | 2021-02-17 07:58:06 +0100 |
commit | a3e8774a6625fae44f96745e0f5c42bf39b96940 (patch) | |
tree | 014967982bf836390f1db2a1f2db258358f4702c /dev-lang | |
parent | mail-mta/postfix: bump to 3.6_pre20210215 (diff) | |
download | gentoo-a3e8774a6625fae44f96745e0f5c42bf39b96940.tar.gz gentoo-a3e8774a6625fae44f96745e0f5c42bf39b96940.tar.bz2 gentoo-a3e8774a6625fae44f96745e0f5c42bf39b96940.zip |
dev-lang/ocaml: migrate to EAPI 7
Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/ocaml/ocaml-4.05.0-r1.ebuild | 130 | ||||
-rw-r--r-- | dev-lang/ocaml/ocaml-4.05.0-r3.ebuild (renamed from dev-lang/ocaml/ocaml-4.05.0-r2.ebuild) | 31 |
2 files changed, 17 insertions, 144 deletions
diff --git a/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild deleted file mode 100644 index f1e64c43cdab..000000000000 --- a/dev-lang/ocaml/ocaml-4.05.0-r1.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -inherit flag-o-matic eutils multilib versionator toolchain-funcs - -PATCHLEVEL="9" -MY_P="${P/_/-}" -DESCRIPTION="Type-inferring functional programming language descended from the ML family" -HOMEPAGE="https://ocaml.org" -SRC_URI="https://github.com/ocaml/ocaml/archive/${PV/_/+}.tar.gz -> ${MY_P}.tar.gz - mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2" - -LICENSE="QPL-1.0 LGPL-2" -# Everytime ocaml is updated to a new version, everything ocaml must be rebuilt, -# so here we go with the subslot. -SLOT="0/${PV}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" -IUSE="emacs flambda latex ncurses +ocamlopt spacetime X xemacs" - -RDEPEND=" - sys-libs/binutils-libs:= - ncurses? ( sys-libs/ncurses:0= ) - spacetime? ( sys-libs/libunwind:= ) - X? ( x11-libs/libX11 )" -DEPEND="${RDEPEND} - virtual/pkgconfig" - -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_prepare() { - EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" - epatch "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512 -} - -src_configure() { - 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 - - # -ggdb3 & co makes it behave weirdly, breaks sexplib - replace-flags -ggdb* -ggdb - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - use ncurses || myconf="${myconf} -no-curses" - use X || myconf="${myconf} -no-graph" - use flambda && myconf="${myconf} -flambda" - use spacetime && myconf="${myconf} -spacetime" - - # ocaml uses a home-brewn configure script, preventing it to use econf. - RAW_LDFLAGS="$(raw-ldflags)" ./configure \ - --prefix "${EPREFIX}"/usr \ - --bindir "${EPREFIX}"/usr/bin \ - --target-bindir "${EPREFIX}"/usr/bin \ - --libdir "${EPREFIX}"/usr/$(get_libdir)/ocaml \ - --mandir "${EPREFIX}"/usr/share/man \ - -target "${CHOST}" \ - -host "${CBUILD}" \ - -cc "$(tc-getCC)" \ - -as "$(tc-getAS)" \ - -aspp "$(tc-getCC) -c" \ - -partialld "$(tc-getLD) -r" \ - --with-pthread ${myconf} || die "configure failed!" - - # http://caml.inria.fr/mantis/view.php?id=4698 - export CCLINKFLAGS="${LDFLAGS}" -} - -src_compile() { - emake world - - # Native code generation can be disabled now - if use ocamlopt ; then - # bug #279968 - emake opt - emake -j1 opt.opt - fi -} - -src_test() { - if use ocamlopt ; then - emake -j1 tests - else - ewarn "${PN} testsuite requires ocamlopt useflag" - fi -} - -src_install() { - emake BINDIR="${ED}"/usr/bin \ - LIBDIR="${ED}"/usr/$(get_libdir)/ocaml \ - MANDIR="${ED}"/usr/share/man \ - install - - # Symlink the headers to the right place - dodir /usr/include - dosym /usr/$(get_libdir)/ocaml/caml /usr/include/caml - - dodoc Changes README.adoc - - # Create and envd entry for latex input files - if use latex ; then - echo "TEXINPUTS=${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc - doenvd "${T}"/99ocamldoc - fi - - # Install ocaml-rebuild portage set - insinto /usr/share/portage/config/sets - doins "${FILESDIR}/ocaml.conf" -} diff --git a/dev-lang/ocaml/ocaml-4.05.0-r2.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r3.ebuild index dc6ca02c535e..ecf884d0ff1a 100644 --- a/dev-lang/ocaml/ocaml-4.05.0-r2.ebuild +++ b/dev-lang/ocaml/ocaml-4.05.0-r3.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="5" +EAPI=7 -inherit flag-o-matic eutils multilib versionator toolchain-funcs +inherit flag-o-matic eutils multilib toolchain-funcs PATCHLEVEL="9" MY_P="${P/_/-}" @@ -25,13 +25,18 @@ RDEPEND=" spacetime? ( sys-libs/libunwind:= ) X? ( x11-libs/libX11 ) !dev-ml/num" -DEPEND="${RDEPEND} +BDEPEND="${RDEPEND} virtual/pkgconfig" - PDEPEND="emacs? ( app-emacs/ocaml-mode ) xemacs? ( app-xemacs/ocaml )" S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512 + "${FILESDIR}"/${P}-gcc10.patch +) + 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 @@ -45,8 +50,8 @@ pkg_setup() { src_prepare() { EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" - epatch "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512 - epatch "${FILESDIR}"/${P}-gcc10.patch + default + } src_configure() { @@ -104,7 +109,7 @@ src_test() { if use ocamlopt ; then emake -j1 tests else - ewarn "${PN} testsuite requires ocamlopt useflag" + ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests." fi } @@ -116,16 +121,14 @@ src_install() { # Symlink the headers to the right place dodir /usr/include - dosym /usr/$(get_libdir)/ocaml/caml /usr/include/caml - + # Create symlink for header files + dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml dodoc Changes README.adoc - - # Create and envd entry for latex input files + # Create envd entry for latex input files if use latex ; then - echo "TEXINPUTS=${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc - doenvd "${T}"/99ocamldoc + echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}/99ocamldoc" + doenvd "${T}/99ocamldoc" fi - # Install ocaml-rebuild portage set insinto /usr/share/portage/config/sets doins "${FILESDIR}/ocaml.conf" |