From 6d628f3d0af99ef77f7507eb65cac8b4e94f29f6 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sat, 3 Jun 2023 12:55:00 -0400 Subject: [PATCH 01/21] Remove explicit %set_build_flags, not needed since F36 https://www.fedoraproject.org/wiki/Changes/SetBuildFlagsBuildCheck --- v-hacd.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/v-hacd.spec b/v-hacd.spec index cd7af8c..a050360 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -103,7 +103,6 @@ general utility beyond testing. %build -%set_build_flags pushd app >/dev/null %cmake -GNinja %cmake_build From 50539ad341ef07f1aae5ecd202208daebe62c135 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 18 Jun 2023 12:03:34 -0400 Subject: [PATCH 02/21] Use new (rpm 4.17.1+) bcond style --- v-hacd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v-hacd.spec b/v-hacd.spec index a050360..f416157 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -1,4 +1,4 @@ -%bcond_without tests +%bcond tests 1 Name: v-hacd Version: 4.1.0 From 92ccb6a4b013aa5863bbd55ed3a8e334a8d5a6e4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 17:21:21 +0000 Subject: [PATCH 03/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 1b4788a982ec2d8225aa2d6646a36df3b2a263b3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 07:24:09 +0000 Subject: [PATCH 04/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 33d60136e972da0ec1e54824aa99d4ca28964f00 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 4 Apr 2024 13:06:23 -0400 Subject: [PATCH 05/21] Add an rpmlintrc file [skip changelog] --- v-hacd.rpmlintrc | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 v-hacd.rpmlintrc diff --git a/v-hacd.rpmlintrc b/v-hacd.rpmlintrc new file mode 100644 index 0000000..4ee62d3 --- /dev/null +++ b/v-hacd.rpmlintrc @@ -0,0 +1,2 @@ +# This Source cannot be a URL because we must filter out certain files. +addFilter(r" invalid-url Source[0-9]+: v-hacd-.*-filtered\.tar\.xz") From 2fd5422711a5619292bfdf622c01f8aae4886a3d Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 4 Apr 2024 13:16:07 -0400 Subject: [PATCH 06/21] Use zstd instead of xz for filtered source archive compression This is based on the relative health of the upstream projects. --- .gitignore | 1 + get_source.sh | 6 +++--- sources | 2 +- v-hacd.rpmlintrc | 4 +++- v-hacd.spec | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 1e441da..6199c3a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /v-hacd-4.1.0-filtered.tar.xz +/v-hacd-4.1.0-filtered.tar.zst diff --git a/get_source.sh b/get_source.sh index 3902a3e..a60b87c 100755 --- a/get_source.sh +++ b/get_source.sh @@ -10,7 +10,7 @@ print_help() Usage: $1 VERSION Generate a source archive for v-hacd with questionably-licensed test/sample -meshes removed. The result will be named v-hacd-\${VERSION}-filtered.tar.xz +meshes removed. The result will be named v-hacd-\${VERSION}-filtered.tar.zst and will be written into the current working directory. EOF } @@ -30,7 +30,7 @@ VERSION="${1}" SOURCE0="${FORGEURL}/archive/v${VERSION}/v-hacd-${VERSION}.tar.gz" TARNAME="$(basename "${SOURCE0}")" TARDIR="$(basename "${SOURCE0}" '.tar.gz')" -NEWTAR="${TARDIR}-filtered.tar.xz" +NEWTAR="${TARDIR}-filtered.tar.zst" SAVEDIR="${PWD}" XDIR="$(mktemp -d)" @@ -45,7 +45,7 @@ then echo 'ERROR: did not properly remove problematic content' 1>&2 exit 1 fi -tar -cv "${TARDIR}/" | xz -9e > "${NEWTAR}" +tar -cv "${TARDIR}/" | zstdmt --ultra -22 > "${NEWTAR}" cd "${SAVEDIR}" mv -v "${XDIR}/${NEWTAR}" . diff --git a/sources b/sources index fe165e6..5fdfb05 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v-hacd-4.1.0-filtered.tar.xz) = 9e85aeac1d3e6d3a973da6764452bd2444ee15fcf313f723e4127adb4c79e72a0f40663aee3de167b93ced8bd34c96ea1e9ec621a2704b0c58af9f31cbbee4aa +SHA512 (v-hacd-4.1.0-filtered.tar.zst) = 033e2c242512f6e965a712d0bef2ab5afa67bacfe7200026075c6bf112dc2cd74bb0ca94f1fc0e2d49ab27a8a47a0378c348bcb11c02e73e03d4dab2446ffeda diff --git a/v-hacd.rpmlintrc b/v-hacd.rpmlintrc index 4ee62d3..ec062ee 100644 --- a/v-hacd.rpmlintrc +++ b/v-hacd.rpmlintrc @@ -1,2 +1,4 @@ # This Source cannot be a URL because we must filter out certain files. -addFilter(r" invalid-url Source[0-9]+: v-hacd-.*-filtered\.tar\.xz") +addFilter(r" invalid-url Source[0-9]+: v-hacd-.*-filtered\.tar\.zst") +# Bogus; it is a perfectly fine zstandard file. +addFilter(r" inconsistent-file-extension v-hacd-.*-filtered\.tar\.zst$") diff --git a/v-hacd.spec b/v-hacd.spec index f416157..f337de4 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -16,7 +16,7 @@ URL: https://github.com/kmammou/%{name} # README.rst as a sanity check. # # Generated with ./get_source.sh %%{version} -Source0: %{name}-%{version}-filtered.tar.xz +Source0: %{name}-%{version}-filtered.tar.zst # Script to generate Source0; see comments above. Source1: get_source.sh # Man page hand-written for Fedora in groff_man(7) format based on help output From 8c56d584e0cedd3d35b40b9f90f2b218158b8659 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 4 Apr 2024 19:29:00 -0400 Subject: [PATCH 07/21] Improve reproducibility of the filtered source archive --- get_source.sh | 13 ++++++++++++- sources | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/get_source.sh b/get_source.sh index a60b87c..9fc4b4c 100755 --- a/get_source.sh +++ b/get_source.sh @@ -45,7 +45,18 @@ then echo 'ERROR: did not properly remove problematic content' 1>&2 exit 1 fi -tar -cv "${TARDIR}/" | zstdmt --ultra -22 > "${NEWTAR}" +# https://www.gnu.org/software/tar/manual/html_section/Reproducibility.html +# We discard mtimes entirely, since git doesn’t store per-file mtimes. +TZ=UTC LC_ALL=C tar \ + --create --verbose \ + --sort=name \ + --format=posix \ + --numeric-owner --owner=0 --group=0 \ + --mode=go+u,go-w \ + --pax-option='delete=atime,delete=ctime' \ + --clamp-mtime --mtime='@0' \ + "${TARDIR}/" | + zstdmt --ultra -22 > "${NEWTAR}" cd "${SAVEDIR}" mv -v "${XDIR}/${NEWTAR}" . diff --git a/sources b/sources index 5fdfb05..2fb9dea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v-hacd-4.1.0-filtered.tar.zst) = 033e2c242512f6e965a712d0bef2ab5afa67bacfe7200026075c6bf112dc2cd74bb0ca94f1fc0e2d49ab27a8a47a0378c348bcb11c02e73e03d4dab2446ffeda +SHA512 (v-hacd-4.1.0-filtered.tar.zst) = 07ae9fcd3759c2f4038392be78faf2f24f0d03931b0e417f450d066dfe3c792b15dd2e5c929974eb93326d954be564a2dc5e3ace909656625e99421cad4e47e7 From d867f96bf340b0b6441b78076c3192009d734866 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Thu, 4 Apr 2024 21:59:35 -0400 Subject: [PATCH 08/21] Better preserve the timestamp information in the original source --- get_source.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/get_source.sh b/get_source.sh index 9fc4b4c..cc2fd8f 100755 --- a/get_source.sh +++ b/get_source.sh @@ -39,6 +39,7 @@ trap "rm -rvf '${XDIR}'" INT TERM EXIT cd "${XDIR}" curl -L -O "${SOURCE0}" tar -xzvf "${TARNAME}" +MTIME="$(stat -c '%Y' "${TARDIR}")" rm -rvf "${TARDIR}/app/meshes" if [ "$(find . -type f -name '*.obj' | wc -l)" != '0' ] then @@ -46,7 +47,8 @@ then exit 1 fi # https://www.gnu.org/software/tar/manual/html_section/Reproducibility.html -# We discard mtimes entirely, since git doesn’t store per-file mtimes. +# We reset all mtimes to that of the top-level extracted directory; since git +# archives don’t have meaningful per-file mtimes, nothing useful is lost. TZ=UTC LC_ALL=C tar \ --create --verbose \ --sort=name \ @@ -54,9 +56,10 @@ TZ=UTC LC_ALL=C tar \ --numeric-owner --owner=0 --group=0 \ --mode=go+u,go-w \ --pax-option='delete=atime,delete=ctime' \ - --clamp-mtime --mtime='@0' \ + --clamp-mtime --mtime="@${MTIME}" \ "${TARDIR}/" | zstdmt --ultra -22 > "${NEWTAR}" +touch -d @"${MTIME}" "${NEWTAR}" cd "${SAVEDIR}" mv -v "${XDIR}/${NEWTAR}" . From cb9011f6a4519339baec7245b1763354ca4cd0da Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 08:30:16 +0000 Subject: [PATCH 09/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From f8f831d419399bcae788e4bd932fa78b1a315932 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 12 Aug 2024 15:11:26 -0400 Subject: [PATCH 10/21] Do not run tests in EPEL10 (due to lack of a suitable data file) [skip changelog] --- v-hacd.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/v-hacd.spec b/v-hacd.spec index f337de4..9f91fd6 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -1,4 +1,6 @@ -%bcond tests 1 +# TODO: Can we find a package with a suitable .obj file that we can use to run +# the tests in EPEL10? +%bcond tests %{expr:!0%{?el10}} Name: v-hacd Version: 4.1.0 From 570b62cfe07f1de843b2d142717fe1113f065570 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 3 Nov 2024 06:59:03 -0500 Subject: [PATCH 11/21] Invoke %cmake in %conf rather than in %build --- v-hacd.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/v-hacd.spec b/v-hacd.spec index 9f91fd6..502d255 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -104,9 +104,14 @@ general utility beyond testing. %autosetup -n %{name}-%{version} -%build +%conf pushd app >/dev/null %cmake -GNinja +popd >/dev/null + + +%build +pushd app >/dev/null %cmake_build popd >/dev/null From e2566f1df8870857c06f64d0d6c490b492329a40 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 14:02:19 +0000 Subject: [PATCH 12/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 812035e1db8a3260440fab39c8a859b3c4fc5c47 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:55:29 +0000 Subject: [PATCH 13/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 1441e1f67c694fd8f7a23f9be539cce7de150c1f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:44:47 +0000 Subject: [PATCH 14/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 84c32f27ac09ac7d3c85cdc6995c8129b98876de Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 15 Mar 2026 08:54:08 +0000 Subject: [PATCH 15/21] Improve a conditional in the spec file [skip changelog] --- v-hacd.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v-hacd.spec b/v-hacd.spec index 502d255..f31f8ba 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -1,6 +1,6 @@ # TODO: Can we find a package with a suitable .obj file that we can use to run # the tests in EPEL10? -%bcond tests %{expr:!0%{?el10}} +%bcond tests %{undefined el10} Name: v-hacd Version: 4.1.0 From f680a90dce0050bb44b7e966d1874673503f4cb9 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 15 Mar 2026 08:55:20 +0000 Subject: [PATCH 16/21] Reduce macro indirection in the spec file [skip changelog] --- v-hacd.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/v-hacd.spec b/v-hacd.spec index f31f8ba..71bbad1 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -10,7 +10,7 @@ Summary: Decomposes a 3D surface into a set of “near” convex parts # The entire source is BSD-3-Clause, except: # - app/wavefront.{h,cpp} are MIT License: BSD-3-Clause AND MIT -URL: https://github.com/kmammou/%{name} +URL: https://github.com/kmammou/v-hacd # This has the app/meshes/ directory stripped out. The .obj files therein have # unclear or unspecified licenses, which makes them unsuitable for Fedora. # @@ -18,7 +18,7 @@ URL: https://github.com/kmammou/%{name} # README.rst as a sanity check. # # Generated with ./get_source.sh %%{version} -Source0: %{name}-%{version}-filtered.tar.zst +Source0: v-hacd-%{version}-filtered.tar.zst # Script to generate Source0; see comments above. Source1: get_source.sh # Man page hand-written for Fedora in groff_man(7) format based on help output @@ -75,11 +75,11 @@ License: BSD-3-Clause BuildArch: noarch # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_header_only_libraries -Provides: %{name}-static = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: v-hacd-static = %{?epoch:%{epoch}:}%{version}-%{release} %description devel %{common_description} -The %{name}-devel package contains the header-only library for developing +The v-hacd-devel package contains the header-only library for developing applications that use V-HACD. @@ -95,13 +95,13 @@ License: BSD-3-Clause AND MIT %description tools %{common_description} -The %{name}-tools package contains command-line tools based on the V-HACD +The v-hacd-tools package contains command-line tools based on the V-HACD library. Currently, this means TestVHACD; despite the name, this tool has general utility beyond testing. %prep -%autosetup -n %{name}-%{version} +%autosetup -p1 %conf From 7c8a997a9f9722bc70e2eca06ee65c64572f4a3b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Sun, 15 Mar 2026 08:56:14 +0000 Subject: [PATCH 17/21] =?UTF-8?q?The=20ninja=20backend=20is=20the=20defaul?= =?UTF-8?q?t=20now;=20don=E2=80=99t=20bother=20specifying=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://fedoraproject.org/wiki/Changes/CMake_ninja_default --- v-hacd.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/v-hacd.spec b/v-hacd.spec index 71bbad1..808cfff 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -30,8 +30,6 @@ ExcludeArch: %{ix86} BuildRequires: gcc-c++ BuildRequires: cmake -# Our choice; the make backend would work just fine. -BuildRequires: ninja-build %if %{with tests} BuildRequires: vtk-data @@ -106,7 +104,7 @@ general utility beyond testing. %conf pushd app >/dev/null -%cmake -GNinja +%cmake popd >/dev/null From fb21d8fcc0b647b0cab5e61a4513563d5ed7567c Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 20 May 2026 06:40:36 +0100 Subject: [PATCH 18/21] Use various long options --- v-hacd.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/v-hacd.spec b/v-hacd.spec index 808cfff..d7d2ca8 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -118,12 +118,15 @@ popd >/dev/null pushd app >/dev/null # There are currently no install targets in app/CMakeLists.txt, so # %%cmake_install will not work. We install the executable manually instead. -install -t '%{buildroot}%{_bindir}' -p -D '%{_vpath_builddir}/TestVHACD' +install -D --preserve-timestamps \ + --target='%{buildroot}%{_bindir}' '%{_vpath_builddir}/TestVHACD' popd >/dev/null -install -t '%{buildroot}%{_includedir}' -m 0644 -p -D 'include/VHACD.h' +install -D --preserve-timestamps --mode=0644 \ + --target='%{buildroot}%{_includedir}' 'include/VHACD.h' -install -t '%{buildroot}%{_mandir}/man1' -m 0644 -p -D '%{SOURCE2}' +install -D --preserve-timestamps --mode=0644 \ + --target='%{buildroot}%{_mandir}/man1' '%{SOURCE2}' %if %{with tests} From 239794398e23863110b6c1ad1e5c306f9dd7d79b Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 20 May 2026 06:47:36 +0100 Subject: [PATCH 19/21] Include a freely licensed .obj file in the SRPM for testing --- cube.obj | 18 ++++++++++++++++++ v-hacd.spec | 22 ++++++---------------- 2 files changed, 24 insertions(+), 16 deletions(-) create mode 100644 cube.obj diff --git a/cube.obj b/cube.obj new file mode 100644 index 0000000..3f91d36 --- /dev/null +++ b/cube.obj @@ -0,0 +1,18 @@ +# Blender v2.83.4 OBJ File: '' +# www.blender.org +o Cube_Cube.001 +v -1.000000 -1.000000 1.000000 +v -1.000000 1.000000 1.000000 +v -1.000000 1.000000 -1.000000 +v -1.000000 -1.000000 -1.000000 +v 1.000000 1.000000 -1.000000 +v 1.000000 -1.000000 -1.000000 +v 1.000000 1.000000 1.000000 +v 1.000000 -1.000000 1.000000 +s off +f 1 2 3 4 +f 4 3 5 6 +f 6 5 7 8 +f 8 7 2 1 +f 4 6 8 1 +f 5 3 2 7 diff --git a/v-hacd.spec b/v-hacd.spec index d7d2ca8..b7207b1 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -1,7 +1,3 @@ -# TODO: Can we find a package with a suitable .obj file that we can use to run -# the tests in EPEL10? -%bcond tests %{undefined el10} - Name: v-hacd Version: 4.1.0 Release: %autorelease @@ -10,6 +6,8 @@ Summary: Decomposes a 3D surface into a set of “near” convex parts # The entire source is BSD-3-Clause, except: # - app/wavefront.{h,cpp} are MIT License: BSD-3-Clause AND MIT +# We use an OBJ file from mcut, which is LGPL-3.0-only, for testing: Source3 +SourceLicense: %{license} AND LGPL-3.0-only URL: https://github.com/kmammou/v-hacd # This has the app/meshes/ directory stripped out. The .obj files therein have # unclear or unspecified licenses, which makes them unsuitable for Fedora. @@ -24,6 +22,8 @@ Source1: get_source.sh # Man page hand-written for Fedora in groff_man(7) format based on help output # and README.md contents. Source2: TestVHACD.1 +# Very trivial OBJ mesh file from mcut, which is LGPL-3.0-only +Source3: https://github.com/cutdigital/mcut/raw/refs/tags/v1.3.0/tutorials/BasicCmdLineApp/data/cube.obj # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} @@ -31,10 +31,6 @@ ExcludeArch: %{ix86} BuildRequires: gcc-c++ BuildRequires: cmake -%if %{with tests} -BuildRequires: vtk-data -%endif - %global common_description %{expand: The V-HACD library decomposes a 3D surface into a set of “near” convex parts. @@ -129,16 +125,10 @@ install -D --preserve-timestamps --mode=0644 \ --target='%{buildroot}%{_mandir}/man1' '%{SOURCE2}' -%if %{with tests} %check # Use the example from README.md as a sanity check, but use an arbitrary mesh -# from vtk as input since we cannot ship upstream’s sample meshes. Decrease the -# max recursion depth from 15 to the default (10) so this doesn’t explode on -# 32-bit ARM in Fedora 36. -%{buildroot}%{_bindir}/TestVHACD \ - %{_datadir}/vtkdata/Testing/Data/Viewpoint/cow.obj \ - -e 0.01 -d 10 -r 10000000 -r 128 -%endif +# as input since we cannot ship upstream’s sample meshes. +%{buildroot}%{_bindir}/TestVHACD '%{SOURCE3}' -e 0.01 -d 15 -r 10000000 -r 128 %files devel From b36ade077f9ba0a29ac178bef162e2e759d4e439 Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Wed, 20 May 2026 06:52:32 +0100 Subject: [PATCH 20/21] Use the cmake declarative buildsystem --- v-hacd.spec | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/v-hacd.spec b/v-hacd.spec index b7207b1..3016be6 100644 --- a/v-hacd.spec +++ b/v-hacd.spec @@ -25,11 +25,12 @@ Source2: TestVHACD.1 # Very trivial OBJ mesh file from mcut, which is LGPL-3.0-only Source3: https://github.com/cutdigital/mcut/raw/refs/tags/v1.3.0/tutorials/BasicCmdLineApp/data/cube.obj +BuildSystem: cmake + # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} BuildRequires: gcc-c++ -BuildRequires: cmake %global common_description %{expand: The V-HACD library decomposes a 3D surface into a set of “near” convex parts. @@ -65,7 +66,6 @@ Summary: Development files for V-HACD # The MIT-licensed app/wavefront.{h,cpp} do not contribute to this subpackage. License: BSD-3-Clause - BuildArch: noarch # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_packaging_header_only_libraries @@ -94,35 +94,25 @@ library. Currently, this means TestVHACD; despite the name, this tool has general utility beyond testing. -%prep -%autosetup -p1 +%conf -p +cd app -%conf -pushd app >/dev/null -%cmake -popd >/dev/null - - -%build -pushd app >/dev/null -%cmake_build -popd >/dev/null +%build -p +cd app %install -pushd app >/dev/null +install -D --preserve-timestamps --mode=0644 \ + --target='%{buildroot}%{_includedir}' 'include/VHACD.h' +install -D --preserve-timestamps --mode=0644 \ + --target='%{buildroot}%{_mandir}/man1' '%{SOURCE2}' + +cd app # There are currently no install targets in app/CMakeLists.txt, so # %%cmake_install will not work. We install the executable manually instead. install -D --preserve-timestamps \ --target='%{buildroot}%{_bindir}' '%{_vpath_builddir}/TestVHACD' -popd >/dev/null - -install -D --preserve-timestamps --mode=0644 \ - --target='%{buildroot}%{_includedir}' 'include/VHACD.h' - -install -D --preserve-timestamps --mode=0644 \ - --target='%{buildroot}%{_mandir}/man1' '%{SOURCE2}' %check From ff647cd65be97ba82c16d6c1b73ec26b8b958ba3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:19:33 +0000 Subject: [PATCH 21/21] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild