From 4b53f633027c17f2ba12bcd2024206bdcca02c77 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Tue, 9 Aug 2022 23:38:56 +0000 Subject: [PATCH] added extra/ocaml --- extra/ocaml/PKGBUILD | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 extra/ocaml/PKGBUILD diff --git a/extra/ocaml/PKGBUILD b/extra/ocaml/PKGBUILD new file mode 100644 index 000000000..f2c1c5d7d --- /dev/null +++ b/extra/ocaml/PKGBUILD @@ -0,0 +1,61 @@ +# Maintainer: Jürgen Hötzel + +# ALARM: Kevin Mihelich +# - remove --enable-frame-pointers from configure, not supported on ARM + +pkgbase='ocaml' +pkgname=('ocaml' 'ocaml-compiler-libs') +pkgver=4.14.0 +pkgrel=1 +pkgdesc="A functional language with OO extensions" +arch=('x86_64') +license=('LGPL2.1' 'custom: QPL-1.0') +url="https://caml.inria.fr/" +makedepends=('ncurses>=5.6-7') +optdepends=('ncurses: advanced ncurses features' 'tk: advanced tk features') +source=(https://caml.inria.fr/distrib/ocaml-${pkgver%.*}/${pkgname}-${pkgver}.tar.xz) +sha512sums=('0fae5b8752ce900bc69f71ebdc82faa588272fd3dce6795aa03467e89e1e376f127a288221761e353191fb5941b563e183098c0c74b18374aa0ca1c8e0715e97') +options=('!makeflags' '!emptydirs' 'staticlibs') + + + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + CFLAGS+=' -ffat-lto-objects' + CXXFLAGS+=' -ffat-lto-objects' + ./configure --prefix /usr --mandir /usr/share/man --disable-force-safe-string + make --debug=v world.opt +} + +package_ocaml() { + cd "${srcdir}/${pkgbase}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # Save >10MB with this one, makepkg only strips debug symbols. + #find "${pkgdir}/usr/lib" -type f -name '*.so.*' -exec strip --strip-unneeded {} \; + + # install license + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" + + # remove compiler libs + rm -rf "${pkgdir}/usr/lib/ocaml/compiler-libs" +} + +package_ocaml-compiler-libs() { +pkgdesc="Several modules used internally by the OCaml compiler" +license=('custom: QPL-1.0') +depends=('ocaml') +optdepends=() + + cd "${srcdir}/${pkgbase}-${pkgver}" + make DESTDIR="${pkgdir}" install + # Remove non-compiler-libs + rm -rf "${pkgdir}/usr/bin" "${pkgdir}/usr/lib/ocaml/caml" \ + "${pkgdir}/usr/lib/ocaml/ocamldoc" "${pkgdir}/usr/lib/ocaml/stublibs" \ + "${pkgdir}/usr/lib/ocaml/threads" "${pkgdir}/usr/share" + find "${pkgdir}/usr/lib/ocaml/" -maxdepth 1 -type f -delete + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" +}