mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-lang/ocaml: add 5.4.0
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
This commit is contained in:
@@ -2,3 +2,4 @@ DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B bdc503d9a8d0e39dd11060febcd0287657b460e
|
||||
DIST ocaml-4.13.1.tar.gz 5323203 BLAKE2B f1dcb1601ebfa2a37351e3a466a7ca601518c2da403b01aeb182738a54d5887523ab554d747d6591cb09b07b417865e20907f7877117b2d2d069ef6c9edc0fae SHA512 da3434177438c852da53c0fda7bc2519adcda6384d97d45e44137ed0fd384ffb3da61958a7b51296edb3f88f5a5310ca71b6862f6d756aaa4012d1f54e5955f6
|
||||
DIST ocaml-4.14.2.tar.gz 5505119 BLAKE2B 518c2a69ee32e1c141b574a9800a64efc445381eb2808985b5dbb9d5ec54228aa25042a1c410307c3556488ba12a751980396b0d9a01e60a1ea84ac5b52e6dd6 SHA512 61bfa7961aae02458210f10865a5703f7a50a9be2452379e820cf2dfac2c6037da553c31835145e50a776880bdeb2ec78cd7a3147d65f418e7b3e593534e8a04
|
||||
DIST ocaml-5.3.0.tar.gz 6239856 BLAKE2B a790293d14a31d34b10f2fac22a416e967c2a06f64001b54665e691a6aecdb71caf60dd6217460257f8d18191551ffa01d0d3d62327c6eb9bc63c254c162752e SHA512 73817ada340bdf4091b3edd7b292bd0074c87b4836f202f48ecf0f620a00feaa70ebc9101b97155e8caa6907646dfdf21eff728fa0e14542df3b5e5436229d06
|
||||
DIST ocaml-5.4.0.tar.gz 6448449 BLAKE2B 88a055ac07a7ce126b71d8a242e63b68689bb637f40f0adc08e8f0be28961f7d7a6b3a2a673a137726f5100d4a032b6bba7424b168b283553e859f1bf868b482 SHA512 3684468800f4528c9fd96ef3fdd6aa04f71b77180d3ae8045d429f96b32e23cb3a8a307762c7237b6c56c087f45b59b0dab672a31166e3de254bb0fb9b4eb588
|
||||
|
||||
114
dev-lang/ocaml/ocaml-5.4.0.ebuild
Normal file
114
dev-lang/ocaml/ocaml-5.4.0.ebuild
Normal file
@@ -0,0 +1,114 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic
|
||||
|
||||
DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles"
|
||||
HOMEPAGE="https://ocaml.org/"
|
||||
SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="QPL-1.0 LGPL-2"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="emacs flambda latex +ocamlopt test xemacs"
|
||||
|
||||
RDEPEND="sys-libs/binutils-libs:=
|
||||
!dev-ml/findlib:0/0"
|
||||
BDEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
PDEPEND="emacs? ( app-emacs/ocaml-mode )
|
||||
xemacs? ( app-xemacs/ocaml )"
|
||||
|
||||
QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs'
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
cp "${FILESDIR}"/ocaml.conf "${T}" || die
|
||||
|
||||
# OCaml generates textrels on 32-bit arches
|
||||
# We can't do anything about it, but disabling it means that tests
|
||||
# for OCaml-based packages won't fail on unexpected output
|
||||
# bug #773226
|
||||
if use arm || use ppc || use x86 ; then
|
||||
append-ldflags "-Wl,-z,notext"
|
||||
fi
|
||||
|
||||
# Upstream build ignores LDFLAGS in several places.
|
||||
sed -i -e 's/\(^MKDLL=.*\)/\1 $(LDFLAGS)/' \
|
||||
-e 's/\(^OC_CFLAGS=.*\)/\1 $(LDFLAGS)/' \
|
||||
-e 's/\(^OC_LDFLAGS=.*\)/\1 $(LDFLAGS)/' \
|
||||
Makefile.config.in || die "LDFLAGS fix failed"
|
||||
|
||||
# drop failing test (domain_count < nproc)
|
||||
rm testsuite/tests/parallel/recommended_domain_count_unix.ml || die
|
||||
|
||||
# test is not working
|
||||
rm testsuite/tests/native-debugger/linux-gdb-amd64.ml || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
filter-lto #bug 870349
|
||||
local opt=(
|
||||
--bindir="${EPREFIX}/usr/bin"
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)/ocaml"
|
||||
--mandir="${EPREFIX}/usr/share/man"
|
||||
--prefix="${EPREFIX}/usr"
|
||||
$(use_enable test ocamltest) \
|
||||
$(use_enable flambda)
|
||||
)
|
||||
|
||||
econf "${opt[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
env -u P emake world
|
||||
|
||||
if use ocamlopt ; then
|
||||
env -u P emake opt
|
||||
env -u P emake opt.opt
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j
|
||||
|
||||
# OCaml tests only work when run sequentially
|
||||
if use ocamlopt ; then
|
||||
emake -j1 ocamltest.opt
|
||||
else
|
||||
emake -j1 ocamltest
|
||||
#ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests."
|
||||
fi
|
||||
|
||||
emake -j1 tests
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# OCaml generates textrels on 32-bit arches
|
||||
if use arm || use ppc || use x86 ; then
|
||||
export QA_TEXTRELS='.*'
|
||||
fi
|
||||
default
|
||||
|
||||
dodir /usr/include
|
||||
# Create symlink for header files
|
||||
dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml
|
||||
dodoc Changes README.adoc
|
||||
|
||||
# Create envd entry for latex input files
|
||||
if use latex ; then
|
||||
echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}"/99ocamldoc || die
|
||||
doenvd "${T}"/99ocamldoc
|
||||
fi
|
||||
|
||||
sed -i -e "s:lib:$(get_libdir):" "${T}"/ocaml.conf || die
|
||||
|
||||
# Install ocaml-rebuild portage set
|
||||
insinto /usr/share/portage/config/sets
|
||||
doins "${T}"/ocaml.conf
|
||||
}
|
||||
Reference in New Issue
Block a user