# # Conditional build: %bcond_without ocaml_opt # skip building native optimized binaries (bytecode is always built) # not yet available on x32 (ocaml 4.02.1), update when upstream will support it %ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9 %undefine with_ocaml_opt %endif %define ocaml_ver 1:3.09.2 Summary: OpenGL binding for OCaml Summary(pl.UTF-8): Wiązania OpenGL dla OCamla Name: ocaml-lablgl Version: 1.05 Release: 5 License: BSD Group: Libraries #Source0Download: https://forge.ocamlcore.org/frs/?group_id=291 Source0: https://forge.ocamlcore.org/frs/download.php/1254/lablgl-%{version}.tar.gz # Source0-md5: b64662bf47f2973f836d33ae1365244f URL: https://forge.ocamlcore.org/projects/lablgl/ BuildRequires: OpenGL-GLX-devel BuildRequires: OpenGL-glut-devel >= 3.7 BuildRequires: ocaml >= %{ocaml_ver} BuildRequires: ocaml-camlp4 BuildRequires: ocaml-labltk-devel BuildRequires: tcl-devel BuildRequires: tk-devel >= 4.0 BuildRequires: xorg-lib-libXmu-devel %requires_eq ocaml-runtime BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description LablGL is an OpenGL interface for Objective Caml. All of the GL and GLU libraries are available. This package contains files needed to run bytecode executables using this library. %description -l pl.UTF-8 LablGL umożliwia używanie OpenGL w OCamlu. Dostępne są wszystkie biblioteki GL i GLU. Pakiet ten zawiera binaria potrzebne do uruchamiania programów używających tej biblioteki. %package devel Summary: OpenGL binding for OCaml - development part Summary(pl.UTF-8): Wiązania OpenGL dla OCamla - cześć programistyczna Group: Development/Libraries Requires: %{name} = %{version}-%{release} %requires_eq ocaml %description devel LablGL is an OpenGL interface for Objective Caml. All of the GL and GLU libraries are available. This package contains files needed to develop OCaml programs using this library. %description devel -l pl.UTF-8 LablGL umożliwia używanie OpenGL w OCamlu. Dostępne są wszystkie biblioteki GL i GLU. Pakiet ten zawiera pliki niezbędne do tworzenia programów używających tej biblioteki. %package togl Summary: Tk widget for lablGL Summary(pl.UTF-8): Widget Tk dla lablGL Group: Libraries Requires: %{name} = %{version}-%{release} %requires_eq ocaml-labltk %requires_eq ocaml-runtime %description togl Togl Tk widget for lablGL, to be used with labltk. This package contains files needed to run bytecode executables using this library. %description togl -l pl.UTF-8 Widget Togl używający Tk dla lablGL. Może być on używany wraz z labltk. Pakiet ten zawiera binaria potrzebne do uruchamiania programów używających tej biblioteki. %package togl-devel Summary: Tk widget for lablGL - development part Summary(pl.UTF-8): Widget Tk dla lablGL - cześć programistyczna Group: Development/Libraries Requires: %{name} = %{version}-%{release} %requires_eq ocaml %requires_eq ocaml-labltk-devel %description togl-devel Togl Tk widget for lablGL, to be used with labltk. This package contains files needed to develop OCaml programs using this library. %description togl-devel -l pl.UTF-8 Widget Togl używający Tk dla lablGL. Może być on używany wraz z labltk. Pakiet ten zawiera pliki niezbędne do tworzenia programów używających tej biblioteki. %package glut Summary: GLUT binding for OCaml Summary(pl.UTF-8): Wiązanie OCamla dla biblioteki GLUT Group: Libraries Requires: %{name} = %{version}-%{release} %requires_eq ocaml-runtime %description glut The lablglut library is an OCaml binding for GLUT version 3.7. GLUT (GL Utility Toolkit) is a portable windowing library for OpenGL, written by Mark Kilgard. %description glut -l pl.UTF-8 Biblioteka lablglut to wiązanie OCamla dla biblioteki GLUT w wersji 3.7. GLUT (czyli GL Utility Toolkit) to przenośna biblioteka okienkowa dla OpenGL-a, napisana przez Marka Kilgarda. %package glut-devel Summary: GLUT binding for OCaml - development part Summary(pl.UTF-8): Wiązanie OCamla dla biblioteki GLUT - część programistyczna Group: Development/Libraries Requires: %{name} = %{version}-%{release} %requires_eq ocaml %description glut-devel This package contains development files for GLUT binding for OCaml. %description glut-devel -l pl.UTF-8 Ten pakiet zawiera pliki programistyczne wiązania OCamla dla biblioteki GLUT. %package toplevel Summary: OpenGL binding for OCaml - interactive system Summary(pl.UTF-8): Wiązania OpenGL dla OCamla - system interaktywny Group: Development/Libraries Requires: %{name} = %{version}-%{release} %requires_eq ocaml %description toplevel LablGL is an OpenGL interface for Objective Caml. All of the GL and GLU libraries are available. This package contains OCaml toplevel interactive system linked with lablgl. %description toplevel -l pl.UTF-8 LablGL umożliwia używanie OpenGL w OCamlu. Dostępne są wszystkie biblioteki GL i GLU. Pakiet ten zawiera system interaktywny OCamla skonsolidowany z lablgl. %prep %setup -q -n lablgl-%{version} %build sed -e 's|^\(X\|TK\)INCLUDES|#&|; s|^GLLIBS.*|GLLIBS = -lGL -lGLU -lXmu|; s|^COPTS.*|COPTS = %{rpmcflags} -c -fPIC|;' \ Makefile.config.ex > Makefile.config %{__make} -j1 all %{?with_ocaml_opt:opt} %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/ocaml/{stublibs,site-lib/{lablgl,togl}}} \ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/{LablGlut,Togl} %{__make} install \ INSTALLDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml/lablGL \ DLLDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs \ LIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml \ BINDIR=$RPM_BUILD_ROOT%{_bindir} mv -f $RPM_BUILD_ROOT%{_libdir}/ocaml/lablGL/*.mli . cp -r LablGlut/examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/LablGlut cp -r Togl/examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/Togl cat > $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/lablgl/META < $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/togl/META <