# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch: %{ix86}
Name: ocaml-lablgtk3
Version: 3.1.4
Release: 1%{?dist}
Summary: OCaml interface to gtk3
License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception
URL: https://garrigue.github.io/lablgtk/
Source0: https://github.com/garrigue/lablgtk/archive/%{version}/lablgtk3-%{version}.tar.gz
# Fix an incompatible pointer error
# https://github.com/garrigue/lablgtk/pull/175
Patch0: %{name}-incompatible-pointer.patch
BuildRequires: help2man
BuildRequires: ocaml >= 4.12.0
BuildRequires: ocaml-cairo-devel >= 0.6
BuildRequires: ocaml-camlp-streams-devel >= 5.0
BuildRequires: ocaml-dune >= 1.8.0
BuildRequires: ocaml-dune-configurator-devel
BuildRequires: pkgconfig(goocanvas-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtksourceview-3.0)
BuildRequires: pkgconfig(gtkspell3-3.0)
BuildRequires: pkgconfig(librsvg-2.0)
# This can be removed when F40 reaches EOL
Obsoletes: ocaml-lablgtk3-doc < 3.1.2-5
%global _description %{expand:
LablGTK3 is an Objective Caml interface to gtk3. It uses the rich
type system of Objective Caml to provide a strongly typed, yet very
comfortable, object-oriented interface to gtk3.}
%description %_description
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gtk3-devel%{?_isa}
Requires: ocaml-cairo-devel%{?_isa}
%description devel
The %{name}-devel package contains libraries and signature files for
developing applications that use %{name}.
%package goocanvas2
Summary: OCaml interface to GooCanvas
Requires: %{name}%{?_isa} = %{version}-%{release}
%description goocanvas2 %_description
This package contains OCaml bindings for the GTK3 GooCanvas library.
%package goocanvas2-devel
Summary: Development files for %{name}-goocanvas2
Requires: %{name}-goocanvas2%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Requires: goocanvas2-devel%{?_isa}
%description goocanvas2-devel
The %{name}-goocanvas2-devel package contains libraries and signature
files for developing applications that use %{name}-goocanvas2.
%package gtkspell3
Summary: OCaml interface to gtkspell3
Requires: %{name}%{?_isa} = %{version}-%{release}
%description gtkspell3 %_description
This package contains OCaml bindings for gtkspell3.
%package gtkspell3-devel
Summary: Development files for %{name}-gtkspell3
Requires: %{name}-gtkspell3%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Requires: gtkspell3-devel%{?_isa}
%description gtkspell3-devel
The %{name}-gtkspell3-devel package contains libraries and signature
files for developing applications that use %{name}-gtkspell3.
%package rsvg2
Summary: OCaml interface to librsvg2
Requires: %{name}%{?_isa} = %{version}-%{release}
%description rsvg2 %_description
This package contains OCaml bindings for librsvg2.
%package rsvg2-devel
Summary: Development files for %{name}-rsvg2
Requires: %{name}-rsvg2%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Requires: librsvg2-devel%{?_isa}
%description rsvg2-devel
The %{name}-rsvg2-devel package contains libraries and signature
files for developing applications that use %{name}-rsvg2.
%package sourceview3
Summary: OCaml interface to gtksourceview3
Requires: %{name}%{?_isa} = %{version}-%{release}
%description sourceview3 %_description
This package contains OCaml bindings for gtksourceview3.
%package sourceview3-devel
Summary: Development files for %{name}-sourceview3
Requires: %{name}-sourceview3%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Requires: gtksourceview3-devel%{?_isa}
%description sourceview3-devel
The %{name}-sourceview3-devel package contains libraries and signature
files for developing applications that use %{name}-sourceview3.
%prep
%autosetup -n lablgtk-%{version} -p1
# This file is empty, so drop it before we make assemble the docs
rm doc/FAQ.text
# Make sure we do not use the bundled copy of xml-light
rm -fr tools/instrospection/xml-light
# Fix the version number
sed -i 's/3\.1\.2/%{version}/' dune-project
%build
export LABLGTK_EXTRA_FLAGS=-g
%dune_build
# Make the man pages
HELP2MAN="-N --version-string=%{version}"
cd _build/install/default/bin
help2man $HELP2MAN -o ../../../../gdk_pixbuf_mlsource3.1 ./gdk_pixbuf_mlsource3
help2man $HELP2MAN -o ../../../../lablgladecc3.1 ./lablgladecc3
cd -
%install
%dune_install -s
# Install the man pages
mkdir -p %{buildroot}%{_mandir}/man1
cp -p gdk_pixbuf_mlsource3.1 lablgladecc3.1 %{buildroot}%{_mandir}/man1
%check
%dune_check
%files -f .ofiles-lablgtk3
%doc CHANGES.md CHANGELOG.API README.md doc
%license LGPL LICENSE
%{_mandir}/man1/gdk_pixbuf_mlsource3.1*
%{_mandir}/man1/lablgladecc3.1*
%files devel -f .ofiles-lablgtk3-devel
%files goocanvas2 -f .ofiles-lablgtk3-goocanvas2
%files goocanvas2-devel -f .ofiles-lablgtk3-goocanvas2-devel
%files gtkspell3 -f .ofiles-lablgtk3-gtkspell3
%files gtkspell3-devel -f .ofiles-lablgtk3-gtkspell3-devel
%files rsvg2 -f .ofiles-lablgtk3-rsvg2
%files rsvg2-devel -f .ofiles-lablgtk3-rsvg2-devel
%files sourceview3 -f .ofiles-lablgtk3-sourceview3
%files sourceview3-devel -f .ofiles-lablgtk3-sourceview3-devel
%changelog
* Fri Feb 2 2024 Jerry James <loganjerry@gmail.com> - 3.1.4-1
- Version 3.1.4
- Add rsvg2 subpackage
- Add patch to fix an incompatible pointer error
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.3-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.3-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 3.1.3-9
- OCaml 5.1.1 + s390x code gen fix for Fedora 40
* Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 3.1.3-8
- OCaml 5.1.1 rebuild for Fedora 40
* Thu Oct 05 2023 Richard W.M. Jones <rjones@redhat.com> - 3.1.3-7
- OCaml 5.1 rebuild for Fedora 40
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 Richard W.M. Jones <rjones@redhat.com> - 3.1.3-5
- OCaml 5.0 rebuild for Fedora 39
* Mon Jul 10 2023 Jerry James <loganjerry@gmail.com> - 3.1.3-4
- OCaml 5.0.0 rebuild
* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 3.1.3-3
- Rebuild OCaml packages for F38
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Oct 12 2022 Jerry James <loganjerry@gmail.com> - 3.1.3-1
- Version 3.1.3
- Convert License tag to SPDX
- Drop xml-light patch; that code is not built anyway
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 20 2022 Jerry James <loganjerry@gmail.com> - 3.1.2-4
- Use new OCaml macros
* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 3.1.2-4
- OCaml 4.14.0 rebuild
* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 3.1.2-3
- OCaml 4.13.1 rebuild to remove package notes
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 27 2021 Jerry James <loganjerry@gmail.com> - 3.1.2-1
- Version 3.1.2
- Drop upstreamed -vadjustment patch
- Add -goocanvas2 and -goocanvas2-devel subpackages
* Tue Oct 05 2021 Richard W.M. Jones <rjones@redhat.com> - 3.1.1-9
- OCaml 4.13.1 build
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Jul 17 2021 Jerry James <loganjerry@gmail.com> - 3.1.1-7
- Add ocaml-findlib BR to get ocamldoc META file
- Build documentation with ocamldoc instead of odoc
* Tue Jun 22 2021 Jerry James <loganjerry@gmail.com> - 3.1.1-6
- Rebuild for ocaml-lablgtk without gnomeui
- Add -vadjustment patch to fix layout issue
* Mon Mar 1 15:56:21 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 3.1.1-5
- OCaml 4.12.0 build
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 3.1.1-3
- OCaml 4.11.1 rebuild
* Fri Aug 21 2020 Richard W.M. Jones <rjones@redhat.com> - 3.1.1-2
- OCaml 4.11.0 rebuild
* Wed Aug 5 2020 Jerry James <loganjerry@gmail.com> - 3.1.1-1
- Version 3.1.1
- Drop upstreamed -fno-common patch
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-8
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue May 05 2020 Richard W.M. Jones <rjones@redhat.com> - 3.1.0-6
- OCaml 4.11.0+dev2-2020-04-22 rebuild
* Wed Apr 22 2020 Richard W.M. Jones <rjones@redhat.com> - 3.1.0-5
- OCaml 4.11.0 pre-release attempt 2
* Sat Apr 04 2020 Richard W.M. Jones <rjones@redhat.com> - 3.1.0-4
- Bump release and rebuild.
* Sat Apr 04 2020 Richard W.M. Jones <rjones@redhat.com> - 3.1.0-3
- Update all OCaml dependencies for RPM 4.16.
* Sat Mar 7 2020 Jerry James <loganjerry@gmail.com> - 3.1.0-2
- Build documentation with odoc
- Add _isa flags to Requires in the devel subpackage
* Wed Jan 29 2020 Jerry James <loganjerry@gmail.com> - 3.1.0-1
- Initial RPM