Version 8.06.13

Other changes:
- Convert License tag to SPDX
- Update project URL
- Install META file
- New doc subpackage for the documentation
- Fix configure script failure
- Compute linker flags more robustly
- Use new OCaml macros
This commit is contained in:
Jerry James 2023-07-10 14:13:54 -06:00
parent db01d66028
commit fb15adce27
4 changed files with 74 additions and 54 deletions

1
.gitignore vendored
View File

@ -7,3 +7,4 @@
/8.06.10.tar.gz
/labltk-8.06.11.tar.gz
/labltk-8.06.12.tar.gz
/labltk-8.06.13.tar.gz

View File

@ -1,6 +1,6 @@
diff -ur labltk-8.06.11.old/support/Makefile labltk-8.06.11/support/Makefile
--- labltk-8.06.11.old/support/Makefile 2021-10-04 19:10:57.000196523 +0100
+++ labltk-8.06.11/support/Makefile 2021-10-04 19:18:06.263137991 +0100
diff -ur labltk-8.06.13.old/support/Makefile labltk-8.06.13/support/Makefile
--- labltk-8.06.13.old/support/Makefile 2022-10-31 16:54:15.000000000 -0600
+++ labltk-8.06.13/support/Makefile 2023-06-15 20:40:04.891751478 -0600
@@ -28,7 +28,7 @@
cltkFile.$(O) cltkMain.$(O) cltkMisc.$(O) cltkTimer.$(O) \
cltkVar.$(O) cltkWait.$(O) cltkImg.$(O)
@ -8,12 +8,12 @@ diff -ur labltk-8.06.11.old/support/Makefile labltk-8.06.11/support/Makefile
-CCFLAGS=-I$(LIBDIR)/caml $(TK_DEFS) $(SHAREDCCCOMPOPTS)
+CCFLAGS=-I$(LIBDIR)/caml $(TK_DEFS) $(SHAREDCCCOMPOPTS) -g
COMPFLAGS=
COMPFLAGS=-I +unix
THFLAGS=-I +threads -I vmthreads
diff -ur labltk-8.06.11.old/support/Makefile.common labltk-8.06.11/support/Makefile.common
--- labltk-8.06.11.old/support/Makefile.common 2021-10-04 19:10:56.990196618 +0100
+++ labltk-8.06.11/support/Makefile.common 2021-10-04 19:18:06.264137981 +0100
@@ -21,17 +21,17 @@
diff -ur labltk-8.06.13.old/support/Makefile.common labltk-8.06.13/support/Makefile.common
--- labltk-8.06.13.old/support/Makefile.common.orig 2022-10-31 16:54:15.000000000 -0600
+++ labltk-8.06.13/support/Makefile.common 2023-06-15 20:40:04.891751478 -0600
@@ -21,19 +21,19 @@
## Tools from the OCaml distribution
CAMLRUN=$(BINDIR)/ocamlrun
@ -39,3 +39,5 @@ diff -ur labltk-8.06.11.old/support/Makefile.common labltk-8.06.11/support/Makef
+CAMLOPTLIBR=$(CAMLOPT) -a -g
+MKLIB=$(BINDIR)/ocamlmklib -g
CAMLRUNGEN=$(BINDIR)/ocamlrun
ifeq (x$(RANLIB),x)
RANLIB=":"

View File

@ -1,4 +1,3 @@
%undefine _package_note_flags
%ifarch %{ocaml_native_compiler}
%global native_compiler 1
%else
@ -6,14 +5,14 @@
%endif
Name: ocaml-labltk
Version: 8.06.12
Release: 4%{?dist}
Version: 8.06.13
Release: 1%{?dist}
Summary: Tcl/Tk interface for OCaml
License: LGPLv2+ with exceptions
License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception
URL: https://github.com/garrigue/labltk
URL: https://garrigue.github.io/labltk/
Source0: https://github.com/garrigue/labltk/archive/%{version}/labltk-%{version}.tar.gz
# This adds debugging (-g) everywhere.
@ -21,16 +20,22 @@ Patch1: labltk-8.06.11-enable-debugging.patch
# Resolve an issue with ./configure and Tcl detection.
Patch2: labltk-8.06.12-use-fpic-configure.patch
Patch3: ocaml-labltk-configure-c99.patch
# Avoid implicit int because it was removed from the C language
Patch3: ocaml-labltk-configure-c99.patch
BuildRequires: make
BuildRequires: ocaml
BuildRequires: ocaml-ocamldoc
BuildRequires: python3
BuildRequires: tcl-devel, tk-devel
%description
%global _desc %{expand:
labltk or mlTk is a library for interfacing OCaml with the scripting
language Tcl/Tk (all versions since 8.0.3, but no betas).
language Tcl/Tk (all versions since 8.0.3, but no betas).}
%description %_desc
%package devel
@ -39,31 +44,36 @@ Summary: Tcl/Tk interface for OCaml
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
labltk or mlTk is a library for interfacing OCaml with the scripting
language Tcl/Tk (all versions since 8.0.3, but no betas).
%description devel %_desc
This package contains the development files.
%prep
%setup -q -n labltk-%{version}
%package doc
Summary: Documentation for labltk
BuildArch: noarch
%patch1 -p1
%patch2 -p1
%patch3 -p1
%description doc %_desc
This package contains the API reference.
%prep
%autosetup -n labltk-%{version} -p1
# Remove version control files which might get copied into documentation.
find -name .gitignore -delete
# Kill -warn-error.
find -type f | xargs sed -i -e 's/-warn-error/-w/g'
# Don't build ocamlbrowser.
mv browser browser.old
mkdir browser
echo -e 'all:\ninstall:\n' > browser/Makefile
# Use of the hardening linker flags without the hardening C flags leads to
# failure of the configure script. We don't need linker flags for this step.
sed -i 's/^cclibs=.*/cclibs=/' configure
%build
./configure -verbose
@ -75,10 +85,19 @@ unset MAKEFLAGS
make byte
%else
make all opt \
SHAREDCCCOMPOPTS="%{optflags} -fPIC" \
TK_LINK="%{__global_ldflags} -ltk8.6 -ltcl8.6"
SHAREDCCCOMPOPTS='%{build_cflags} -fPIC' \
TK_LINK="%{build_ldflags} $(pkg-config --libs tk)"
%endif
# Build documentation
# make apiref does not work
MLIS=$(ls -1d labltk/*.mli | grep -Fv _tkgen.mli)
mkdir apiref
/usr/bin/ocamldoc -I +threads -I support -I labltk -I camltk \
support/fileevent.mli support/support.mli support/textvariable.mli \
support/timer.mli support/tkthread.mli support/widget.mli $MLIS \
labltk/tk.ml -sort -d apiref -html
%install
mkdir -p $RPM_BUILD_ROOT%{_bindir}
@ -89,40 +108,38 @@ make install \
INSTALLDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml/labltk \
STUBLIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs \
RANLIB=:
%if %{native_compiler}
# The *.o files are not installed by the Makefile. AIUI
# that prevents linking with native code programs.
install -m 0644 camltk/*.o $RPM_BUILD_ROOT%{_libdir}/ocaml/labltk
%endif
sed 's/8\.06\.6/%{version}/' support/META > \
$RPM_BUILD_ROOT%{ocamldir}/labltk/META
%ocaml_files
%files
%files -f .ofiles
%doc Changes README.mlTk
%dir %{_libdir}/ocaml/labltk
%{_libdir}/ocaml/labltk/*.cmi
%{_libdir}/ocaml/labltk/*.cma
%{_libdir}/ocaml/labltk/*.cmo
%{_libdir}/ocaml/stublibs/dlllabltk.so
%files devel
%files devel -f .ofiles-devel
%doc README.mlTk
%files doc
%doc examples_camltk
%doc examples_labltk
%{_bindir}/labltk
%{_libdir}/ocaml/labltk/labltktop
%{_libdir}/ocaml/labltk/pp
%{_libdir}/ocaml/labltk/tkcompiler
%{_libdir}/ocaml/labltk/*.a
%if %{native_compiler}
%{_libdir}/ocaml/labltk/*.cmxa
%{_libdir}/ocaml/labltk/*.cmx
%{_libdir}/ocaml/labltk/*.o
%endif
%{_libdir}/ocaml/labltk/*.mli
%doc apiref
%changelog
* Mon Jul 10 2023 Jerry James <loganjerry@gmail.com> - 8.06.13-1
- Version 8.06.13
- Convert License tag to SPDX
- Update project URL
- Install META file
- New doc subpackage for the documentation
- Fix configure script failure
- Compute linker flags more robustly
- Use new OCaml macros
* Sat Apr 15 2023 Florian Weimer <fweimer@redhat.com> - 8.06.12-4
- Port configure stage to C99

View File

@ -1 +1 @@
SHA512 (labltk-8.06.12.tar.gz) = e1564ab2d8922276bd8ad586b37308d60ca2dd563bac3cdd992d8a6ba4de26e5499350a62a1d4cb2bbb9a5b7aff609b5187aad5fba118eb55d1b4c8355d2979a
SHA512 (labltk-8.06.13.tar.gz) = bc31f360902b2dac573683d5be148ed1437ab94ba08447bb1f649f1f62ebe94956c3fc98ca6136887528084828402b224e982e9d367d8814708114ade92749c1