Compare commits

..

1 commit

Author SHA1 Message Date
Richard W.M. Jones
d0a263b754 OCaml 4.10.0 final (Fedora 32). 2020-02-27 13:01:17 +00:00
10 changed files with 97 additions and 316 deletions

6
.gitignore vendored
View file

@ -4,9 +4,3 @@
/labltk-8.06.3.tar.gz
/labltk-8.06.4.tar.gz
/labltk-8.06.5.tar.gz
/8.06.10.tar.gz
/labltk-8.06.11.tar.gz
/labltk-8.06.12.tar.gz
/labltk-8.06.13.tar.gz
/labltk-8.06.14.tar.gz
/labltk-8.06.15.tar.gz

View file

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-*
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View file

@ -0,0 +1,28 @@
--- labltk-8.06.0.old/support/Makefile.common 2014-09-18 05:08:33.000000000 +0100
+++ labltk-8.06.0/support/Makefile.common 2015-02-16 15:11:30.157186457 +0000
@@ -21,17 +21,17 @@
## Tools from the OCaml distribution
CAMLRUN=$(BINDIR)/ocamlrun
-CAMLC=$(BINDIR)/ocamlc$(OPT)
-CAMLOPT=$(BINDIR)/ocamlopt$(OPT)
-CAMLCB=$(BINDIR)/ocamlc
-CAMLOPTB=$(BINDIR)/ocamlopt
-CAMLCOMP=$(CAMLC) -c -warn-error A-3
+CAMLC=$(BINDIR)/ocamlc$(OPT) -g
+CAMLOPT=$(BINDIR)/ocamlopt$(OPT) -g
+CAMLCB=$(BINDIR)/ocamlc -g
+CAMLOPTB=$(BINDIR)/ocamlopt -g
+CAMLCOMP=$(CAMLC) -c -warn-error A-3 -g
CAMLYACC=$(BINDIR)/ocamlyacc -v
CAMLLEX=$(BINDIR)/ocamllex
-CAMLLIBR=$(CAMLC) -a
+CAMLLIBR=$(CAMLC) -a -g
CAMLDEP=$(BINDIR)/ocamldep
COMPFLAGS=-g
LINKFLAGS=
-CAMLOPTLIBR=$(CAMLOPT) -a
-MKLIB=$(BINDIR)/ocamlmklib
+CAMLOPTLIBR=$(CAMLOPT) -a -g
+MKLIB=$(BINDIR)/ocamlmklib -g
CAMLRUNGEN=$(BINDIR)/ocamlrun

View file

@ -1,43 +0,0 @@
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)
-CCFLAGS=-I$(LIBDIR)/caml $(TK_DEFS) $(SHAREDCCCOMPOPTS)
+CCFLAGS=-I$(LIBDIR)/caml $(TK_DEFS) $(SHAREDCCCOMPOPTS) -g
COMPFLAGS=-I +unix
THFLAGS=-I +threads -I vmthreads
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
-CAMLC=$(BINDIR)/ocamlc$(OPT)
-CAMLOPT=$(BINDIR)/ocamlopt$(OPT) $(WARNERR)
-CAMLCB=$(BINDIR)/ocamlc
-CAMLOPTB=$(BINDIR)/ocamlopt
-CAMLCOMP=$(CAMLC) -c $(WARNERR)
+CAMLC=$(BINDIR)/ocamlc$(OPT) -g
+CAMLOPT=$(BINDIR)/ocamlopt$(OPT) $(WARNERR) -g
+CAMLCB=$(BINDIR)/ocamlc -g
+CAMLOPTB=$(BINDIR)/ocamlopt -g
+CAMLCOMP=$(CAMLC) -c $(WARNERR) -g
CAMLYACC=$(BINDIR)/ocamlyacc -v
CAMLLEX=$(BINDIR)/ocamllex
-CAMLLIBR=$(CAMLC) -a
+CAMLLIBR=$(CAMLC) -a -g
CAMLDEP=$(BINDIR)/ocamldep
COMPFLAGS=-g
LINKFLAGS=
-CAMLOPTLIBR=$(CAMLOPT) -a
-MKLIB=$(BINDIR)/ocamlmklib
+CAMLOPTLIBR=$(CAMLOPT) -a -g
+MKLIB=$(BINDIR)/ocamlmklib -g
CAMLRUNGEN=$(BINDIR)/ocamlrun
ifeq (x$(RANLIB),x)
RANLIB=":"

View file

@ -1,28 +0,0 @@
This patch is required because of the following problem when linking
the test binary in ./configure. This seems unrelated to OCaml and
somehow caused by changes in Tcl (or Fedora) itself:
runtest: gcc -o tst -I/usr/local/include/tcl8.5 -I/usr/local/include/tk8.5 -I/usr/local/include tclversion.c -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -lm
tclversion.c:21:1: warning: return type defaults to 'int' [-Wimplicit-int]
21 | main ()
| ^~~~
/usr/bin/ld: /tmp/ccDzgQio.o: relocation R_RISCV_HI20 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: .gnu.build.attributes has both ordered [`.gnu.build.attributes.lo.exit' in /lib64/lp64d/../lib64/lp64d/Scrt1.o] and unordered [`.gnu.build.attributes' in /lib64/lp64d/../lib64/lp64d/Scrt1.o] sections
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
RWMJ 2022-09-20
--- labltk-8.06.12.old/config/auto-aux/runtest 2022-09-20 14:32:40.445384080 +0100
+++ labltk-8.06.12/config/auto-aux/runtest 2022-09-20 14:37:08.035133820 +0100
@@ -15,8 +15,8 @@
if test "$verbose" = yes; then
echo "runtest: $cc -o tst $* $cclibs" >&2
-$cc -o tst $* $cclibs || exit 100
+$cc -fPIC -o tst $* $cclibs || exit 100
else
-$cc -o tst $* $cclibs 2> /dev/null || exit 100
+$cc -fPIC -o tst $* $cclibs 2> /dev/null || exit 100
fi
exec ./tst

View file

@ -0,0 +1,11 @@
--- labltk-8.06.4.old/support/Makefile 2017-10-30 09:19:07.000000000 +0000
+++ labltk-8.06.4/support/Makefile 2017-11-07 21:24:58.244605912 +0000
@@ -28,7 +28,7 @@
cltkFile.$(O) cltkMain.$(O) cltkMisc.$(O) cltkTimer.$(O) \
cltkVar.$(O) cltkWait.$(O) cltkImg.$(O)
-CCFLAGS=-I$(LIBDIR)/caml $(TK_DEFS) $(SHAREDCCCOMPOPTS)
+CCFLAGS=-I$(LIBDIR)/caml $(TK_DEFS) $(SHAREDCCCOMPOPTS) -g
COMPFLAGS=
THFLAGS=-I +threads -I vmthreads

View file

@ -1,107 +1,78 @@
# This breaks basic usage of the package:
# ocamlfind ocamlopt -package labltk tktest.ml -linkpkg -o tktest
# gcc: fatal error: environment variable RPM_ARCH not defined
%undefine _package_note_flags
# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch: %{ix86}
%global giturl https://github.com/garrigue/labltk
%ifarch %{ocaml_native_compiler}
%global native_compiler 1
%else
%global native_compiler 0
%endif
Name: ocaml-labltk
Version: 8.06.15
Release: 4%{?dist}
Version: 8.06.5
Release: 13%{?dist}.1
Summary: Tcl/Tk interface for OCaml
License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception
License: LGPLv2+ with exceptions
URL: https://garrigue.github.io/labltk/
VCS: git:%{giturl}.git
Source0: %{giturl}/archive/%{version}/labltk-%{version}.tar.gz
URL: https://forge.ocamlcore.org/projects/labltk/
Source0: https://forge.ocamlcore.org/frs/download.php/1727/labltk-%{version}.tar.gz
# This adds debugging (-g) everywhere.
Patch1: labltk-8.06.11-enable-debugging.patch
Patch1: labltk-8.06.0-enable-debugging.patch
Patch2: labltk-8.06.4-enable-more-debugging.patch
# Resolve an issue with ./configure and Tcl detection.
Patch2: labltk-8.06.12-use-fpic-configure.patch
BuildRequires: make
BuildRequires: ocaml
BuildRequires: ocaml-ocamldoc
BuildRequires: ocaml-rpm-macros
BuildRequires: tcl-devel, tk-devel
%global _desc %{expand:
%description
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 %_desc
language Tcl/Tk (all versions since 8.0.3, but no betas).
%package devel
Summary: Tcl/Tk interface for OCaml
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: tcl-devel%{?_isa}
Requires: tk-devel%{?_isa}
%description devel %_desc
%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).
This package contains the development files.
%package doc
Summary: Documentation for labltk
BuildArch: noarch
%description doc %_desc
This package contains the API reference.
%prep
%autosetup -n labltk-%{version} -p1
%setup -q -n labltk-%{version}
%patch1 -p1
%patch2 -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
./configure
# Build does not work in parallel.
unset MAKEFLAGS
%ifarch %{ocaml_native_compiler}
make all opt \
SHAREDCCCOMPOPTS='%{build_cflags} -fPIC' \
TK_LINK="%{build_ldflags} $(pkg-config --libs tk)"
%else
%if !%{native_compiler}
make byte
%else
make all opt \
SHAREDCCCOMPOPTS="%{optflags} -fPIC" \
TK_LINK="%{__global_ldflags} -ltk8.6 -ltcl8.6"
%endif
# Build documentation
# make apiref does not work
MLIS=$(ls -1d labltk/*.mli | grep -Fv _tkgen.mli)
mkdir apiref
/usr/bin/ocamldoc -I +unix -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}
@ -110,167 +81,43 @@ mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs
make install \
BINDIR=$RPM_BUILD_ROOT%{_bindir} \
INSTALLDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml/labltk \
STUBLIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs \
RANLIB=:
sed 's/8\.06\.6/%{version}/' support/META > \
$RPM_BUILD_ROOT%{ocamldir}/labltk/META
%ocaml_files
STUBLIBDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs
%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
%files -f .ofiles
%files
%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 -f .ofiles-devel
%files devel
%doc README.mlTk
%files doc
%doc examples_camltk
%doc examples_labltk
%doc apiref
%{_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
%changelog
* Mon Oct 13 2025 Richard W.M. Jones <rjones@redhat.com> - 8.06.15-4
- OCaml 5.4.0 rebuild
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.15-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jul 11 2025 Jerry James <loganjerry@gmail.com> - 8.06.15-2
- Rebuild to fix OCaml dependencies
* Mon Feb 03 2025 Richard W.M. Jones <rjones@redhat.com> - 8.06.15-1
- New upstream version 8.06.15
- Includes Tcl 9 support (RHBZ#2337740)
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jan 9 2025 Jerry James <loganjerry@gmail.com> - 8.06.14-2
- OCaml 5.3.0 rebuild for Fedora 42
* Thu Aug 1 2024 Jerry James <loganjerry@gmail.com> - 8.06.14-1
- Version 8.06.14
- Drop upstreamed patch to avoid implicit int in configure
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.13-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jun 19 2024 Richard W.M. Jones <rjones@redhat.com> - 8.06.13-12
- OCaml 5.2.0 ppc64le fix
* Wed May 29 2024 Richard W.M. Jones <rjones@redhat.com> - 8.06.13-11
- OCaml 5.2.0 for Fedora 41
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.13-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.13-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 8.06.13-8
- OCaml 5.1.1 + s390x code gen fix for Fedora 40
* Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 8.06.13-7
- OCaml 5.1.1 rebuild for Fedora 40
* Thu Oct 05 2023 Richard W.M. Jones <rjones@redhat.com> - 8.06.13-6
- OCaml 5.1 rebuild for Fedora 40
* Wed Oct 4 2023 Jerry James <loganjerry@gmail.com> - 8.06.13-5
- Depend on ocaml-rpm-macros instead of python3
* Sat Sep 9 2023 Jerry James <loganjerry@gmail.com> - 8.06.13-4
- Add devel package dependency on tcl-/tk-devel
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jul 11 2023 Richard W.M. Jones <rjones@redhat.com> - 8.06.13-2
- OCaml 5.0 rebuild for Fedora 39
* 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
* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 8.06.12-3
- Rebuild OCaml packages for F38
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Sep 20 2022 Richard W.M. Jones <rjones@redhat.com> - 8.06.12-1
- New upstream version 8.06.12
- Enable verbose output from configure script.
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.11-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 8.06.11-4
- OCaml 4.14.0 rebuild
* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 8.06.11-3
- OCaml 4.13.1 rebuild to remove package notes
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Oct 04 2021 Richard W.M. Jones <rjones@redhat.com> - 8.06.11-1
- New upstream version 8.06.11
- OCaml 4.13.1 build
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Mar 15 2021 Richard W.M. Jones <rjones@redhat.com> - 8.06.10-2
- Bump and rebuild for ELN broken deps.
* Mon Mar 1 22:24:19 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 8.06.10-1
- New upstream version 8.06.10.
- Now hosted on github.
* Sun Feb 28 22:24:19 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-23
- Bump release and rebuild.
* Sun Feb 28 22:16:43 GMT 2021 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-22
- OCaml 4.12.0 build
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.5-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Sep 01 2020 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-20
- OCaml 4.11.1 rebuild
* Fri Aug 21 2020 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-19
- OCaml 4.11.0 rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 8.06.5-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon May 04 2020 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-17
- OCaml 4.11.0+dev2-2020-04-22 rebuild
* Tue Apr 21 2020 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-16
- OCaml 4.11.0 pre-release attempt 2
* Fri Apr 17 2020 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-15
- OCaml 4.11.0 pre-release
* Thu Apr 02 2020 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-14
- Update all OCaml dependencies for RPM 4.16.
* Thu Feb 27 2020 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-13.1
- OCaml 4.10.0 final (Fedora 32).
* Wed Feb 26 2020 Richard W.M. Jones <rjones@redhat.com> - 8.06.5-13
- OCaml 4.10.0 final.

View file

@ -1 +1 @@
SHA512 (labltk-8.06.15.tar.gz) = 67feb7f51be2a837050dc0b94a4cd185f05db240cdbb1188d5787465dd2abed98b17244c66893ad18ef912fbbe960b90a3e116a9f283a6277b6a747043780e24
SHA512 (labltk-8.06.5.tar.gz) = 8a6bfefd1ba8ef1fb54c284a06067007dd48833a475e24c787c0c2100a30a5ab018606ca3e79fd0fa323b6759de0ae3c7e6ef881e662bf1d7f84e920c7bebe7a

View file

@ -1,9 +0,0 @@
#!/bin/bash -
set -e
set -x
# Compile trivial tk program.
echo 'ignore (Tk.opentk ())' > tktest.ml
ocamlfind ocamlopt -package labltk tktest.ml -linkpkg -o tktest
# Unfortunately we can't run this as we won't have an X server available.
#./tktest

View file

@ -1,13 +0,0 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
required_packages:
- ocaml
- ocaml-findlib
- ocaml-labltk-devel
tests:
- simple:
dir: .
run: ./basic-test.sh