Notification time stamped 2023-06-30 21:01:43 UTC
From 46592fa5597fa260ae05ed4db72b8c5ea1fb8246 Mon Sep 17 00:00:00 2001
From: Jerry James <loganjerry(a)gmail.com>
Date: Jun 30 2023 21:01:26 +0000
Subject: Initial import
---
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4b0b69b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/uucd-*.tbz
diff --git a/README.md b/README.md
index d6f1361..781bfb1 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
# ocaml-uucd
-Uucd is an OCaml module to decode the data of the
-[Unicode character database](http://www.unicode.org/reports/tr44/) from its
-[XML representation](http://www.unicode.org/reports/tr42/). It provides
-high-level (but not necessarily efficient) access to the data so that
+[Uucd](https://erratique.ch/software/uucd) is an OCaml module to decode the
+data of the [Unicode character database](http://www.unicode.org/reports/tr44/)
+from its [XML representation](http://www.unicode.org/reports/tr42/). It
+provides high-level (but not necessarily efficient) access to the data so that
efficient representations can be extracted.
Uucd is made of a single module, depends on Xmlm and is distributed under the
-ISC license.
\ No newline at end of file
+ISC license.
diff --git a/ocaml-uucd.spec b/ocaml-uucd.spec
new file mode 100644
index 0000000..0e89952
--- /dev/null
+++ b/ocaml-uucd.spec
@@ -0,0 +1,69 @@
+%ifnarch %{ocaml_native_compiler}
+%global debug_package %{nil}
+%endif
+
+Name: ocaml-uucd
+Version: 15.0.0
+Release: %autorelease
+Summary: Unicode character database decoder for OCaml
+
+License: ISC
+URL: https://erratique.ch/software/uucd
+Source0: %{url}/releases/uucd-%{version}.tbz
+
+BuildRequires: ocaml >= 4.01.0
+BuildRequires: ocaml-findlib
+BuildRequires: ocaml-ocamlbuild
+BuildRequires: ocaml-topkg-devel >= 1.0.3
+BuildRequires: ocaml-xmlm-devel
+BuildRequires: python3
+
+%description
+Uucd is an OCaml module to decode the data of the Unicode character
+database (http://www.unicode.org/reports/tr44/) from its XML
+representation (http://www.unicode.org/reports/tr42/) It provides
+high-level (but not necessarily efficient) access to the data so that
+efficient representations can be extracted.
+
+Uucd is made of a single module, depends on Xmlm and is distributed
+under the ISC license.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: ocaml-xmlm-devel%{?_isa}
+
+%description devel
+The %{name}-devel package contains libraries and signature
+files for developing applications that use %{name}.
+
+%prep
+%autosetup -n uucd-%{version}
+
+%build
+# Build the library and the tests
+ocaml pkg/pkg.ml build --dev-pkg false --tests true
+
+%install
+# Install the library
+mkdir -p %{buildroot}%{ocamldir}/uucd
+cp -p _build/{opam,pkg/META} %{buildroot}%{ocamldir}/uucd
+%ifarch %{ocaml_native_compiler}
+cp -a _build/src/*.{a,cma,cmi,cmt,cmti,cmx,cmxa,cmxs,mli} \
+ %{buildroot}%{ocamldir}/uucd
+%else
+cp -a _build/src/*.{cma,cmi,cmt,cmti,mli} %{buildroot}%{ocamldir}/uucd
+%endif
+%ocaml_files
+
+%check
+ocaml pkg/pkg.ml test
+
+%files -f .ofiles
+%license LICENSE.md
+%doc README.md CHANGES.md
+
+%files devel -f .ofiles-devel
+
+%changelog
+%autochangelog
diff --git a/sources b/sources
new file mode 100644
index 0000000..fab8deb
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (uucd-15.0.0.tbz) = 022507d380dea2ce5a1a3b2b8f1d18be10454184fd11ddbd1ecbe09d303284b6e1cb59144748ccef4292bb82a469341d81086e1b3024fb9b08ad14b43e12abce
https://src.fedoraproject.org/rpms/ocaml-uucd/c/46592fa5597fa260ae05ed4db72…
Notification time stamped 2023-06-30 20:47:16 UTC
From 1a38dc90d92055d6df94f2dc9b916616fbaf539c Mon Sep 17 00:00:00 2001
From: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Jun 30 2023 20:41:38 +0000
Subject: Patch for test failure
---
diff --git a/23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831.patch b/23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831.patch
new file mode 100644
index 0000000..3dd106b
--- /dev/null
+++ b/23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831.patch
@@ -0,0 +1,43 @@
+From 23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Szabolcs=20Horva=CC=81t?= <szhorvat(a)gmail.com>
+Date: Fri, 30 Jun 2023 21:35:49 +0200
+Subject: [PATCH] fix: correct bisection procedure in
+ igraph_community_voronoi()
+
+---
+ src/community/voronoi.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/src/community/voronoi.c b/src/community/voronoi.c
+index f8f48e8414..1a9ea7cae3 100644
+--- a/src/community/voronoi.c
++++ b/src/community/voronoi.c
+@@ -341,17 +341,24 @@ static igraph_error_t brent_opt(optfun_t *f, igraph_real_t x1, igraph_real_t x2,
+ }
+
+ /* It sometimes happens in disconnected graphs that the maximum is reached at or near the
+- * top of the radius range. If so, we bisect the (f3, f2) interval to search for a configuration
++ * top of the radius range. If so, we bisect the (x3, x2) interval to search for a configuration
+ * where f3 >= f2. */
+ if (f2 > f3) {
+- /* Limit iterations to 20 */
+- for (int i=0; i < 20; ++i) {
+- x1 = x2; f1 = f2;
++ /* Limit iterations to niter=20 */
++ const int niter = 20;
++ int i;
++ for (i=0; i < niter; ++i) {
++ x1 = x3; f1 = f3;
+ x3 = 0.5 * (x1 + x2);
+ IGRAPH_CHECK(f(x3, &f3, extra));
+
+ if (f3 >= f2) break;
+ }
++ /* If no maximum was found in 'niter' bisections, just take the upper end of the range. */
++ if (i == niter) {
++ IGRAPH_CHECK(f(x2, &f2, extra));
++ return IGRAPH_SUCCESS;
++ }
+ }
+
+ /* Limit iterations to 20 */
diff --git a/igraph.spec b/igraph.spec
index 9ac0cb0..949ecc4 100644
--- a/igraph.spec
+++ b/igraph.spec
@@ -15,6 +15,7 @@ Summary: Library for creating and manipulating graphs
License: GPL-2.0-or-later
URL: http://igraph.sourceforge.net/
Source0: https://github.com/igraph/igraph/releases/download/%{version}/igraph-%{vers…
+Patch0: 23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831.patch
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -40,6 +41,8 @@ documentation needed to develop application with %{name}.
%prep
%setup -q
+%patch -P 0 -p1
+
%build
%cmake \
-DIGRAPH_ENABLE_LTO=AUTO \
https://src.fedoraproject.org/rpms/igraph/c/1a38dc90d92055d6df94f2dc9b91661…
Notification time stamped 2023-06-30 20:41:48 UTC
From 1a38dc90d92055d6df94f2dc9b916616fbaf539c Mon Sep 17 00:00:00 2001
From: Gwyn Ciesla <gwync(a)protonmail.com>
Date: Jun 30 2023 20:41:38 +0000
Subject: Patch for test failure
---
diff --git a/23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831.patch b/23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831.patch
new file mode 100644
index 0000000..3dd106b
--- /dev/null
+++ b/23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831.patch
@@ -0,0 +1,43 @@
+From 23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Szabolcs=20Horva=CC=81t?= <szhorvat(a)gmail.com>
+Date: Fri, 30 Jun 2023 21:35:49 +0200
+Subject: [PATCH] fix: correct bisection procedure in
+ igraph_community_voronoi()
+
+---
+ src/community/voronoi.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/src/community/voronoi.c b/src/community/voronoi.c
+index f8f48e8414..1a9ea7cae3 100644
+--- a/src/community/voronoi.c
++++ b/src/community/voronoi.c
+@@ -341,17 +341,24 @@ static igraph_error_t brent_opt(optfun_t *f, igraph_real_t x1, igraph_real_t x2,
+ }
+
+ /* It sometimes happens in disconnected graphs that the maximum is reached at or near the
+- * top of the radius range. If so, we bisect the (f3, f2) interval to search for a configuration
++ * top of the radius range. If so, we bisect the (x3, x2) interval to search for a configuration
+ * where f3 >= f2. */
+ if (f2 > f3) {
+- /* Limit iterations to 20 */
+- for (int i=0; i < 20; ++i) {
+- x1 = x2; f1 = f2;
++ /* Limit iterations to niter=20 */
++ const int niter = 20;
++ int i;
++ for (i=0; i < niter; ++i) {
++ x1 = x3; f1 = f3;
+ x3 = 0.5 * (x1 + x2);
+ IGRAPH_CHECK(f(x3, &f3, extra));
+
+ if (f3 >= f2) break;
+ }
++ /* If no maximum was found in 'niter' bisections, just take the upper end of the range. */
++ if (i == niter) {
++ IGRAPH_CHECK(f(x2, &f2, extra));
++ return IGRAPH_SUCCESS;
++ }
+ }
+
+ /* Limit iterations to 20 */
diff --git a/igraph.spec b/igraph.spec
index 9ac0cb0..949ecc4 100644
--- a/igraph.spec
+++ b/igraph.spec
@@ -15,6 +15,7 @@ Summary: Library for creating and manipulating graphs
License: GPL-2.0-or-later
URL: http://igraph.sourceforge.net/
Source0: https://github.com/igraph/igraph/releases/download/%{version}/igraph-%{vers…
+Patch0: 23dd3ee5fc3c56ed4e0bd5339e4bde07d7dcd831.patch
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -40,6 +41,8 @@ documentation needed to develop application with %{name}.
%prep
%setup -q
+%patch -P 0 -p1
+
%build
%cmake \
-DIGRAPH_ENABLE_LTO=AUTO \
https://src.fedoraproject.org/rpms/igraph/c/1a38dc90d92055d6df94f2dc9b91661…
Notification time stamped 2023-06-30 20:27:45 UTC
From c779680d7faa2c75add7b6fdc7c6e26a9ac16f6b Mon Sep 17 00:00:00 2001
From: Miro Hrončok <miro(a)hroncok.cz>
Date: Feb 17 2023 10:29:25 +0000
Subject: BuildRequire pyproject-rpm-macros explicitly (for ELN)
Since this package does not use %pyproject_buildrequires and is included in ELN,
manual BuildRequires for pyproject-rpm-macros is necessary.
In ELN, the dependency on pyproject-rpm-macros is generated
by %pyproject_buildrequires only,
the package is not pulled in via python3-devel.
This is new since pyproject-rpm-macros 1.6.0
---
diff --git a/python-bash-kernel.spec b/python-bash-kernel.spec
index 49ceead..1d0bbba 100644
--- a/python-bash-kernel.spec
+++ b/python-bash-kernel.spec
@@ -9,6 +9,7 @@ Source0: %{url}/archive/%{version}/bash_kernel-%{version}.tar.gz
BuildArch: noarch
BuildRequires: python3-devel
+BuildRequires: pyproject-rpm-macros
BuildRequires: %{py3_dist docutils}
BuildRequires: %{py3_dist flit-core}
BuildRequires: %{py3_dist ipykernel}
https://src.fedoraproject.org/rpms/python-bash-kernel/c/c779680d7faa2c75add…