Sync from SUSE:ALP:Source:Standard:1.0 ocaml revision 1d2061c1d31cadb88c3bf70ad28e770c

This commit is contained in:
Adrian Schröter 2023-06-07 08:16:17 +02:00
commit 53cc774aff
7 changed files with 1469 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

17
_service Normal file
View File

@ -0,0 +1,17 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="filename">ocaml</param>
<param name="revision">99cb5d93fc30f1a6f3e69f5aa5d2063994d33a93</param>
<param name="scm">git</param>
<param name="submodules">disable</param>
<param name="url">https://github.com/ocaml/ocaml.git</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">[v]?([^-+a-z]+)(.*)</param>
<param name="versionrewrite-replacement">\1</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>

BIN
ocaml-4.14.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,20 @@
From: "Richard W.M. Jones" <rjones@redhat.com>
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)"

1
ocaml-rpmlintrc Normal file
View File

@ -0,0 +1 @@
addFilter("ocaml-ocamldoc.* devel-file-in-non-devel-package")

865
ocaml.changes Normal file
View File

@ -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 <mliska@suse.cz>
- 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 <stefan.bruens@rwth-aachen.de>
- 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!)

540
ocaml.spec Normal file
View File

@ -0,0 +1,540 @@
#
# spec file for package ocaml
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2010 Andrew Psaltis <ampsaltis at gmail dot com>
# Copyright (c) 2011 Andrew Psaltis <ampsaltis at gmail dot com>
#
# 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