280 lines
9.9 KiB
RPMSpec
280 lines
9.9 KiB
RPMSpec
%ifarch %{ocaml_native_compiler}
|
|
%global native_compiler 1
|
|
%else
|
|
%global native_compiler 0
|
|
%endif
|
|
|
|
# Important note!
|
|
# There are at least two quite separate OCaml cairo projects.
|
|
#
|
|
# This is (packaged in Fedora >= 23):
|
|
# http://forge.ocamlcore.org/projects/cairo/
|
|
# https://github.com/Chris00/ocaml-cairo
|
|
#
|
|
# The other one (which used to be packaged in Fedora <= 22) is:
|
|
# http://cairographics.org/cairo-ocaml/
|
|
|
|
# Packaging git pre-releases here.
|
|
%global commit 675e51b639824f97e06683b080d57f2037064738
|
|
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
|
|
|
Name: ocaml-cairo
|
|
Epoch: 2
|
|
Version: 0.4.7
|
|
Release: 0.8.git%{shortcommit}%{?dist}
|
|
Summary: OCaml library for accessing cairo graphics
|
|
|
|
License: LGPLv3+
|
|
URL: https://github.com/Chris00/%{name}
|
|
|
|
Source0: https://github.com/Chris00/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
|
|
Source1: ocaml-cairo-META
|
|
|
|
BuildRequires: ocaml >= 3.10.0
|
|
BuildRequires: ocaml-findlib-devel
|
|
BuildRequires: ocaml-ocamldoc
|
|
BuildRequires: ocaml-lablgtk-devel
|
|
BuildRequires: cairo-devel >= 1.2.0
|
|
BuildRequires: gtk2-devel
|
|
|
|
|
|
%description
|
|
Cairo is a multi-platform library providing anti-aliased vector-based
|
|
rendering for multiple target backends. Paths consist of line segments
|
|
and cubic splines and can be rendered at any width with various join
|
|
and cap styles. All colors may be specified with optional translucence
|
|
(opacity/alpha) and combined using the extended Porter/Duff
|
|
compositing algebra as found in the X Render Extension.
|
|
|
|
Cairo exports a stateful rendering API similar in spirit to the path
|
|
construction, text, and painting operators of PostScript, (with the
|
|
significant addition of translucence in the imaging model). When
|
|
complete, the API is intended to support the complete imaging model of
|
|
PDF 1.4.
|
|
|
|
This package contains OCaml bindings for Cairo.
|
|
|
|
|
|
%package devel
|
|
Summary: Development files for %{name}
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Requires: ocaml-lablgtk-devel
|
|
|
|
|
|
%description devel
|
|
The %{name}-devel package contains libraries and signature files for
|
|
developing applications that use %{name}.
|
|
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{commit}
|
|
|
|
cp %{SOURCE1} META
|
|
|
|
|
|
%build
|
|
# The upstream package uses some crackpot build system which is
|
|
# not supported in Fedora. Just build the files by hand instead.
|
|
pushd src
|
|
|
|
# OCaml files.
|
|
ocamlfind ocamlc -package lablgtk2 -g -c cairo.mli
|
|
ocamlfind ocamlc -package lablgtk2 -g -c cairo.ml
|
|
ocamlfind ocamlc -package lablgtk2 -g -c cairo_gtk.mli
|
|
ocamlfind ocamlc -package lablgtk2 -g -c cairo_gtk.ml
|
|
%if %{native_compiler}
|
|
ocamlfind ocamlopt -package lablgtk2 -g -c cairo.ml
|
|
ocamlfind ocamlopt -package lablgtk2 -g -c cairo_gtk.ml
|
|
%endif
|
|
|
|
# C files.
|
|
CFLAGS="%{optflags} -fPIC `pkg-config gtk+-2.0 --cflags` -I%{_libdir}/ocaml -I%{_libdir}/ocaml/lablgtk2"
|
|
gcc $CFLAGS -c cairo_stubs.c
|
|
gcc $CFLAGS -c cairo_gtk_stubs.c
|
|
|
|
# Build the two libraries, twice (bytecode & native).
|
|
ocamlfind ocamlmklib -o cairo2 cairo_stubs.o cairo.cmo \
|
|
`pkg-config gtk+-2.0 --libs`
|
|
ocamlfind ocamlmklib -o cairo_gtk cairo_gtk_stubs.o cairo_gtk.cmo \
|
|
`pkg-config gtk+-2.0 --libs`
|
|
%if %{native_compiler}
|
|
ocamlfind ocamlmklib -o cairo2 cairo_stubs.o cairo.cmx \
|
|
`pkg-config gtk+-2.0 --libs`
|
|
ocamlfind ocamlmklib -o cairo_gtk cairo_gtk_stubs.o cairo_gtk.cmx \
|
|
`pkg-config gtk+-2.0 --libs`
|
|
%endif
|
|
|
|
popd
|
|
|
|
|
|
%install
|
|
export DESTDIR=$RPM_BUILD_ROOT
|
|
export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
|
|
mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs
|
|
|
|
%if %{native_compiler}
|
|
ocamlfind install cairo2 src/{*.mli,*.cmi,*.cma,*.a,*.cmxa,*.cmx,dll*.so} META
|
|
%else
|
|
ocamlfind install cairo2 src/{*.mli,*.cmi,*.cma,dll*.so} META
|
|
%endif
|
|
|
|
|
|
%files
|
|
%{_libdir}/ocaml/cairo2
|
|
%if %{native_compiler}
|
|
%exclude %{_libdir}/ocaml/cairo2/*.a
|
|
%exclude %{_libdir}/ocaml/cairo2/*.cmxa
|
|
%exclude %{_libdir}/ocaml/cairo2/*.cmx
|
|
%endif
|
|
%exclude %{_libdir}/ocaml/cairo2/*.mli
|
|
%{_libdir}/ocaml/stublibs/*.so
|
|
%{_libdir}/ocaml/stublibs/*.so.owner
|
|
|
|
|
|
%files devel
|
|
# XXX The tutorial doesn't build.
|
|
%doc examples
|
|
%if %{native_compiler}
|
|
%{_libdir}/ocaml/cairo2/*.a
|
|
%{_libdir}/ocaml/cairo2/*.cmxa
|
|
%{_libdir}/ocaml/cairo2/*.cmx
|
|
%endif
|
|
%{_libdir}/ocaml/cairo2/*.mli
|
|
|
|
|
|
%changelog
|
|
* Tue Jul 28 2015 Richard W.M. Jones <rjones@redhat.com> - 2:0.4.7-0.8.git675e51b
|
|
- OCaml 4.02.3 rebuild.
|
|
|
|
* Wed Jul 22 2015 Richard W.M. Jones <rjones@redhat.com> - 2:0.4.7-0.7.git675e51b
|
|
- Move to latest git commit upstream.
|
|
- Enable bytecode builds.
|
|
|
|
* Wed Jun 24 2015 Richard W.M. Jones <rjones@redhat.com> - 2:0.4.7-0.6.git5c1df15
|
|
- ocaml-4.02.2 final rebuild.
|
|
|
|
* Wed Jun 17 2015 Richard W.M. Jones <rjones@redhat.com> - 2:0.4.7-0.5.git5c1df15
|
|
- ocaml-4.02.2 rebuild.
|
|
|
|
* Thu Mar 19 2015 Richard W.M. Jones <rjones@redhat.com> - 2:0.4.7-0.4.git5c1df15
|
|
- Switch bindings to https://github.com/Chris00/ocaml-cairo
|
|
- See: https://lists.fedoraproject.org/pipermail/devel/2015-March/209182.html
|
|
|
|
* Tue Feb 17 2015 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.20.git872c9bc92e6
|
|
- ocaml-4.02.1 rebuild.
|
|
|
|
* Fri Oct 31 2014 Orion Poplawski <orion@cora.nwra.com> - 1:1.2.0-0.19.git872c9bc92e6
|
|
- Update to latest git
|
|
|
|
* Sat Aug 30 2014 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.18.git08b40192975
|
|
- ocaml-4.02.0 final rebuild.
|
|
|
|
* Sat Aug 23 2014 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.17.git08b40192975
|
|
- ocaml-4.02.0+rc1 rebuild.
|
|
|
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.2.0-0.16.git08b40192975
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
* Sat Aug 02 2014 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.15.git08b40192975
|
|
- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild.
|
|
|
|
* Wed Jul 23 2014 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.14.git08b40192975
|
|
- OCaml 4.02.0 beta rebuild.
|
|
|
|
* Mon Jul 14 2014 Orion Poplawski <orion@cora.nwra.com> - 1:1.2.0-0.13.git08b40192975
|
|
- Rebuild for OCaml 4.02
|
|
|
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.2.0-0.12.git08b40192975
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
* Sat Sep 14 2013 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.11.git08b40192975
|
|
- Rebuild for OCaml 4.01.0.
|
|
- Enable debuginfo.
|
|
- Modernize the spec file.
|
|
|
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.2.0-0.10.git08b40192975
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
|
|
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.2.0-0.9.git08b40192975
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
|
|
* Wed Oct 17 2012 Orion Poplawski <orion@cora.nwra.com> - 1:1.2.0-0.8.git08b40192975
|
|
- Rebuild for OCaml 4.00.1.
|
|
|
|
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.2.0-0.7.git08b40192975
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
|
|
* Fri Jun 8 2012 Orion Poplawski <orion@cora.nwra.com> - 1:1.2.0-0.6.git08b40192975
|
|
- Rebuild for OCaml 4.00.0.
|
|
|
|
* Fri Jan 6 2012 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.5.git08b40192975
|
|
- Update to git commit 08b40192975 (dated 2011-09-11).
|
|
- Rebuild for OCaml 3.12.1.
|
|
|
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:1.2.0-0.4.gita5c5ee9f
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
|
* Wed Jan 5 2011 Orion Poplawski <orion@cora.nwra.com> - 1:1.2.0-0.3.gita5c5ee9f
|
|
- Rebuild for OCaml 3.12
|
|
|
|
* Wed Dec 30 2009 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.2.gita5c5ee9f
|
|
- Rebuild for OCaml 3.11.2.
|
|
|
|
* Mon Dec 7 2009 Richard W.M. Jones <rjones@redhat.com> - 1:1.2.0-0.1.gita5c5ee9f
|
|
- So we are wrong, version numbers did NOT roll backwards.
|
|
- Revert to current git head (a5c5ee9f) which is a pre-release of 1.2.0
|
|
(RHBZ#541542).
|
|
- Replace %%define with %%global.
|
|
- Patch0 is now upstream.
|
|
- Checked package with rpmlint - no problems.
|
|
|
|
* Thu Nov 26 2009 Richard W.M. Jones <rjones@redhat.com> - 1:1.0.0-2
|
|
- ocaml-cairo-devel requires ocaml-lablgtk-devel (RHBZ#541427).
|
|
|
|
* Thu Oct 8 2009 Richard W.M. Jones <rjones@redhat.com> - 1:1.0.0-1
|
|
- New upstream version 1.0.0.
|
|
- Yes, version number really did roll backwards, so now we're using Epoch.
|
|
- Patch for compatibility with OCaml 3.11.1 (renamed bigarray structs).
|
|
|
|
* Tue Sep 29 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080301-11
|
|
- Force rebuild against newer lablgtk.
|
|
|
|
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0.cvs20080301-10
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
|
|
|
* Sat May 23 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080301-9
|
|
- Rebuild for OCaml 3.11.1
|
|
|
|
* Thu Apr 16 2009 S390x secondary arch maintainer <fedora-s390x@lists.fedoraproject.org>
|
|
- 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 <rel-eng@lists.fedoraproject.org> - 1.2.0.cvs20080301-8
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
|
|
|
* Sat Feb 7 2009 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080301-7
|
|
- Rebuild against updated lablgtk.
|
|
|
|
* Tue Dec 9 2008 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080301-6
|
|
- Include cairo.a and cairo_lablgtk.a (fixes BZ 475349).
|
|
|
|
* Thu Dec 4 2008 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080301-5
|
|
- Rebuild.
|
|
|
|
* Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080301-4
|
|
- Rebuild for OCaml 3.11.0
|
|
|
|
* Wed Apr 23 2008 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080301-3
|
|
- Rebuild for OCaml 3.10.2
|
|
|
|
* Sat Mar 1 2008 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080301-2
|
|
- Upgrade to latest CVS.
|
|
- Include instructions on how check out versions from CVS.
|
|
- Build for ppc64.
|
|
|
|
* Fri Feb 29 2008 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080224-2
|
|
- Added BRs for automake and gtk2-devel.
|
|
|
|
* Sun Feb 24 2008 Richard W.M. Jones <rjones@redhat.com> - 1.2.0.cvs20080224-1
|
|
- Initial RPM release.
|