diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..af5d286 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/extlib-1.5.3.tar.gz diff --git a/.ocaml-extlib.metadata b/.ocaml-extlib.metadata new file mode 100644 index 0000000..086d6dd --- /dev/null +++ b/.ocaml-extlib.metadata @@ -0,0 +1 @@ +6e395ae70e690d5ec6f166cce4761798ce494580 SOURCES/extlib-1.5.3.tar.gz diff --git a/SOURCES/extlib-install.patch b/SOURCES/extlib-install.patch new file mode 100644 index 0000000..5331e63 --- /dev/null +++ b/SOURCES/extlib-install.patch @@ -0,0 +1,25 @@ +--- extlib-1.5.1.orig/install.ml 2008-02-12 18:01:34.000000000 +0000 ++++ extlib-1.5.1/install.ml 2008-02-12 18:03:26.000000000 +0000 +@@ -64,10 +64,18 @@ + print_endline ("Installing " ^ file); + let path = dest ^ file in + (try Sys.remove path with _ -> ()); +- try +- Sys.rename file path; +- with +- _ -> failwith "Aborted" ++ let ichan = open_in file in ++ let ochan = open_out path in ++ let buf = String.create 1024 in ++ let rec loop () = ++ let len = input ichan buf 0 1024 in ++ if len > 0 then ( ++ output ochan buf 0 len; ++ loop () ++ ) ++ in ++ loop (); ++ Sys.remove file + end + + let complete_path p = diff --git a/SOURCES/odoc_style.css b/SOURCES/odoc_style.css new file mode 100644 index 0000000..e1db9ad --- /dev/null +++ b/SOURCES/odoc_style.css @@ -0,0 +1,24 @@ +body { padding: 0px 20px 0px 26px; background: #ffffff; color: #000000; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 90%; } +h1 { padding : 5px 0px 5px 0px; font-size : 16pt; font-weight : normal; background-color : #E0E0FF } +h6 { padding : 5px 0px 5px 20px; font-size : 16pt; font-weight : normal; background-color : #E0E0FF } +a:link, a:visited, a:active { text-decoration: none; } +a:link { color: #000077; } +a:visited { color: #000077; } +a:hover { color: #cc9900; } +.keyword { font-weight : bold ; color : Blue } +.keywordsign { color : #606060 } +.superscript { font-size : 4 } +.subscript { font-size : 4 } +.comment { color : #606060 } +.constructor { color : #808080; } +.type { color : #606060 } +.string { color : Red } +.warning { color : Red ; font-weight : bold } +.info { margin-left : 3em; margin-right : 3em } +.code { color : #606060 ; } +.title1 { font-size : 16pt ; background-color : #E0E0E0 } +.title2 { font-size : 16pt ; background-color : #E0E0E0 } +.title3 { font-size : 16pt ; background-color : #E0E0E0 } +.title4 { font-size : 16pt ; background-color : #E0E0E0 } +.title5 { font-size : 16pt ; background-color : #E0E0E0 } +.title6 { font-size : 16pt ; background-color : #E0E0E0; } \ No newline at end of file diff --git a/SPECS/ocaml-extlib.spec b/SPECS/ocaml-extlib.spec new file mode 100644 index 0000000..4e8984d --- /dev/null +++ b/SPECS/ocaml-extlib.spec @@ -0,0 +1,203 @@ +%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%global debug_package %{nil} + +Name: ocaml-extlib +Version: 1.5.3 +Release: 7%{?dist} +Summary: OCaml ExtLib additions to the standard library + +License: LGPLv2+ with exceptions +URL: http://code.google.com/p/ocaml-extlib/ +Source0: http://ocaml-extlib.googlecode.com/files/extlib-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Patch0: extlib-install.patch + +# Omitted from source tarball, I think. This is copied from 1.5.2. +Source1: odoc_style.css + +BuildRequires: ocaml >= 4.00.1 +BuildRequires: ocaml-findlib-devel >= 1.3.3-3 +BuildRequires: ocaml-ocamldoc +BuildRequires: gawk + + +%description +ExtLib is a project aiming at providing a complete - yet small - +standard library for the OCaml programming language. The purpose of +this library is to add new functions to OCaml Standard Library +modules, to modify some functions in order to get better performances +or more safety (tail-recursive) but also to provide new modules which +should be useful for the average OCaml programmer. + + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} + + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + + +%prep +%setup -q -n extlib-%{version} + +cp %{SOURCE1} . + +%patch0 -p1 + + +%build +# You can't just build extlib! + + +%install +rm -rf $RPM_BUILD_ROOT + +extlibdir=$RPM_BUILD_ROOT%{_libdir}/ocaml/extlib +mkdir -p $extlibdir + +# This does the build and install. +%if %opt +ocaml install.ml -d $extlibdir -b -n -doc +%else +ocaml install.ml -d $extlibdir -b -doc +%endif + +# Copy the interface files, and extLib.ml which is really an interface. +cp extLib.ml *.mli $RPM_BUILD_ROOT%{_libdir}/ocaml/extlib + +install -m 0644 META $RPM_BUILD_ROOT%{_libdir}/ocaml/extlib/ + +# Move the HTML documentation - we'll install it using a %doc rule. +mv $extlibdir/extlib-doc . + + +%files +%doc README.txt LICENSE +%{_libdir}/ocaml/extlib +%if %opt +%exclude %{_libdir}/ocaml/extlib/*.a +%exclude %{_libdir}/ocaml/extlib/*.cmxa +%exclude %{_libdir}/ocaml/extlib/*.cmx +%endif +%exclude %{_libdir}/ocaml/extlib/*.mli +%exclude %{_libdir}/ocaml/extlib/*.ml + + +%files devel +%doc extlib-doc/* +%if %opt +%{_libdir}/ocaml/extlib/*.a +%{_libdir}/ocaml/extlib/*.cmxa +%{_libdir}/ocaml/extlib/*.cmx +%endif +%{_libdir}/ocaml/extlib/*.mli +%{_libdir}/ocaml/extlib/*.ml + + +%changelog +* Sat Sep 23 2017 Richard W.M. Jones - 1.5.3-7 +- Remove ExcludeArch and build on s390x. + related: rhbz#1447990 + +* Fri Sep 22 2017 Richard W.M. Jones - 1.5.3-6 +- Rebuild for OCaml 4.05 + resolves: rhbz#1447990 + +* Fri Aug 08 2014 Richard W.M. Jones - 1.5.3-5 +- Resolves: rhbz#1125625 + +* Fri Dec 27 2013 Daniel Mach - 1.5.3-4 +- Mass rebuild 2013-12-27 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.5.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Nov 27 2012 Richard W.M. Jones - 1.5.3-2 +- BR >= OCaml 4.00.1 so we can't be built against the wrong OCaml. + +* Mon Oct 29 2012 Richard W.M. Jones - 1.5.3-1 +- New upstream version 1.5.3. +- Remove patch, now upstream. +- Clean up the spec file. +- Rebuild for OCaml 4.00.1. + +* Fri Jul 20 2012 Fedora Release Engineering - 1.5.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jun 10 2012 Richard W.M. Jones - 1.5.2-3 +- Rebuild for OCaml 4.00.0. + +* Thu Jun 7 2012 Richard W.M. Jones - 1.5.2-2 +- Fix for OCaml 4.00.0. + +* Fri Jan 6 2012 Richard W.M. Jones - 1.5.2-1 +- New upstream version 1.5.2. + +* Wed Jan 5 2011 Richard W.M. Jones - 1.5.1-10 +- Rebuild for OCaml 3.12.0. + +* Wed Dec 30 2009 Richard W.M. Jones - 1.5.1-9 +- Rebuild for OCaml 3.11.2. + +* Sat Jul 25 2009 Fedora Release Engineering - 1.5.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Sat May 23 2009 Richard W.M. Jones - 1.5.1-7 +- Rebuild for OCaml 3.11.1 + +* Thu Apr 16 2009 S390x secondary arch maintainer +- ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs + (added sparc64 per request from the sparc maintainer) + +* Wed Feb 25 2009 Fedora Release Engineering - 1.5.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Nov 26 2008 Richard W.M. Jones - 1.5.1-5 +- Rebuild for OCaml 3.11.0+rc1. + +* Wed Nov 19 2008 Richard W.M. Jones - 1.5.1-4 +- Rebuild for OCaml 3.11.0 + +* Wed Apr 23 2008 Richard W.M. Jones - 1.5.1-3 +- Rebuild for OCaml 3.10.2 + +* Sat Mar 1 2008 Richard W.M. Jones - 1.5.1-2 +- License is LGPLv2+ with exceptions. +- Rebuild for ppc64. + +* Tue Feb 12 2008 Richard W.M. Jones - 1.5.1-1 +- New upstream version 1.5.1. +- New home page. +- Rebuild for OCaml 3.10.1. + +* Thu Sep 6 2007 Richard W.M. Jones - 1.5-8 +- Force rebuild because of updated requires/provides scripts in OCaml. + +* Mon Sep 3 2007 Richard W.M. Jones - 1.5-7 +- Force rebuild because of base OCaml. + +* Thu Aug 30 2007 Richard W.M. Jones - 1.5-6 +- Force rebuild because of changed BRs in base OCaml. + +* Wed Aug 1 2007 Richard W.M. Jones - 1.5-5 +- ExcludeArch ppc64 +- Added BR on ocaml-ocamldoc +- Use %doc to install documentation. + +* Mon Jun 11 2007 Richard W.M. Jones - 1.5-4 +- Updated to latest packaging guidelines. + +* Sat Jun 2 2007 Richard W.M. Jones - 1.5-3 +- Support for bytecode-only architectures. +- *.cmx files are needed. + +* Fri May 25 2007 Richard W.M. Jones - 1.5-2 +- Use OCaml find-requires and find-provides. + +* Fri May 18 2007 Richard W.M. Jones - 1.5-1 +- Initial RPM release. +