ocaml: update to 5.2.0
This commit is contained in:
parent
e234d29055
commit
507491a8e7
@ -1,32 +0,0 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -13704,7 +13704,7 @@
|
||||
case $ocaml_cv_cc_vendor in #(
|
||||
gcc-[01234]-*) :
|
||||
as_fn_error $? "This version of MinGW-w64 GCC is too old. Please use GCC version 5 or above." "$LINENO" 5 ;; #(
|
||||
- gcc-*) :
|
||||
+ gcc-*|clang-*) :
|
||||
internal_cflags="-Wno-unused $cc_warnings \
|
||||
-fexcess-precision=standard"
|
||||
# TODO: see whether the code can be fixed to avoid -Wno-unused
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -721,7 +721,7 @@
|
||||
[gcc-[[01234]]-*],
|
||||
[AC_MSG_ERROR(m4_normalize([This version of MinGW-w64 GCC is too old.
|
||||
Please use GCC version 5 or above.]))],
|
||||
- [gcc-*],
|
||||
+ [gcc-*|clang-*],
|
||||
[internal_cflags="-Wno-unused $cc_warnings \
|
||||
-fexcess-precision=standard"
|
||||
# TODO: see whether the code can be fixed to avoid -Wno-unused
|
||||
--- a/Makefile.config.in
|
||||
+++ b/Makefile.config.in
|
||||
@@ -72,7 +72,6 @@
|
||||
LIBTOOL = $(TOP_BUILDDIR)/libtool
|
||||
|
||||
### Which C compiler to use
|
||||
-TOOLPREF=@ac_tool_prefix@
|
||||
CC=@CC@
|
||||
|
||||
CC_HAS_DEBUG_PREFIX_MAP=@cc_has_debug_prefix_map@
|
||||
@ -1,29 +0,0 @@
|
||||
--- a/flexdll/Makefile
|
||||
+++ b/flexdll/Makefile
|
||||
@@ -22,11 +22,11 @@
|
||||
COMPAT_VERSION:=$(subst $(SPACE),,$(firstword $(COMPAT_VERSION))$(foreach i,$(wordlist 2,$(words $(COMPAT_VERSION)),$(COMPAT_VERSION)),$(if $(filter 0 1 2 3 4 5 6 7 8 9,$(i)),0,)$(i)))
|
||||
endif
|
||||
|
||||
-MINGW_PREFIX = i686-w64-mingw32-
|
||||
-MINCC = $(MINGW_PREFIX)gcc
|
||||
+MINGW_PREFIX =
|
||||
+MINCC = $(MINGW_PREFIX)cc
|
||||
|
||||
-MINGW64_PREFIX = x86_64-w64-mingw32-
|
||||
-MIN64CC = $(MINGW64_PREFIX)gcc
|
||||
+MINGW64_PREFIX =
|
||||
+MIN64CC = $(MINGW64_PREFIX)cc
|
||||
|
||||
CYGWIN_PREFIX = i686-pc-cygwin-
|
||||
CYGCC = $(CYGWIN_PREFIX)gcc
|
||||
--- a/flexdll/reloc.ml
|
||||
+++ b/flexdll/reloc.ml
|
||||
@@ -1246,7 +1246,7 @@
|
||||
|
||||
let setup_toolchain () =
|
||||
let mingw_libs pre =
|
||||
- gcc := pre ^ "gcc";
|
||||
+ gcc := pre ^ "cc";
|
||||
objdump := pre ^ "objdump";
|
||||
let rec get_lib_search_dirs input =
|
||||
match input with
|
||||
@ -7,7 +7,7 @@ pkgbase=mingw-w64-${_realname}
|
||||
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
"${MINGW_PACKAGE_PREFIX}-${_realname}-compiler-libs"
|
||||
$( (( _bootstrap_flexdll )) && echo "${MINGW_PACKAGE_PREFIX}-flexdll-bootstrap"))
|
||||
pkgver=5.1.1
|
||||
pkgver=5.2.0
|
||||
pkgrel=1
|
||||
_flexdll_ver=0.43
|
||||
pkgdesc="An industrial strength programming language supporting functional, imperative and object-oriented styles (mingw-w64)"
|
||||
@ -23,17 +23,14 @@ license=('spdx:LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception')
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
|
||||
"${MINGW_PACKAGE_PREFIX}-autotools"
|
||||
"${MINGW_PACKAGE_PREFIX}-ncurses"
|
||||
"${MINGW_PACKAGE_PREFIX}-zstd"
|
||||
$( (( _bootstrap_flexdll )) || echo "${MINGW_PACKAGE_PREFIX}-flexdll"))
|
||||
source=("https://caml.inria.fr/distrib/ocaml-${pkgver%.*}/${_realname}-${pkgver}.tar.xz"
|
||||
"https://github.com/ocaml/flexdll/archive/${_flexdll_ver}/flexdll-${_flexdll_ver}.tar.gz"
|
||||
"0001-fix-misc-h.patch"
|
||||
"0002-support-clang.patch"
|
||||
"0003-support-clang-flexdll.patch")
|
||||
sha256sums=('8d7e98bfda3be940602b7a39dcf912a2d2fdeab791ed40e62a09a4cd67ddeef1'
|
||||
"0001-fix-misc-h.patch")
|
||||
sha256sums=('2f4bf479f51479f9bf8c7f1694a6ea7336bbf774f4ad6da6b59d1ad4939dd8a7'
|
||||
'10e171ab7d2f8b2f238b53bb9944d4b26686f5703fbc1c059532791bc91be949'
|
||||
'24d20cc5fc9c0f70e5c54c2378f0be612ae474425dd5918b321469fb887eb358'
|
||||
'c4b452cb6d07be87d8aaec27aba3d3521e50d428f85b88eaed8d5890210c010a'
|
||||
'e23aa7837df3db8d9a42cf4b399ed6faa3a816b530f2fcf66e0439b3ccb40027')
|
||||
'24d20cc5fc9c0f70e5c54c2378f0be612ae474425dd5918b321469fb887eb358')
|
||||
install=ocaml-${MSYSTEM}.install
|
||||
|
||||
apply_patch_with_msg() {
|
||||
@ -50,49 +47,10 @@ prepare() {
|
||||
#autoreconf -fiv
|
||||
|
||||
apply_patch_with_msg \
|
||||
0001-fix-misc-h.patch \
|
||||
0002-support-clang.patch
|
||||
|
||||
export _cc_ver=$(${CC} -dumpversion)
|
||||
if [[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]]; then
|
||||
export _cc_lib_dir=${MINGW_PREFIX}/lib/clang/${_cc_ver}/windows/
|
||||
else
|
||||
export _cc_lib_dir=${MINGW_PREFIX}/lib/gcc/${MINGW_CHOST}/${_cc_ver}/
|
||||
fi
|
||||
|
||||
#Necessary for ocaml to find ws2_32
|
||||
export SEDTEXT="s: FLEXLINK_CMD=\"../boot/ocamlruns\$(EXE) ../boot/flexlink.byte\$(EXE)\": FLEXLINK_CMD=\"../boot/ocamlruns\$(EXE) ../boot/flexlink.byte\$(EXE) -L${MINGW_PREFIX}/lib -L${_cc_lib_dir}\":g"
|
||||
sed -i "${SEDTEXT}" Makefile
|
||||
|
||||
SEDTEXT="s:CAMLOPT=\$(OCAMLRUN) ./ocamlopt\$(EXE) -g -nostdlib -I stdlib -I otherlibs/dynlink:CAMLOPT=\$(OCAMLRUN) ./ocamlopt\$(EXE) -g -nostdlib -I stdlib -I otherlibs/dynlink -cclib \"-L${MINGW_PREFIX}/lib -L${_cc_lib_dir}\":g"
|
||||
sed -i "${SEDTEXT}" Makefile
|
||||
|
||||
SEDTEXT="s:CAMLOPT_CMD = \$(FLEXLINK_ENV) \$(CAMLOPT):CAMLOPT_CMD = \$(FLEXLINK_ENV) \$(CAMLOPT) -cclib \"-L${MINGW_PREFIX}/lib -L${_cc_lib_dir}\":g"
|
||||
sed -i "${SEDTEXT}" Makefile.common
|
||||
|
||||
SEDTEXT="s:OCAMLOPT_CMD = \$(FLEXLINK_ENV) \$(OCAMLOPT):OCAMLOPT_CMD = \$(FLEXLINK_ENV) \$(OCAMLOPT) -cclib \"-L${MINGW_PREFIX}/lib -L${_cc_lib_dir}\":g"
|
||||
sed -i "${SEDTEXT}" Makefile.common
|
||||
|
||||
SEDTEXT="s:WIN32_LIBS=\$(call SYSLIB,ws2_32) \$(call SYSLIB,advapi32):WIN32_LIBS=\$(call SYSLIB,ws2_32) \$(call SYSLIB,advapi32) -L${MINGW_PREFIX}/lib -L${_cc_lib_dir}:g"
|
||||
sed -i "${SEDTEXT}" otherlibs/unix/Makefile
|
||||
|
||||
SEDTEXT="s:MKLIB=\$(OCAMLRUN) \$(ROOTDIR)/tools/ocamlmklib\$(EXE):MKLIB=\$(OCAMLRUN) \$(ROOTDIR)/tools/ocamlmklib\$(EXE) -L${MINGW_PREFIX}/lib -L${_cc_lib_dir}:g"
|
||||
sed -i "${SEDTEXT}" otherlibs/systhreads/Makefile
|
||||
|
||||
SEDTEXT="s:LDOPTS ?=:LDOPTS = -L${MINGW_PREFIX}/lib -L${_cc_lib_dir}:g"
|
||||
sed -i "${SEDTEXT}" otherlibs/Makefile.otherlibs.common
|
||||
|
||||
SEDTEXT="s:-safe-string -strict-sequence -strict-formats -bin-annot -principal:-safe-string -strict-sequence -strict-formats -bin-annot -principal -cclib \"-L${MINGW_PREFIX}/lib -L${_cc_lib_dir}\":g"
|
||||
sed -i "${SEDTEXT}" ocamldoc/Makefile
|
||||
0001-fix-misc-h.patch
|
||||
|
||||
if (( _bootstrap_flexdll )); then
|
||||
cp -r "${srcdir}/flexdll-${_flexdll_ver}/"* flexdll
|
||||
|
||||
apply_patch_with_msg \
|
||||
0003-support-clang-flexdll.patch
|
||||
|
||||
SEDTEXT="s:LINKFLAGS = -cclib \"-link \$(RES)\":LINKFLAGS = -cclib \"-link \$(RES) -L${MINGW_PREFIX}/lib -L${_cc_lib_dir}\":g"
|
||||
sed -i "${SEDTEXT}" flexdll/Makefile
|
||||
fi
|
||||
}
|
||||
|
||||
@ -100,8 +58,6 @@ build() {
|
||||
[[ -d "${srcdir}"/build-${MSYSTEM} ]] && rm -rf "${srcdir}"/build-${MSYSTEM}
|
||||
cp -r "${srcdir}/${_realname}-${pkgver}" "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM}
|
||||
|
||||
export LDFLAGS="-L${MINGW_PREFIX}/lib -L${_cc_lib_dir}"
|
||||
|
||||
declare -a _extra_config
|
||||
if (( _bootstrap_flexdll )); then
|
||||
_extra_config+=("--with-flexdll")
|
||||
@ -109,20 +65,14 @@ build() {
|
||||
|
||||
./configure \
|
||||
--prefix=${MINGW_PREFIX} \
|
||||
--host=${MINGW_CHOST} \
|
||||
--mandir=${MINGW_PREFIX}/share/man \
|
||||
"${_extra_config[@]}"
|
||||
|
||||
SEDTEXT="s:BYTECCLIBS=-lws2_32 -lversion:BYTECCLIBS=-L${MINGW_PREFIX}/lib -L${_cc_lib_dir} -lws2_32 -lversion:g"
|
||||
sed -i "${SEDTEXT}" Makefile.config
|
||||
|
||||
SEDTEXT="s:PTHREAD_LINK=:PTHREAD_LINK=-L${MINGW_PREFIX}/lib -L${_cc_lib_dir}:g"
|
||||
sed -i "${SEDTEXT}" Makefile.config
|
||||
|
||||
make world.opt
|
||||
}
|
||||
|
||||
package_ocaml() {
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-zstd")
|
||||
optdepends=("${MINGW_PACKAGE_PREFIX}-ncurses: advanced ncurses features"
|
||||
"${MINGW_PACKAGE_PREFIX}-tk: advanced tk features")
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user