public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/ocaml-lablgtk3] rawhide: OCaml 5.5.0 rebuild
@ 2026-07-09 20:47 Jerry James
  0 siblings, 0 replies; only message in thread
From: Jerry James @ 2026-07-09 20:47 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/ocaml-lablgtk3
            Branch : rawhide
            Commit : 9b6f5969a34bf30a60bf9e1a3ad20aa0b6b5fa8f
            Author : Jerry James <loganjerry@gmail.com>
            Date   : 2026-07-09T14:47:07-06:00
            Stats  : +90/-9 in 2 file(s)
            URL    : https://src.fedoraproject.org/rpms/ocaml-lablgtk3/c/9b6f5969a34bf30a60bf9e1a3ad20aa0b6b5fa8f?branch=rawhide

            Log:
            OCaml 5.5.0 rebuild

- Use the dune declarative buildsystem
- Add patch for dune 3.24 pathname changes

---
diff --git a/195.patch b/195.patch
new file mode 100644
index 0000000..a568d3a
--- /dev/null
+++ b/195.patch
@@ -0,0 +1,75 @@
+From e0cd3a721b385623fe1c42e08e72f914ae64d1a4 Mon Sep 17 00:00:00 2001
+From: Shon Feder <shon.feder@gmail.com>
+Date: Wed, 24 Jun 2026 21:45:40 -0400
+Subject: [PATCH] Fix path handling from dune variable
+
+Dune `deps` variables are expanded to paths. The representation of this
+has changed with https://github.com/ocaml/dune/pull/15156, causing
+propcc to fail on the pending dune 3.24: a `%{dep:gtkAction.props}`
+referencing a file in the rule's own directory now expands to
+"./gtkAction.props", and propcc derived its secondary output filename by
+naively string-prepending "o" to the input, yielding
+"o./gtkActionProps.ml", which is an invalid path that crashes
+`open_out`.
+
+To fix, we take the basename of the input as the stable seed for the
+derived output filenames.
+---
+ tools/introspection/propcc.ml  | 2 +-
+ tools/introspection/propcc.ml4 | 2 +-
+ tools/propcc.ml                | 2 +-
+ tools/propcc.ml4               | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tools/introspection/propcc.ml b/tools/introspection/propcc.ml
+index 2801d2370..e9ca7dd87 100644
+--- a/tools/introspection/propcc.ml
++++ b/tools/introspection/propcc.ml
+@@ -557,7 +557,7 @@ let outfile = ref ""
+ let ooutfile = ref ""
+   
+ let process_file f =
+-  let base = Filename.chop_extension f in
++  let base = Filename.chop_extension (Filename.basename f) in
+   let baseM = String.capitalize_ascii base
+   in
+     (* Input *)
+diff --git a/tools/introspection/propcc.ml4 b/tools/introspection/propcc.ml4
+index bbeeabe06..9c7b9566f 100644
+--- a/tools/introspection/propcc.ml4
++++ b/tools/introspection/propcc.ml4
+@@ -288,7 +288,7 @@ let outfile = ref ""
+ let ooutfile = ref ""
+ 
+ let process_file f =
+-  let base = Filename.chop_extension f in
++  let base = Filename.chop_extension (Filename.basename f) in
+   let baseM = String.capitalize_ascii base in
+   prefix := baseM;
+   (* Input *)
+diff --git a/tools/propcc.ml b/tools/propcc.ml
+index eeb68e316..13a3fdc0f 100644
+--- a/tools/propcc.ml
++++ b/tools/propcc.ml
+@@ -549,7 +549,7 @@ let outfile = ref ""
+ let ooutfile = ref ""
+ 
+ let process_file f =
+-  let base = Filename.chop_extension f in
++  let base = Filename.chop_extension (Filename.basename f) in
+   let baseM = String.capitalize_ascii base in
+   prefix := baseM;
+   (* Input *)
+diff --git a/tools/propcc.ml4 b/tools/propcc.ml4
+index 6e55b2f46..055b47489 100644
+--- a/tools/propcc.ml4
++++ b/tools/propcc.ml4
+@@ -289,7 +289,7 @@ let outfile = ref ""
+ let ooutfile = ref ""
+ 
+ let process_file f =
+-  let base = Filename.chop_extension f in
++  let base = Filename.chop_extension (Filename.basename f) in
+   let baseM = String.capitalize_ascii base in
+   prefix := baseM;
+   (* Input *)

diff --git a/ocaml-lablgtk3.spec b/ocaml-lablgtk3.spec
index e917df1..e419b1f 100644
--- a/ocaml-lablgtk3.spec
+++ b/ocaml-lablgtk3.spec
@@ -5,7 +5,7 @@ ExcludeArch: %{ix86}
 
 Name:           ocaml-lablgtk3
 Version:        3.1.5
-Release:        10%{?dist}
+Release:        11%{?dist}
 Summary:        OCaml interface to gtk3
 
 License:        LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception
@@ -13,6 +13,12 @@ URL:            https://garrigue.github.io/lablgtk/
 VCS:            git:%{giturl}.git
 Source:         %{giturl}/archive/%{version}/lablgtk3-%{version}.tar.gz
 
+# Fix path handling with dune 3.24
+Patch:          %{giturl}/pull/195.patch
+
+BuildSystem:    dune
+BuildOption(install): -s
+
 BuildRequires:  help2man
 BuildRequires:  ocaml >= 4.12.0
 BuildRequires:  ocaml-cairo-devel >= 0.6
@@ -128,10 +134,10 @@ rm doc/FAQ.text
 # Make sure we do not use the bundled copy of xml-light
 rm -fr tools/instrospection/xml-light
 
-%build
+%build -p
 export LABLGTK_EXTRA_FLAGS=-g
-%dune_build
 
+%build -a
 # Make the man pages
 HELP2MAN="-N --version-string=%{version}"
 cd _build/install/default/bin
@@ -141,16 +147,11 @@ help2man $HELP2MAN -N -o ../../../../lablgladecc3.1 \
   -n 'GTK interface compiler' ./lablgladecc3
 cd -
 
-%install
-%dune_install -s
-
+%install -a
 # 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
@@ -176,6 +177,11 @@ cp -p gdk_pixbuf_mlsource3.1 lablgladecc3.1 %{buildroot}%{_mandir}/man1
 %files sourceview3-devel -f .ofiles-lablgtk3-sourceview3-devel
 
 %changelog
+* Thu Jul 09 2026 Jerry James <loganjerry@gmail.com> - 3.1.5-11
+- OCaml 5.5.0 rebuild
+- Use the dune declarative buildsystem
+- Add patch for dune 3.24 pathname changes
+
 * Fri Feb 20 2026 Richard W.M. Jones <rjones@redhat.com> - 3.1.5-10
 - OCaml 5.4.1 rebuild
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-09 20:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-09 20:47 [rpms/ocaml-lablgtk3] rawhide: OCaml 5.5.0 rebuild Jerry James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox