commit 53cc774affa0335bb35f8466f99dd51e55c1164a Author: Adrian Schröter Date: Wed Jun 7 08:16:17 2023 +0200 Sync from SUSE:ALP:Source:Standard:1.0 ocaml revision 1d2061c1d31cadb88c3bf70ad28e770c diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/_service b/_service new file mode 100644 index 0000000..25442c0 --- /dev/null +++ b/_service @@ -0,0 +1,17 @@ + + + ocaml + 99cb5d93fc30f1a6f3e69f5aa5d2063994d33a93 + git + disable + https://github.com/ocaml/ocaml.git + @PARENT_TAG@ + [v]?([^-+a-z]+)(.*) + \1 + + + *.tar + xz + + + diff --git a/ocaml-4.14.1.tar.xz b/ocaml-4.14.1.tar.xz new file mode 100644 index 0000000..522fafc --- /dev/null +++ b/ocaml-4.14.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b113350605c3c98cf9b7e9e73f2ce53193490008f906204eab9a7c02d50ad66d +size 3788548 diff --git a/ocaml-configure-Allow-user-defined-C-compiler-flags.patch b/ocaml-configure-Allow-user-defined-C-compiler-flags.patch new file mode 100644 index 0000000..489edd8 --- /dev/null +++ b/ocaml-configure-Allow-user-defined-C-compiler-flags.patch @@ -0,0 +1,20 @@ +From: "Richard W.M. Jones" +Date: Tue, 29 May 2012 20:44:18 +0100 +Subject: configure: Allow user defined C compiler flags. + +--- + configure | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/configure.ac ++++ b/configure.ac +@@ -1936,6 +1936,9 @@ AS_IF([test x"$DEFAULT_STRING" = "xunsaf + [default_safe_string=false], + [default_safe_string=true]) + ++# Store user defined global C Compiler flags ++common_cflags="$common_cflags $EXTRA_CFLAGS" ++ + oc_cflags="$common_cflags $internal_cflags" + oc_cppflags="$common_cppflags $internal_cppflags" + ocamlc_cflags="$common_cflags $sharedlib_cflags \$(CFLAGS)" diff --git a/ocaml-rpmlintrc b/ocaml-rpmlintrc new file mode 100644 index 0000000..47340c5 --- /dev/null +++ b/ocaml-rpmlintrc @@ -0,0 +1 @@ +addFilter("ocaml-ocamldoc.* devel-file-in-non-devel-package") diff --git a/ocaml.changes b/ocaml.changes new file mode 100644 index 0000000..ab8e08c --- /dev/null +++ b/ocaml.changes @@ -0,0 +1,865 @@ +------------------------------------------------------------------- +Sun Jan 1 01:01:01 UTC 2023 - ohering@suse.de + +- update to version 4.14.1 + See included Changes for benefits and breaking changes + +------------------------------------------------------------------- +Thu Jul 7 07:07:07 UTC 2022 - ohering@suse.de + +- remove directory= statements from ocamldoc and compiler-libs META files + +------------------------------------------------------------------- +Mon Apr 4 04:04:04 UTC 2022 - ohering@suse.de + +- update to version 4.14.0 + See included Changes for benefits and breaking changes + +------------------------------------------------------------------- +Mon Oct 4 12:34:56 UTC 2021 - ohering@suse.de + +- update to version 4.13.1 + See included Changes for benefits and breaking changes + +------------------------------------------------------------------- +Fri Sep 24 13:13:13 UTC 2021 - ohering@suse.de + +- update to version 4.13.0 + See included Changes for benefits and breaking changes +- remove ocaml-SIGSTKSZ.patch +- adjust ocaml-configure-Allow-user-defined-C-compiler-flags.patch + +------------------------------------------------------------------- +Fri Sep 24 08:08:08 UTC 2021 - ohering@suse.de + +- update to version 4.12.1 + See included Changes for benefits and breaking changes + +------------------------------------------------------------------- +Wed Apr 21 12:34:56 UTC 2021 - ohering@suse.de + +- Remove ocaml_native_compiler conditional + build native target unconditionally +- Require versioned gcc package + +------------------------------------------------------------------- +Tue Apr 13 13:13:13 UTC 2021 - ohering@suse.de + +- update to version 4.12.0 + See included Changes for benefits and breaking changes +- Add ocaml-SIGSTKSZ.patch (#10266) + +------------------------------------------------------------------- +Fri Apr 9 09:09:09 UTC 2021 - ohering@suse.de + +- Use bcond suse_ocaml_use_rpm_license_macro for license in filelist +- Add suse prefix to ocaml_native_compiler to avoid conflict + +------------------------------------------------------------------- +Fri Feb 26 12:34:56 UTC 2021 - ohering@suse.de + +- update to version 4.11.2 + See included Changes for benefits and breaking changes + +------------------------------------------------------------------- +Thu Nov 26 08:54:10 UTC 2020 - Martin Liška + +- Rename rpmlintrc to ocaml-rpmlintrc + (boo#1179051). + +------------------------------------------------------------------- +Tue Sep 1 12:34:56 UTC 2020 - ohering@suse.de + +- update to version 4.11.1 + See included Changes for benefits and breaking changes + +------------------------------------------------------------------- +Thu Aug 20 20:20:20 UTC 2020 - ohering@suse.de + +- update to version 4.11.0 + See included Changes for benefits and breaking changes + +------------------------------------------------------------------- +Thu May 14 14:14:14 UTC 2020 - ohering@suse.de + +- The filename for rpm *.attr files and the tag used within these + files must match. Otherwise rpm will not execute the helper scripts. + Use helper 'suseocaml' in addition to 'ocaml' to avoid + filename conflicts with rpm-build.rpm (bsc#1154874) + +------------------------------------------------------------------- +Sun Apr 12 12:12:12 UTC 2020 - ohering@suse.de + +- Fix floating point expectation on arm32 hardfloat targets + by overriding rpm host triple with config.guess output (ocaml#9431) + +------------------------------------------------------------------- +Wed Apr 8 16:16:16 UTC 2020 - ohering@suse.de + +- Fix typo in ocaml-configure-Allow-user-defined-C-compiler-flags.patch + +------------------------------------------------------------------- +Sat Mar 21 12:34:56 UTC 2020 - ohering@suse.de + +- Disable parallel build to get reproducible cma archives (issue#9307) + +------------------------------------------------------------------- +Sat Feb 29 20:20:20 UTC 2020 - ohering@suse.de + +- update to version 4.10.0, with _service file (bsc#1149330) + See included Changes for benefits and breaking changes +- Drop x11 sub package, moved to ocaml-graphics +- Adjust ocaml-configure-Allow-user-defined-C-compiler-flags.patch +- Adjust rpmlintrc +- Remove obsolete ocaml-3.08.3-gcc4.patch +- Remove obsolete ocaml-4.05.0-CVE-2018-9838.patch +- Remove obsolete ocaml-4.05.0.tar.xz +- Remove obsolete ocaml-Fixes-for-out-of-range-Ialloc.patch +- Remove obsolete ocaml-In-caml_executable_name-wrong-test-on-the-return-cod.patch +- Remove obsolete ocaml-MPR-7591-frametable-not-8-aligned-on-x86-64-port.patch +- Remove obsolete ocaml-assert.patch +- Remove obsolete ocaml-byterun-do-not-alias-function-arguments-to-sigprocma.patch +- Remove obsolete ocaml-fix_aarch64_build.patch +- Remove obsolete ocamldoc-man-th.patch + +------------------------------------------------------------------- +Thu Feb 20 20:20:20 UTC 2020 - ohering@suse.de + +- Require current ocaml-rpm-macros +- Update options for ocaml() Provides/Requires to specify also + OCAMLLIB, which is required for ocamlobjinfo and cmx (bsc#1154874) +- Remove disabling of _lto_cflags, RPM_OPT_FLAGS are not used +- Use ocaml_standard_library macro instead of _libdir/ocaml +- Actually make use of ocaml-configure-Allow-user-defined-C-compiler-flags.patch + and use '-Werror=implicit-function-declaration -Werror=return-type' + in built-in CFLAGS for libraries and applications. +- Add ocaml-assert.patch, backport from 4.06, found by new CFLAGS +- Add a few desirable patches from 4.05 branch: + ocaml-Fixes-for-out-of-range-Ialloc.patch + ocaml-In-caml_executable_name-wrong-test-on-the-return-cod.patch + ocaml-MPR-7591-frametable-not-8-aligned-on-x86-64-port.patch + ocaml-byterun-do-not-alias-function-arguments-to-sigprocma.patch +- Remove backup files from ocaml-fix_aarch64_build.patch +- Record absolute path to gcc, cmdline is part of ocamlx() hash + +------------------------------------------------------------------- +Mon Nov 25 12:34:56 UTC 2019 - ohering@suse.de + +- move topdirs.cmi/cmt/cmti from runtime to compiler-libs-devel + so that runtime does not depend on a devel pkg (bsc#1156934) +- split place for META files, some go to ocaml, some to compiler-libs-devel +- move ncurses-devel requires to ocaml, it is used by BYTECCLIBS +- initialize bcond ocaml_make_testsuite + +------------------------------------------------------------------- +Fri Nov 1 12:34:56 UTC 2019 - ohering@suse.de + +- Use ocaml-rpm-macros to decide about native or bytecode build +- Move ocaml-findlib.rpm.prov_req.attr.sh to ocaml-rpm-macros +- Provide META files for ocamlfind() provides, which are now + created via ocaml-rpm-macros +- Provide baseversion in ocaml(compiler)/ocaml(ocaml.opt) +- Preserve fomit-frame-pointer again on ix86 +- Remove usage of USE_INTERP_RESULT, nothing seems to check for it +- Use results from pkgconfig(x11) for CFLAGS/LDFLAGS +- Use make_build/make_install, no parallel build yet +- Remove BYTECCRPATH, NATIVECCRPATH and MKSHAREDLIBRPATH +- Remove dead code which checked for libasmrun_pic.a (#7595) +- Remove code that populated compiler-libs + +------------------------------------------------------------------- +Mon Sep 30 12:34:56 UTC 2019 - ohering@suse.de + +- moved ocaml-rpm-macros from ocaml.spec to separate pkg + +------------------------------------------------------------------- +Tue Sep 24 16:55:33 UTC 2019 - ohering@suse.de + +- Provide various macros to unify dune $cmd usage + +------------------------------------------------------------------- +Mon Sep 23 16:35:39 UTC 2019 - ohering@suse.de + +- Disable LTO for all packages that use ocaml_preserve_bytecode + +------------------------------------------------------------------- +Fri Aug 30 14:37:07 UTC 2019 - Stefan Brüns + +- Use separate package for emacs mode files, following upstreams + move of the files to a separate repository + (https://github.com/ocaml/ocaml/pull/2182). This reduces the + build dependency chain of OCaml significantly, and in turn of + every package depending on OCaml. +- Move caml-mode specific patches to new package: + * ocaml-3.00-camldebug_el.patch + * ocaml-3.04-ocamltags--no-site-start.patch + * ocaml-3.09-emacs_localcompile.patch + +------------------------------------------------------------------- +Thu Aug 22 11:16:03 UTC 2019 - ohering@suse.de + +- Move /etc/rpm/macros.ocaml to /usr/lib/rpm/macros.d/macros.ocaml + +------------------------------------------------------------------- +Wed Apr 24 18:27:34 UTC 2019 - ohering@suse.de + +- Disable LTO (bsc#1133269) + +------------------------------------------------------------------- +Mon Jul 2 12:29:28 UTC 2018 - guillaume.gardet@opensuse.org + +- Tag license files with %license, not %doc +- Backport patch to fix build on aarch64: 'AArch64 GOT fixed' + https://github.com/ocaml/ocaml/pull/1330: + * ocaml-fix_aarch64_build.patch + (bsc#1151745) + +------------------------------------------------------------------- +Tue Apr 24 14:26:24 UTC 2018 - kstreitova@suse.com + +- update ocaml-4.05.0-CVE-2018-9838.patch that causes "undefined + reference to `caml_umul_overflow`" build failure. Replace this + function that is not available in ocaml 4.05 (added in ocaml + 4.06) with the present caml_ba_multov() that is basically the + same [bnc#1088591] [CVE-2018-9838] + +------------------------------------------------------------------- +Fri Apr 13 14:08:55 UTC 2018 - kstreitova@suse.com + +- add ocaml-4.05.0-CVE-2018-9838.patch to fix integer overflows + when unmarshaling a bigarray. Malicious or corrupted marshaled + data can result in a bigarray with impossibly large dimensions + that cause overflow when computing the in-memory size of the + bigarray. Disaster ensues when the data is read in a too small + memory area [bnc#1088591] [CVE-2018-9838] + +------------------------------------------------------------------- +Wed Apr 4 09:20:09 UTC 2018 - kstreitova@suse.com + +- run spec-cleaner +- update URL to www.ocaml.org +- the language is officially called OCaml and not Objective Caml, + rename it in summaries and descriptions +- tweak summaries and descriptions +- remove definition of %{_rpmconfigdir} macro - it should be + defined on all distros by default now + +------------------------------------------------------------------- +Wed Apr 4 06:57:00 UTC 2018 - ohering@suse.de + +- Remove info and html documentation because it is not as free + as it should be. Drop ocaml-docs package. (bsc#1080640) +- adjust ocaml-3.09-emacs_localcompile.patch and + ocaml-3.08.3-gcc4.patch for autosetup + +------------------------------------------------------------------- +Thu Aug 10 14:49:59 UTC 2017 - ohering@suse.de + +- Provide ocaml(ocaml_base_version) for camlp4 + +------------------------------------------------------------------- +Tue Jul 25 13:04:54 UTC 2017 - ohering@suse.de + +- Use Group: Development/Languages/OCaml + +------------------------------------------------------------------- +Mon Jul 17 20:24:18 UTC 2017 - ohering@suse.de + +- update version 4.05.0 + * http://caml.inria.fr/pub/distrib/ocaml-4.05/notes/Changes +- build with -no-cplugins (CVE-2017-9772) + +------------------------------------------------------------------- +Mon Jul 17 10:48:58 UTC 2017 - ohering@suse.de + +- Remove autodeps for pre openSUSE 12.1 releases + +------------------------------------------------------------------- +Tue Jun 6 19:21:06 UTC 2017 - ohering@suse.de + +- Clear _find_debuginfo_dwz_opts to avoid file conflicts due + to identical contents in .dwz sections + +------------------------------------------------------------------- +Wed May 31 10:46:48 UTC 2017 - ohering@suse.de + +- Install libasmrun_pic to fix build with gcc7 + +------------------------------------------------------------------- +Thu Jun 30 06:11:26 UTC 2016 - ohering@suse.de + +- Correct .TH macro creation in ocamldoc (ocaml#7281) + ocamldoc-man-th.patch + +------------------------------------------------------------------- +Thu Jun 16 14:26:17 UTC 2016 - ohering@suse.de + +- Install ocamltags in emacs site-lisp, do not add a shebang anymore + +------------------------------------------------------------------- +Mon Jun 13 14:02:36 UTC 2016 - ohering@suse.de + +- Provide various macros to unify oasis ocaml setup.ml $cmd usage + +------------------------------------------------------------------- +Tue Jun 7 11:11:04 UTC 2016 - ohering@suse.de + +- ocaml-compiler-libs requires ncurses-devel for some bytecode + compilation + +------------------------------------------------------------------- +Fri May 27 16:32:01 UTC 2016 - ohering@suse.de + +- Add Provides/Requires for ocamlfind() from META files + +------------------------------------------------------------------- +Wed May 18 21:44:47 UTC 2016 - ohering@suse.de + +- update version 4.03.0 (fate#320836) + * http://caml.inria.fr/pub/distrib/ocaml-4.03/notes/Changes + drop ocaml-ppc64.patch + drop ocaml-ppc64le.patch + drop ocaml-arch-rlimit-stacksize.patch + drop ocaml-4.02.3-bufferoverflow_infoleak.patch + +------------------------------------------------------------------- +Wed May 4 13:49:38 UTC 2016 - kstreitova@suse.com + +- add ocaml-4.02.3-bufferoverflow_infoleak.patch to prevent buffer + overflow and information leak [bsc#977990], [CVE-2015-8869] +- use spec-cleaner to clean the specfile + +------------------------------------------------------------------- +Wed Nov 11 09:58:32 UTC 2015 - ohering@suse.de + +- Increase rlimit stack size on ppc64 + ocaml-arch-rlimit-stacksize.patch + +------------------------------------------------------------------- +Tue Nov 10 10:18:47 UTC 2015 - ohering@suse.de + +- Add hardcoded Provides for pre 12.1 repos + +------------------------------------------------------------------- +Wed Sep 16 06:12:49 UTC 2015 - ohering@suse.de + +- update version 4.02.3 + * http://caml.inria.fr/pub/distrib/ocaml-4.02/notes/Changes + +------------------------------------------------------------------- +Tue Aug 4 08:05:33 UTC 2015 - kstreitova@suse.com + +- use spec-cleaner + +------------------------------------------------------------------- +Tue Jun 23 08:50:31 UTC 2015 - ohering@suse.de + +- update version 4.02.2 + * http://caml.inria.fr/pub/distrib/ocaml-4.02/notes/Changes + +------------------------------------------------------------------- +Thu Oct 23 10:49:37 UTC 2014 - ohering@suse.de + +- Recognize macros provided by prjconf to disable ocamlopt and + run testsuite + +------------------------------------------------------------------- +Thu Oct 23 10:47:28 UTC 2014 - ohering@suse.de + +- New subpackage ocaml-rpm-macros + +------------------------------------------------------------------- +Wed Oct 22 14:42:09 UTC 2014 - ohering@suse.de + +- update version 4.02.1 + * http://caml.inria.fr/pub/distrib/ocaml-4.02/notes/Changes + +------------------------------------------------------------------- +Mon Oct 20 09:39:25 UTC 2014 - ohering@suse.de + +- Update ppc64/ppc64le patch (bnc#901836) + +------------------------------------------------------------------- +Wed Oct 8 10:14:20 UTC 2014 - ohering@suse.de + +- update version 4.02.0 + * http://caml.inria.fr/pub/distrib/ocaml-4.02/notes/Changes + drop ocaml-rpath.patch, can be done with make args + drop ocaml-yacc-Use-mkstemp-instead-of-mktemp.patch, upstream + drop unused postscript docs +- Removed Camlp4 and Labltk from the distribution, now available as + third-party software. + +------------------------------------------------------------------- +Wed Aug 27 09:30:55 CEST 2014 - ohering@suse.de + +- Require as/gcc for ocamlopt (bnc#891177) + +------------------------------------------------------------------- +Thu May 1 20:06:12 UTC 2014 - dvaleev@suse.com + +- Enable opt for ppc64le (ocaml-ppc64le.patch) + +------------------------------------------------------------------- +Sat Feb 1 09:33:43 CET 2014 - ohering@suse.de + +- Disable opt on aarch64 + +------------------------------------------------------------------- +Thu Jan 30 11:49:10 CET 2014 - ohering@suse.de + +- Provide ocaml(ocaml.opt)==version if available + +------------------------------------------------------------------- +Fri Dec 6 20:41:25 UTC 2013 - matz@suse.de + +- Disable opt on ppc64le (ocaml-ppc64.patch doesn't support ELVv2) + +------------------------------------------------------------------- +Thu Sep 19 12:01:09 CEST 2013 - ohering@suse.de + +- update version 4.01.0 + * http://caml.inria.fr/pub/distrib/ocaml-4.01/notes/Changes + add ocaml-yacc-Use-mkstemp-instead-of-mktemp.patch + rename obsolete ocaml-rpmoptflags.patch to + ocaml-configure-Allow-user-defined-C-compiler-flags.patch + remove obsolete ocaml-tcl86.patch + remove obsolete ocaml-3.08.3.patch + +------------------------------------------------------------------- +Tue Sep 10 15:37:04 UTC 2013 - guillaume@opensuse.org + +- Fix ARM build + +------------------------------------------------------------------- +Thu Aug 1 15:31:39 UTC 2013 - max@suse.com + +- Added ocaml-tcl86.patch to fix build with Tcl 8.6. + +------------------------------------------------------------------- +Mon Jun 3 09:23:34 CEST 2013 - ohering@suse.de + +- Recompress with xz + +------------------------------------------------------------------- +Fri Mar 22 13:52:52 UTC 2013 - dvaleev@suse.com + +- refresh ocaml-ppc64.patch +- increase stack size for ppc64 +- package back *cmxs files for ppc + +------------------------------------------------------------------- +Thu Feb 21 17:53:47 CET 2013 - ohering@suse.de + +- add hard requires ocaml-compiler-libs in ocaml-camlp4 in + versions before 12.1 due to lack of autorequires in old rpm + +------------------------------------------------------------------- +Thu Feb 21 15:07:04 CET 2013 - ohering@suse.de + +- disable opt on ia64 + +------------------------------------------------------------------- +Fri Feb 15 12:10:35 UTC 2013 - i@marguerite.su + +- update version 4.00.1 + * http://caml.inria.fr/pub/distrib/ocaml-4.00/notes/Changes +- remove ocaml-3.04-info.patch, upstream fixed. +- remove arm-add-type-directive.patch, upstream fixed. + +------------------------------------------------------------------- +Mon Jan 14 10:07:21 CET 2013 - ohering@suse.de + +- change Requires: version-release to just Requires: version + +------------------------------------------------------------------- +Wed Jan 2 17:06:58 CET 2013 - ohering@suse.de + +- update specfile to handle disabled do_opt variable + +------------------------------------------------------------------- +Wed Jun 27 10:51:13 UTC 2012 - dvaleev@suse.com + +- refresh ppc64 patch +- Link dllthreads.so with -lpthread so that pthread_atfork + is included statically. + +------------------------------------------------------------------- +Thu May 10 07:46:01 UTC 2012 - cfarrell@suse.com + +- license update: QPL-1.0 and SUSE-LGPL-2.0-with-linking-exception + Use SPDX format (http://www.spdx.org/licenses). Where there is no + suitable shortname available on spdx.org check the spreadsheet linked at + license.opensuse.org + +------------------------------------------------------------------- +Tue Jan 31 10:53:26 UTC 2012 - dvaleev@suse.com + +- *.cmxs doesn't built for ppc + +------------------------------------------------------------------- +Mon Dec 19 09:55:25 UTC 2011 - coolo@suse.com + +- fix Source references to contain original upstream + +------------------------------------------------------------------- +Mon Nov 14 00:21:40 CET 2011 - dmueller@suse.de + +- add add .type directive for code symbols (needed on arm) + +------------------------------------------------------------------- +Tue Nov 8 12:40:17 UTC 2011 - dvaleev@suse.com + +- enable ppc64 build + +------------------------------------------------------------------- +Thu Sep 15 13:10:33 UTC 2011 - ampsaltis@gmail.com + +- Explicitly require the ocaml-runtime package in the ocaml package + +------------------------------------------------------------------- +Thu Sep 15 01:34:36 UTC 2011 - ampsaltis@gmail.com + +- The ocaml package does not provide the runtime any more. + +------------------------------------------------------------------- +Fri Jul 22 00:23:13 UTC 2011 - ampsaltis@gmail.com + +- Unremove code block regarding removing -fomit-frame-pointer within RPM_OPT_FLAGS for ix86 architectures + +------------------------------------------------------------------- +Thu Jul 21 21:22:02 UTC 2011 - ampsaltis@gmail.com + +- Enable optimizations (Fedora does this) +- More cleanup done + +------------------------------------------------------------------- +Thu Jul 21 15:24:38 UTC 2011 - ampsaltis@gmail.com + +- Clean up spec file +- Remove ocaml-3.12-fix-size-directive.patch + +------------------------------------------------------------------- +Tue Jul 5 14:36:05 UTC 2011 - ampsaltis@gmail.com + +- New upstream version 3.12.1, providing many bugfixes. +- ocaml-3.12-fix-size-directive.patch is no longer needed. + +------------------------------------------------------------------- +Sun Jun 19 03:48:56 UTC 2011 - ampsaltis@gmail.com + +- Add compiler library packages + +------------------------------------------------------------------- +Sun Jun 19 01:01:42 UTC 2011 - ampsaltis@gmail.com + +- Obsolete old "camlp4" package + +------------------------------------------------------------------- +Fri Jun 17 03:25:15 UTC 2011 - ampsaltis@gmail.com + +- Split (and rename) camlp4 package. Add provide for consistency. +- Decomment some stuff. + +------------------------------------------------------------------- +Fri May 27 21:57:20 UTC 2011 - ampsaltis@gmail.com + +- Make the spec work with older versions of RPM +- Split some parts of packages for devel-ness + +------------------------------------------------------------------- +Tue May 24 07:54:53 UTC 2011 - coolo@novell.com + +- add provides required by the rpm-4.9 auto provides + +------------------------------------------------------------------- +Mon May 23 11:43:49 UTC 2011 - coolo@novell.com + +- fix for last change to also include interpreter + +------------------------------------------------------------------- +Sat May 21 13:51:04 CEST 2011 - jslaby@suse.de + +- fix build with rpm 4.9.0 + +------------------------------------------------------------------- +Wed Apr 27 10:02:51 UTC 2011 - vcizek@novell.com + +- license correction to GPLv2 and QPL +- removed author from spec + +------------------------------------------------------------------- +Tue Apr 26 11:43:56 UTC 2011 - idoenmez@novell.com + +- Add ocaml-3.12-fix-size-directive.patch: + incorrect .size directives generated for x86-32 and x86-64 + +------------------------------------------------------------------- +Tue Aug 24 17:52:02 CEST 2010 - anicka@suse.cz + +- update to 3.12.0 + * While fixing PR#4824, also corrected a gaping hole in the type checker, + which allowed instantiating separately object parameters and instance + variables in an interface. This hole was here since the beginning of + ocaml, and as a result many programs using object inheritance in a non + trivial way will need to be corrected. You can look at lablgtk2 for an + example. + * new language features, bugfixes + +------------------------------------------------------------------- +Mon Jan 11 16:19:39 CET 2010 - vuntz@opensuse.org + +- Remove unneeded gtk-devel BuildRequires. + +------------------------------------------------------------------- +Fri Dec 11 11:15:55 CET 2009 - anicka@suse.cz + +- update to 1.11.1 + * bug fixes + * Improved wording of various error messages + * Support for 64-bit mode in Solaris/x86 (PR#4670). + +------------------------------------------------------------------- +Tue Jun 9 16:14:04 CEST 2009 - coolo@novell.com + +- filter out fomit-frame-pointer from rpm_opt_flags to fix build + +------------------------------------------------------------------- +Tue Feb 17 16:15:23 CET 2009 - anicka@suse.cz + +- update to 1.11.0 + * major relase with many changes, language enhancements and bugfixes + * backward incompatible changes: + * Revised -output-obj: the output name + must now be provided; its extension must be one of .o/.obj, + .so/.dll, or .c for the bytecode compiler. The compilers can + now produce a shared library (with all the needed -ccopts/-ccobjs + options) directly. + * programs linked with camlp4lib.cma now also need dynlink.cma +- remove type_punning and tk8.5 patches (not needed anymore) +- drop ppc64 patch +- use %fdupes macro to reduce size of the package + +------------------------------------------------------------------- +Thu Jul 24 17:51:37 CEST 2008 - anicka@suse.cz + +- fix loading caml-mode in emacs (bnc#411232) + +------------------------------------------------------------------- +Thu Jul 10 10:20:11 CEST 2008 - olh@suse.de + +- build also on ppc64 (fate#304103) + +------------------------------------------------------------------- +Wed Apr 9 15:35:20 CEST 2008 - anicka@suse.cz + +- update to 3.10.2 + * PR#1217 (partial) Typo in ocamldep man page + * PR#3952 (partial) ocamlopt: allocation problems on ARM + * PR#4339 (continued) ocamlopt: problems on HPPA + * PR#4455 str.mli not installed under Windows + * PR#4473 crash when accessing float array with polymorphic method + * PR#4480 runtime would not compile without gcc extensions + * PR#4481 wrong typing of exceptions with object arguments + * PR#4490 typo in error message + * Random crash on 32-bit when major_heap_increment >= 2^22 + * Big performance bug in Weak hashtables + * Small bugs in the make-package-macosx script + * Bug in typing of polymorphic variants (reported on caml-list) + +------------------------------------------------------------------- +Mon Apr 7 11:54:06 CEST 2008 - anicka@suse.cz + +- fix build for tk 8.5 + +------------------------------------------------------------------- +Mon Mar 10 14:41:05 CET 2008 - anicka@suse.cz + +- update to 3.10.1 + - made configure script work on PlayStation 3 + - ARM port: brought up-to-date for Debian 4.0 (Etch) + - many other small changes and bugfixes in camlp4, ocamlbuild, labltk, + emacs files, + - Added virtual instance variables in classes "val virtual v : t" + * Changed the behaviour of instance variable overriding; the new + definition replaces the old one, rather than creating a new + variable. + - ocamlbuild: compilation manager for OCaml applications and libraries. + See draft documentation at http://gallium.inria.fr/~pouillar/ + * Camlp4: heavily revised implementation, new API. + - Faster type-checking of functor applications. + - Referencing an interface compiled with -rectypes from a module + not compiled with -rectypes is now an error. + - Revised the "fragile matching" warning. + - Print a stack backtrace on an uncaught exception. + (Compile and link with ocamlopt -g; execute with OCAMLRUNPARAM=b.) + Supported on Intel/AMD in 32 and 64 bits, PPC in 32 and 64 bits. + - Stack overflow detection on MS Windows 32 bits (courtesy O. Andrieu). + - Stack overflow detection on MacOS X PPC and Intel. + - Intel/AMD 64 bits: generate position-independent code by default. + - Fixed bug involving -for-pack and missing .cmx files (PR#4124). + - Fixed bug causing duplication of literals (PR#4152). + - C/Caml interface functions take "char const *" arguments + instead of "char *" when appropriate. + - Faster string comparisons (fast case if strings are ==). + +------------------------------------------------------------------- +Wed Nov 28 18:25:00 CET 2007 - ro@suse.de + +- added -O0 to optflags for now on x86 (#343760) + +------------------------------------------------------------------- +Sun Nov 4 14:37:03 CET 2007 - ro@suse.de + +- updated rpmlintrc + +------------------------------------------------------------------- +Fri Jun 15 11:30:26 CEST 2007 - ro@suse.de + +- clean up specfile a bit (thanks to dirk stoecker) + +------------------------------------------------------------------- +Wed May 16 16:17:21 CEST 2007 - ro@suse.de + +- split up package similar to f-e +- update to 3.09.3 + * featurelist + - ocamldoc: name resolution in cross-referencing {!name}: if name is not + found, then it is searched in the parent module/class, and in the parent + of the parent, and so on until it is found. + - ocamldoc: new option -short-functors to use a short form to display + functors in html generator PR#4017 + - ocamlprof: added "-version" option + - ported to MacOS X on Intel PR#3985 + - configure: added support for GNU Hurd PR#3991 + - otherlibs/labltk: browser uses menu bars instead of menu buttons + - Introduction of private row types, for abstracting the row in object + and variant types. + - configure: find X11 config in some 64-bit Linux distribs + - ocamldoc: (**/**) can be canceled with another (**/**) PR#3665 + - graphics: added resize_window + - graphics: check for invalid arguments to drawing primitives PR#3595 + - ocamlbrowser: use windows subsystem on mingw + * disruptive changes + * Revised implementation of the -pack option (packing of several compilation + units into one). The .cmx files that are to be packed with + "ocamlopt -pack -o P.cmx" must be compiled with "ocamlopt -for-pack P". + In exchange for this additional constraint, ocamlopt -pack is now + available on all platforms (no need for binutils). + * Fixed wrong evaluation order for arguments to certain inlined functions. + +------------------------------------------------------------------- +Thu Mar 29 12:19:25 CEST 2007 - rguenther@suse.de + +- add emacs site-lisp directories + +------------------------------------------------------------------- +Fri Mar 23 15:08:43 CET 2007 - rguenther@suse.de + +- add gdbm-devel and ncurses-devel BuildRequires + +------------------------------------------------------------------- +Thu Aug 17 17:37:00 CEST 2006 - cthiel@suse.de + +- fix build with X.Org 7.1 + +------------------------------------------------------------------- +Wed Jan 25 21:38:54 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu May 12 02:45:17 CEST 2005 - ro@suse.de + +- update to 3.08.3 +- reduce register pressure in bng_ia32.c (thanks to matz) + +------------------------------------------------------------------- +Tue Sep 14 13:17:32 CEST 2004 - jj@suse.de + +- version update (done by pthomas) + +------------------------------------------------------------------- +Wed Apr 28 02:00:57 CEST 2004 - ro@suse.de + +- added -fno-strict-aliasing also to native build + +------------------------------------------------------------------- +Mon Apr 19 09:47:24 CEST 2004 - mmj@suse.de + +- declare void functions as such + +------------------------------------------------------------------- +Sat Jan 10 14:37:55 CET 2004 - adrian@suse.de + +- use x-devel-packages + +------------------------------------------------------------------- +Sat Jun 21 03:09:20 CEST 2003 - mmj@suse.de + +- Own all dirs + +------------------------------------------------------------------- +Wed May 21 15:06:44 CEST 2003 - coolo@suse.de + +- fix man page installation + +------------------------------------------------------------------- +Thu Apr 24 12:20:23 CEST 2003 - ro@suse.de + +- fix install_info --delete call and move from preun to postun + +------------------------------------------------------------------- +Mon Apr 7 09:29:36 CEST 2003 - mmj@suse.de + +- head -1 is head -n 1 with the new coreutils + +------------------------------------------------------------------- +Tue Feb 11 07:39:20 CET 2003 - mmj@suse.de + +- Use %install_info macro [#23440] + +------------------------------------------------------------------- +Tue Sep 17 16:55:25 CEST 2002 - uli@suse.de + +- update -> 3.0.6 (needed for mldonkey) + +------------------------------------------------------------------- +Mon Jun 17 15:47:23 CEST 2002 - meissner@suse.de + +- copy over config.* from libtool repository and other ppc64 fixes. + +------------------------------------------------------------------- +Tue May 28 00:03:55 CEST 2002 - ro@suse.de + +- fix installation in camlp4 directory (bindir was without + buildroot prefix) + +------------------------------------------------------------------- +Fri May 24 17:48:23 CEST 2002 - mmj@suse.de + +- Disabling build of optional architecture specific stuff on plat- + forms where ocaml does not procide the necessary asm parts. + +------------------------------------------------------------------- +Wed May 15 14:12:27 CEST 2002 - schwab@suse.de + +- Fix neededforbuild. + +------------------------------------------------------------------- +Mon May 13 15:27:18 CEST 2002 - mmj@suse.de + +- Update to 3.04, maily bugfix release + +------------------------------------------------------------------- +Tue Jan 15 13:24:12 CET 2002 - schwab@suse.de + +- Fix for ia64. + +------------------------------------------------------------------- +Thu Aug 16 14:24:01 CEST 2001 - grimmer@suse.de + +- initial SuSE package (version 3.02), added to be able to build + package "unison" +- spec file derived from Mandrake Linux source RPM (thanks, pixel!) + diff --git a/ocaml.spec b/ocaml.spec new file mode 100644 index 0000000..91d9e13 --- /dev/null +++ b/ocaml.spec @@ -0,0 +1,540 @@ +# +# spec file for package ocaml +# +# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2010 Andrew Psaltis +# Copyright (c) 2011 Andrew Psaltis +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define ocaml_base_version 4.14 +# +# This ensures that the find_provides/find_requires calls ocamlobjinfo correctly. +# handle built-in ocaml helper from rpm-build, and helper from ocaml-rpm-macros +%global __suseocaml_requires_opts \ + -c \ + -f "%_bindir/env OCAMLLIB=%buildroot%ocaml_standard_library %buildroot%_bindir/ocamlrun %buildroot%_bindir/ocamlobjinfo.byte" \ + %nil +%global __ocaml_requires_opts \ + -c \ + -f "%_bindir/env OCAMLLIB=%buildroot%ocaml_standard_library %buildroot%_bindir/ocamlrun %buildroot%_bindir/ocamlobjinfo.byte" \ + %nil +%global __suseocaml_provides_opts \ + -f "%_bindir/env OCAMLLIB=%buildroot%ocaml_standard_library %buildroot%_bindir/ocamlrun %buildroot%_bindir/ocamlobjinfo.byte" \ + %nil +%global __ocaml_provides_opts \ + -f "%_bindir/env OCAMLLIB=%buildroot%ocaml_standard_library %buildroot%_bindir/ocamlrun %buildroot%_bindir/ocamlobjinfo.byte" \ + %nil + +%global _buildshell /bin/bash +%bcond_with ocaml_testsuite +%bcond_without suse_ocaml_use_rpm_license_macro + +Name: ocaml +Version: 4.14.1 +Release: 0 +Summary: OCaml Compiler and Programming Environment +%if %{with suse_ocaml_use_rpm_license_macro} +License: QPL-1.0 AND SUSE-LGPL-2.0-with-linking-exception +%else +License: MIT +%endif +Group: Development/Languages/OCaml +BuildRoot: %_tmppath/%name-%version-build +URL: http://www.ocaml.org +Source0: %name-%version.tar.xz +Source2: %name-rpmlintrc +Patch0: ocaml-configure-Allow-user-defined-C-compiler-flags.patch +BuildRequires: autoconf >= 2.69 +BuildRequires: fdupes +BuildRequires: ncurses-devel +BuildRequires: ocaml-rpm-macros >= 20230101 +BuildRequires: pkgconfig +Requires: ncurses-devel +Requires: ocaml(runtime) = %version-%release +Obsoletes: ocaml-docs +Provides: ocaml(compiler) = %ocaml_base_version +Provides: ocaml(ocaml_base_version) = %ocaml_base_version +Requires: %(type -P gcc | xargs readlink -f | xargs rpm -qf --qf '%%{NAME}\n') +Provides: ocaml(ocaml.opt) = %ocaml_base_version +Obsoletes: ocaml-seq < %version-%release +Obsoletes: ocaml-seq-debuginfo < %version-%release +Obsoletes: ocaml-seq-devel < %version-%release +Provides: ocaml-seq = %version-%release +Provides: ocaml-seq-debuginfo = %version-%release +Provides: ocaml-seq-devel = %version-%release + +%description +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package comprises two batch compilers (a fast bytecode compiler +and an optimizing native-code compiler), an interactive top level +system, Lex&Yacc tools, a replay debugger, and a comprehensive library. + +%package runtime +Summary: OCaml runtime environment +License: QPL-1.0 +Group: Development/Languages/OCaml +Provides: ocaml(runtime) = %version-%release + +%description runtime +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package contains the runtime environment needed to run OCaml +bytecode. + +%package source +Summary: Source code for OCaml libraries +License: QPL-1.0 AND SUSE-LGPL-2.0-with-linking-exception +Group: Development/Languages/OCaml + +%description source +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package contains source code for OCaml libraries. + +%package ocamldoc +Summary: Documentation generator for OCaml +License: QPL-1.0 +Group: Development/Languages/OCaml +Requires: ocaml = %version + +%description ocamldoc +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package contains a documentation generator for OCaml. + +%package compiler-libs +Summary: Libraries used internal to the OCaml Compiler +License: QPL-1.0 +Group: Development/Languages/OCaml +Requires: ocaml = %version-%release + +%description compiler-libs +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package contains several modules used internally by the OCaml +compilers. They are not needed for normal OCaml development, but may +be helpful in the development of certain applications. + +%package compiler-libs-devel +Summary: Libraries used internal to the OCaml Compiler +License: QPL-1.0 +Group: Development/Languages/OCaml +Requires: ocaml-compiler-libs = %version-%release + +%description compiler-libs-devel +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package contains libraries and signature files for developing +applications that use Ocaml. + +%prep +%setup -q +%patch0 -p1 + +%build +echo %version > VERSION +export CC='gcc' +export AS='as' +test -x "$(type -P gcc | xargs readlink -f)" && export CC="$_" +test -x "$(type -P as | xargs readlink -f)" && export AS="$_" +export ASPP="$CC -c" +configure_target= +extra_cflags=() +extra_cflags+=( '-Werror=implicit-function-declaration' ) +extra_cflags+=( '-Werror=return-type' ) +extra_cflags+=( '-Wno-deprecated-declarations' ) +export EXTRA_CFLAGS="${extra_cflags[@]}" +bash -x tools/autogen +%ifarch %arm +: OCaml issue #9431 +triple_fault=`/bin/sh build-aux/config.guess` +configure_target="${configure_target} --host=${triple_fault} --build=${triple_fault}" +%endif +# use only the fixed set of built-in CFLAGS +CFLAGS='-pipe' +./configure --help +%configure \ + ${configure_target} \ +%if %{with ocaml_testsuite} + --enable-ocamltest \ +%else + --disable-ocamltest \ +%endif + --enable-native-compiler \ + --libdir=%ocaml_standard_library +%make_build +# +pushd testsuite +tee checker.sh <<'_EOF_' +#!/bin/bash +t=${0%%.*} +if $DIFF -u "${t}.reference" "${t}.result" +then + exit 0 +fi +ls -l "${t}.reference" "${t}.result" +head -n 1234 "${t}.reference" "${t}.result" +_EOF_ +chmod -v 555 checker.sh +c=$PWD/checker.sh +for i in `find tests -name "*.reference" -type f` +do + test -e ${i%%.reference}.checker || ln -sfvbn "$c" ${i%%.reference}.checker +done +popd + +%install +%make_install +rm -rfv %buildroot%_datadir/doc/ocaml +%fdupes %buildroot +export EXCLUDE_FROM_STRIP="ocamldebug ocamlbrowser" + +# preserve .cmxs and .so +find %buildroot \( \ + -name '*.a' -o \ + -name '*.cma' -o \ + -name '*.cmi' -o \ + -name '*.cmo' -o \ + -name '*.cmt' -o \ + -name '*.cmti' -o \ + -name '*.cmx' -o \ + -name '*.cmxa' -o \ + -name '*.conf' -o \ + -name '*.h' -o \ + -name '*.hva' -o \ + -name '*.ml' -o \ + -name '*.mli' -o \ + -name '*.mll' -o \ + -name '*.mlp' -o \ + -name '*.mly' -o \ + -name '*.o' -o \ + -name '*.sml' \ + \) -type f -exec chmod a-x "{}" \; + +mkdir META +pushd "$_" +tee bigarray <<_META_ +requires = "unix" +version = "%version" +description = "Large statically allocated arrays" +directory = "^" +browse_interfaces = " Unit name: Bigarray " +archive(byte) = "bigarray.cma" +archive(native) = "bigarray.cmxa" +plugin(byte) = "bigarray.cma" +plugin(native) = "bigarray.cmxs" +linkopts = "" +_META_ +# +tee bytes <<_META_ +name="bytes" +version = "%version" +description="dummy backward-compatibility package for mutable strings" +requires="" +_META_ +# +tee compiler-libs <<_META_ +# The compiler itself +requires = "" +version = "%version" +description = "compiler-libs support library" + +package "common" ( + requires = "compiler-libs" + version = "%version" + description = "Common compiler routines" + archive(byte) = "ocamlcommon.cma" + archive(native) = "ocamlcommon.cmxa" +) + +package "bytecomp" ( + requires = "compiler-libs.common" + version = "%version" + description = "Bytecode compiler" + archive(byte) = "ocamlbytecomp.cma" + archive(native) = "ocamlbytecomp.cmxa" +) + +package "optcomp" ( + requires = "compiler-libs.common" + version = "%version" + description = "Native-code compiler" + archive(byte) = "ocamloptcomp.cma" + archive(native) = "ocamloptcomp.cmxa" + exists_if = "ocamloptcomp.cma" +) + +package "toplevel" ( + requires = "compiler-libs.bytecomp" + version = "%version" + description = "Toplevel interactions" + archive(byte) = "ocamltoplevel.cma" + archive(native) = "ocamltoplevel.cmxa" +) +_META_ +# +tee dynlink <<_META_ +requires = "" +version = "%version" +description = "Dynamic loading and linking of object files" +directory = "^" +browse_interfaces = " Unit name: Dynlink Unit name: Dynlinkaux " +archive(byte) = "dynlink.cma" +archive(native) = "dynlink.cmxa" +_META_ +# +tee ocamldoc <<_META_ +requires = "compiler-libs" +version = "%version" +description = "ocamldoc plugin interface" +_META_ +# +tee raw_spacetime <<_META_ +requires = "" +description = "Support library for the spacetime profiler" +version = "%version" +directory = "^" +browse_interfaces = "" +archive(byte) = "raw_spacetime_lib.cma" +archive(native) = "raw_spacetime_lib.cmxa" +plugin(byte) = "raw_spacetime_lib.cma" +plugin(native) = "raw_spacetime_lib.cmxs" +_META_ +%if 0 +# +# conflicts with ocaml-result.rpm +tee result <<_META_ +version = "%version" +description = "" +requires = "" +_META_ +%endif +# +tee seq <<_META_ +version = "%version" +description = "" +requires = "" +_META_ +# +tee stdlib <<_META_ +requires = "" +description = "Standard library" +version = "%version" +directory = "^" +browse_interfaces = " Unit name: Arg Unit name: Array Unit name: ArrayLabels Unit name: Buffer Unit name: Bytes Unit name: BytesLabels Unit name: Callback Unit name: CamlinternalFormat Unit name: CamlinternalFormatBasics Unit name: CamlinternalLazy Unit name: CamlinternalMod Unit name: CamlinternalOO Unit name: Char Unit name: Complex Unit name: Digest Unit name: Filename Unit name: Format Unit name: Gc Unit name: Genlex Unit name: Hashtbl Unit name: Int32 Unit name: Int64 Unit name: Lazy Unit name: Lexing Unit name: List Unit name: ListLabels Unit name: Map Unit name: Marshal Unit name: MoreLabels Unit name: Nativeint Unit name: Obj Unit name: Oo Unit name: Parsing Unit name: Pervasives Unit name: Printexc Unit name: Printf Unit name: Queue Unit name: Random Unit name: Scanf Unit name: Set Unit name: Sort Unit name: Stack Unit name: StdLabels Unit name: Stream Unit name: String Unit name: StringLabels Unit name: Sys Unit name: Weak " +_META_ +# +tee str <<_META_ +requires = "" +description = "Regular expressions and string processing" +version = "%version" +directory = "^" +browse_interfaces = " Unit name: Str " +archive(byte) = "str.cma" +archive(native) = "str.cmxa" +plugin(byte) = "str.cma" +plugin(native) = "str.cmxs" +_META_ +# +tee threads <<_META_ +version = "%version" +description = "Multi-threading" +requires(mt,mt_vm) = "threads.vm" +requires(mt,mt_posix) = "threads.posix" +directory = "^" +type_of_threads = "posix" +browse_interfaces = " Unit name: Condition Unit name: Event Unit name: Mutex Unit name: Thread Unit name: ThreadUnix " +warning(-mt) = "Linking problems may arise because of the missing -thread or -vmthread switch" +warning(-mt_vm,-mt_posix) = "Linking problems may arise because of the missing -thread or -vmthread switch" +package "vm" ( + # --- Bytecode-only threads: + requires = "unix" + directory = "+vmthreads" + exists_if = "threads.cma" + archive(byte,mt,mt_vm) = "threads.cma" + version = "%version" +) + +package "posix" ( + # --- POSIX-threads: + requires = "unix" + directory = "+threads" + exists_if = "threads.cma" + archive(byte,mt,mt_posix) = "threads.cma" + archive(native,mt,mt_posix) = "threads.cmxa" + version = "%version" +) +package "none" ( + error = "threading is not supported on this platform" + version = "%version" +) +_META_ +# +tee uchar <<_META_ +description = "Unicode characters." +version = "%version" +directory = "^" +_META_ +# +tee unix <<_META_ +requires = "" +description = "Unix system calls" +version = "%version" +directory = "^" +browse_interfaces = " Unit name: Unix Unit name: UnixLabels " +archive(byte) = "unix.cma" +archive(native) = "unix.cmxa" +archive(byte,mt_vm) = "vmthreads/unix.cma" +plugin(byte) = "unix.cma" +plugin(native) = "unix.cmxs" +plugin(byte,mt_vm) = "vmthreads/unix.cma" +_META_ +# +popd +> 'files.ocaml.META' +> 'files.ocamldoc.META' +> 'files.compiler-libs.META' +for META in META/* +do + ocamlfind=${META##*/} + case "${ocamlfind}" in + graphics) + files='files.ocaml.META' + ;; + ocamldoc) + files='files.ocamldoc.META' + ;; + compiler-libs) + files='files.compiler-libs.META' + ;; + *) + files='files.ocaml.META' + ;; + esac + d=%ocaml_standard_library/${ocamlfind} + f=${d}/META + mkdir -vp %buildroot${d} + mv "${META}" %buildroot${f} + tee -a "${files}" <<_EOF_ +%%dir ${d} +${f} +_EOF_ +done + +%files -f files.ocaml.META +%defattr(-,root,root,-) +%doc Changes +%if %{with suse_ocaml_use_rpm_license_macro} +%license LICENSE +%endif +%_bindir/* +%_mandir/*/* +%ocaml_standard_library/*.a +%ocaml_standard_library/*.cmxs +%ocaml_standard_library/*.cmxa +%ocaml_standard_library/*.cmx +%ocaml_standard_library/*.o +%ocaml_standard_library/*.mli +%ocaml_standard_library/libcamlrun_shared.so +%ocaml_standard_library/libasmrun_shared.so +%ocaml_standard_library/threads/*.a +%ocaml_standard_library/threads/*.cmxa +%ocaml_standard_library/threads/*.cmx +%ocaml_standard_library/threads/*.mli +%ocaml_standard_library/caml +%ocaml_standard_library/Makefile.config +%ocaml_standard_library/eventlog_metadata +%ocaml_standard_library/camlheader +%ocaml_standard_library/camlheader_ur +%ocaml_standard_library/expunge +%ocaml_standard_library/ld.conf +%ocaml_standard_library/camlheaderd +%ocaml_standard_library/camlheaderi +%exclude %_bindir/ocamlrun +%exclude %_bindir/ocamldoc* +%exclude %ocaml_standard_library/ocamldoc + +%files runtime +%defattr(-,root,root,-) +%_bindir/ocamlrun +%dir %ocaml_standard_library +%ocaml_standard_library/*.cmo +%ocaml_standard_library/*.cmi +%ocaml_standard_library/*.cmt +%ocaml_standard_library/*.cmti +%ocaml_standard_library/*.cma +%ocaml_standard_library/stublibs +%dir %ocaml_standard_library/threads +%ocaml_standard_library/threads/*.cmi +%ocaml_standard_library/threads/*.cma +%ocaml_standard_library/threads/*.cmti +%exclude %ocaml_standard_library/topdirs.cmi +%exclude %ocaml_standard_library/topdirs.cmt +%exclude %ocaml_standard_library/topdirs.cmti +%doc Changes +%if %{with suse_ocaml_use_rpm_license_macro} +%license LICENSE +%endif + +%files source +%defattr(-,root,root,-) +%ocaml_standard_library/*.ml + +%files ocamldoc -f files.ocamldoc.META +%defattr(-,root,root,-) +%_bindir/ocamldoc* +%ocaml_standard_library/ocamldoc +%doc ocamldoc/Changes.txt + +%files compiler-libs +%defattr(-,root,root,-) +%dir %ocaml_standard_library +%ocaml_standard_library/topdirs.cmi +%ocaml_standard_library/topdirs.cmt +%ocaml_standard_library/topdirs.cmti +%ocaml_standard_library/compiler-libs/*.cma +%ocaml_standard_library/compiler-libs/*.cmi +%ocaml_standard_library/compiler-libs/*.cmo +%ocaml_standard_library/compiler-libs/*.cmt +%ocaml_standard_library/compiler-libs/*.cmti + +%files compiler-libs-devel -f files.compiler-libs.META +%defattr(-,root,root,-) +%dir %ocaml_standard_library/compiler-libs +%ocaml_standard_library/compiler-libs/*.a +%ocaml_standard_library/compiler-libs/*.o +%ocaml_standard_library/compiler-libs/*.cmx +%ocaml_standard_library/compiler-libs/*.cmxa +%ocaml_standard_library/compiler-libs/*.mli + +%if %{with ocaml_testsuite} +%check +make %{?_smp_mflags} -C testsuite clean +if make -C testsuite all +then + : passed +else + : failed +fi +%endif + +%changelog