# # Conditional build: %bcond_without ocaml_opt # native, optimized compiler # ppc64, sparc64 and x32 variants not supported currently # alpha, hppa, ia64, mips removed since 4.00 %ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9 %undefine with_ocaml_opt %endif %define sver 4.12 Summary: The Objective Caml compiler and programming environment Summary(pl.UTF-8): Kompilator OCamla (Objective Caml) oraz środowisko programistyczne Name: ocaml Version: 4.12.0 Release: 2 Epoch: 1 License: QPL v1.0 with linking exception (compiler), LGPL v2 with linking exception (library) Group: Development/Languages Source0: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{version}.tar.xz # Source0-md5: 7343cd398d477001db2c3f2ac92e12ea Source1: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{sver}-refman-html.tar.gz # Source1-md5: 1bda3d0a46328a985c817d551423e2c6 Source3: http://caml.inria.fr/distrib/ocaml-%{sver}/%{name}-%{sver}-refman.info.tar.gz # Source3-md5: c808dbbe35a6cc5d14da6c3b2f175d2c Source4: https://github.com/mmottl/pure-fun/archive/v1.0.13/pure-fun-1.0.13.tar.gz # Source4-md5: 0a6ff033df78d0880fe4883ace025ebe # note: dead URL Source5: http://www.ocaml.info/ocaml_sources/ds-contrib.tar.gz # Source5-md5: 77fa1da7375dea1393cc0b6cd802d7e1 URL: https://www.ocaml.org/ Requires: %{name}-runtime = %{epoch}:%{version}-%{release} Provides: ocaml-bytes-devel Provides: ocaml-ocamldoc Obsoletes: ocaml-bytes-devel Obsoletes: ocaml-doc-ps < 4.12 Obsoletes: ocaml-emacs < 4.12 Obsoletes: ocaml-ocamldoc Obsoletes: ocaml-x11graphics < 4.12 Obsoletes: ocaml-x11graphics-devel < 4.12 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define specflags -fno-strict-aliasing %description Objective Caml 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 toplevel system, Lex&Yacc tools, a replay debugger, and a comprehensive library. %description -l pl.UTF-8 OCaml (Objective Caml) jest funkcyjnym, obiektowo zorientowanym językiem wysokiego poziomu z silnym typowaniem. Należy do rodziny języków ML. Ten pakiet zawiera dwa kompilatory (szybki kompilator do bajtkodu oraz optymalizujący kompilator do kodu natywnego), interaktywne środowisko pracy, narzędzia do tworzenia analizatorów leksykalnych oraz składniowych (ocamllex, ocamlyacc), odpluskwiacz (ocamldebug) i biblioteki. %package runtime Summary: Runtime system for OCaml Summary(pl.UTF-8): Środowisko uruchomieniowe dla OCamla Group: Libraries %description runtime This package contains binaries needed to run bytecode OCaml programs: ocamlrun bytecode interpreter, and basic dynamic link libraries. %description runtime -l pl.UTF-8 Pakiet ten zawiera binaria potrzebne do uruchamiania programów w OCamlu skompilowanych do bajtkodu: interpreter bajtkodu (ocamlrun) oraz podstawowe biblioteki linkowane dynamicznie. %package lib-source Summary: Sources of OCaml standard library Summary(pl.UTF-8): Źródła biblioteki standardowej OCamla Group: Development/Languages Requires: %{name} = %{epoch}:%{version}-%{release} %description lib-source This sources come helpful during debugging of user programs with ocamldebug. %description lib-source -l pl.UTF-8 Źródła te są przydatne przy odpluskwianiu programów użytkownika z użyciem ocamldebug. %package doc-html Summary: HTML documentation for OCaml Summary(pl.UTF-8): Dokumentacja dla OCamla w formacie HTML Group: Development/Tools %description doc-html HTML documentation for OCaml. %description doc-html -l pl.UTF-8 Dokumentacja dla OCamla w formacie HTML. %package doc-info Summary: Info documentation for OCaml Summary(pl.UTF-8): Dokumentacja info dla OCamla Group: Development/Tools %description doc-info Info documentation for OCaml. %description doc-info -l pl.UTF-8 Dokumentacja info dla OCamla. %package compiler-objects Summary: Compiled parts of OCaml compiler Summary(pl.UTF-8): Skompilowane części kompilatora OCamla Group: Development/Languages Requires: %{name} = %{epoch}:%{version}-%{release} Provides: ocaml-devel Obsoletes: ocaml-devel %description compiler-objects This package contains *.cmi and *.cmo files being parts of OCaml compiler. They are needed to compile some programs. %description compiler-objects -l pl.UTF-8 Pakiet ten zawiera pliki *.cmi oraz *.cmo będące częściami kompilatora OCamla. Są one wymagane do kompilacji niektórych programów. %package ocamldoc-devel Summary: Files needed to develop programs using ocamldoc Summary(pl.UTF-8): Pliki potrzebne do tworzenia programów używających ocamldoc Group: Development/Languages Requires: %{name} = %{epoch}:%{version}-%{release} %description ocamldoc-devel You need this package if you are going to write ocamldoc front end or something like that. %description ocamldoc-devel -l pl.UTF-8 Będziesz potrzebować tego pakietu, jeśli zamierzasz pisać front end dla ocamldoc lub coś podobnego. # maybe we'll want to add some more stuff here? %package examples Summary: Example source code for OCaml Summary(pl.UTF-8): Przykładowe kody źródłowe w OCamlu Group: Development/Languages Requires: %{name} = %{epoch}:%{version}-%{release} %description examples This packages contains sources for Okasaki's Purely Functional Datastructures in OCaml, along with some contributions. %description examples -l pl.UTF-8 Pakiet ten zawiera źródła Czysto Funkcyjnych Struktur Danych autorstwa Okasaki'ego, napisane w OCamlu, wraz z dodatkami. %prep %setup -q -a1 -a3 mkdir examples tar xzf %{SOURCE4} -C examples tar xzf %{SOURCE5} -C examples # order mess with docs somewhat mkdir -p docs/html mv htmlman docs/html/ocaml %build %configure \ AS=%{__as} \ ASPP="%{__cc} -c" \ --libdir=%{_libdir}/ocaml \ %{!?with_ocaml_opt:--disable-native-compiler} %{__make} world %{__make} bootstrap %if %{with ocaml_opt} %{__make} opt %{__make} opt.opt %endif %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_includedir},%{_infodir},%{_examplesdir}/%{name}-%{version}} install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/site-lib %{__make} install \ DESTDIR=$RPM_BUILD_ROOT cat > $RPM_BUILD_ROOT%{_libdir}/%{name}/ld.conf <