The package rpms/f3d.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/f3d.git/commit/?id=c4f46b2c487cdf....
Change:
+%ifarch %{java_arches}
Thanks.
Full change:
============
commit c4f46b2c487cdf5bd3abf00b2affa2603ad2bd85
Author: topazus <topazus(a)outlook.com>
Date: Sun Mar 31 10:09:12 2024 +0800
initial import; rhbz#2193288
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0c13c80
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/f3d-2.3.0.tar.gz
+/f3d-2.3.1.tar.gz
diff --git a/1225.patch b/1225.patch
new file mode 100644
index 0000000..7e905e9
--- /dev/null
+++ b/1225.patch
@@ -0,0 +1,22 @@
+From 95f2d26778160ccf6d8f4cb3b25a179bcd05d210 Mon Sep 17 00:00:00 2001
+From: topazus <77263945+topazus(a)users.noreply.github.com>
+Date: Sat, 27 Jan 2024 14:53:41 +0800
+Subject: [PATCH] Add missing header for GCC 14
+
+Ref:
https://gcc.gnu.org/gcc-14/porting_to.html
+---
+ application/F3DStarter.cxx | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/application/F3DStarter.cxx b/application/F3DStarter.cxx
+index 76e8e5ebfb..9b2f2fac5b 100644
+--- a/application/F3DStarter.cxx
++++ b/application/F3DStarter.cxx
+@@ -12,6 +12,7 @@
+ #include "options.h"
+ #include "window.h"
+
++#include <algorithm>
+ #include <cassert>
+ #include <filesystem>
+ #include <set>
diff --git a/f3d.spec b/f3d.spec
new file mode 100644
index 0000000..bd8456b
--- /dev/null
+++ b/f3d.spec
@@ -0,0 +1,232 @@
+%bcond_without python
+
+# time of tests on s390x is too long, disable it for now
+%ifarch s390x
+%bcond_with check
+%else
+%bcond_without check
+%endif
+
+%bcond_with all_tests
+
+%global forgeurl
https://github.com/f3d-app/f3d
+Version: 2.3.1
+%forgemeta
+
+Name: f3d
+Release: %autorelease
+Summary: Fast and minimalist 3D viewer
+
+License: BSD-3-Clause
+URL: %{forgeurl}
+Source0: %{forgesource}
+
+# Add missing header for GCC 14
+Patch0:
https://github.com/f3d-app/f3d/pull/1225.patch
+
+#
https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
+ExcludeArch: %{ix86}
+
+BuildRequires: gcc-c++
+BuildRequires: cmake
+BuildRequires: ninja-build
+BuildRequires: json-devel
+BuildRequires: cxxopts-devel
+BuildRequires: vtk-devel
+BuildRequires: lapack-devel
+BuildRequires: assimp-devel
+BuildRequires: cmake(draco)
+# fedora 39 do not ship draco-static package
+%if 0%{?fedora} != 39
+BuildRequires: draco-static
+%endif
+BuildRequires: alembic-devel
+BuildRequires: opencascade-devel
+#BuildRequires: cmake(pxr)
+BuildRequires: imath-devel
+BuildRequires: help2man
+
+%if %{with check}
+BuildRequires: xorg-x11-drv-dummy
+BuildRequires: mesa-dri-drivers
+# provides /usr/bin/xvfb-run
+BuildRequires: xorg-x11-server-Xvfb
+BuildRequires: python3-pytest
+%endif
+
+BuildRequires: desktop-file-utils
+BuildRequires: libappstream-glib
+
+Requires: hicolor-icon-theme
+Requires: shared-mime-info
+
+%description
+F3D is a fast and minimalist 3D viewer desktop application. It supports many
+file formats, from digital content to scientific datasets (including glTF, USD,
+STL, STEP, PLY, OBJ, FBX, Alembic), can show animations and support thumbnails
+and many rendering and texturing options including real time physically based
+rendering and raytracing.
+
+It is fully controllable from the command line and support configuration files.
+It can provide thumbnails, support interactive hotkeys, drag&drop and
+integration into file managers.
+
+F3D also contains the libf3d, a simple library to render meshes, with C++ and
+Python Bindings, as well as experimental Java and Javascript bindings.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+This package contains development files for %{name}.
+
+%if %{with python}
+%package python3
+Summary: Python 3 bindings for the %{name}
+BuildRequires: python3-devel
+BuildRequires: python3-pybind11
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Provides: python3-%{name} = %{version}-%{release}
+
+%description python3
+This package contains Python 3 bindings for %{name}.
+%endif
+
+%ifarch %{java_arches}
+%package java
+Summary: Java bindings for the %{name}
+BuildRequires: javapackages-tools
+BuildRequires: java-devel
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description java
+This package contains Java bindings for %{name}.
+%endif
+
+%prep
+%forgeautosetup -p1
+# remove bundled libraries of cxxopts and nlohmann_json
+rm -rf external/
+# fix install location for -java sub-package
+sed -i 's|${CMAKE_INSTALL_LIBDIR}|${CMAKE_INSTALL_LIBDIR}/f3d|'
java/CMakeLists.txt
+sed -i 's|share/java|%{_jnidir}|' java/CMakeLists.txt
+
+%build
+%cmake \
+ -GNinja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DF3D_PLUGINS_STATIC_BUILD=OFF \
+ -DF3D_PLUGINS_INSTALL_DIR=%{_libdir}/f3d/plugins \
+ -DF3D_USE_EXTERNAL_CXXOPTS=ON \
+ -DF3D_USE_EXTERNAL_NLOHMANN_JSON=ON \
+ -DF3D_LINUX_INSTALL_DEFAULT_CONFIGURATION_FILE_IN_PREFIX=ON \
+ -DF3D_LINUX_GENERATE_MAN=ON \
+ -DF3D_MODULE_RAYTRACING=OFF \
+ -DF3D_MODULE_EXTERNAL_RENDERING=OFF \
+ -DF3D_PLUGIN_BUILD_ALEMBIC=ON \
+ -DF3D_PLUGIN_BUILD_ASSIMP=ON \
+ -DF3D_PLUGIN_BUILD_DRACO=ON \
+ -DF3D_PLUGIN_BUILD_EXODUS=ON \
+ -DF3D_PLUGIN_BUILD_OCCT=ON \
+ -DF3D_PLUGIN_BUILD_USD=OFF \
+ -DF3D_PLUGIN_OCCT_COLORING_SUPPORT=ON \
+ -DF3D_PLUGIN_BUILD_VDB=OFF \
+%if %{with python}
+ -DF3D_BINDINGS_PYTHON=ON \
+%endif
+%ifarch %{java_arches}
+ -DF3D_BINDINGS_JAVA=ON \
+%endif
+%if %{with check}
+ -DBUILD_TESTING=ON \
+%endif
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
+
+%cmake_build
+
+%install
+%cmake_install
+
+%cmake_install --component mimetypes
+%cmake_install --component sdk
+%cmake_install --component configuration
+
+rm -r %{buildroot}%{_datadir}/doc/F3D
+rm %{buildroot}%{_libdir}/libVTKExtensions*.a
+
+%check
+%if %{with check}
+export MESA_DEBUG=silent
+export LIBGL_ALWAYS_SOFTWARE=true
+export MESA_LOADER_DRIVER_OVERRIDE=llvmpipe
+%if %{with all_tests}
+xvfb-run -a bash -c "%ctest"
+%else
+skip_tests=
+skip_tests+="libf3d::TestSDKCompareWithFile|libf3d::TestSDKMultiColoring|libf3d::TestSDKMultiOptions|"
+skip_tests+="libf3d::TestSDKDynamicBackgroundColor|libf3d::TestSDKDynamicFontFile|libf3d::TestSDKDynamicLightIntensity|"
+skip_tests+="libf3d::TestSDKDynamicProperties|f3d::TestVTP|f3d::TestVTR|f3d::TestVTM|f3d::TestGridAbsolute|"
+skip_tests+="f3d::TestPointCloud|f3d::TestPointCloudBar|f3d::TestPointCloudDefaultScene|f3d::TestMultiblockMetaData|"
+skip_tests+="f3d::TestLightIntensityBrighter|f3d::TestLightIntensityDarker|f3d::TestUTF8|f3d::TestComponentName|"
+skip_tests+="f3d::TestGroupGeometries|f3d::TestGroupGeometriesColoring|f3d::TestScalarsCell|f3d::TestMetaData|"
+skip_tests+="f3d::TestNoBackground|f3d::TestInteractionGroupGeometriesDrop|f3d::TestInteractionDropSameFiles|"
+skip_tests+="f3d::TestVerboseWarning|f3d::TestTensorsDirect|f3d::TestTensorsVolumeDirect|pyf3d::TestPython_deprecated|"
+skip_tests+="pyf3d::TestPython_image_compare"
+xvfb-run -a bash -c "%ctest -E '$skip_tests'"
+%endif
+%endif
+
+desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
+appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
+
+%files
+%license LICENSE.md
+%doc README.md
+%{_bindir}/f3d
+%{bash_completions_dir}/f3d
+%{zsh_completions_dir}/_f3d
+%{fish_completions_dir}/f3d.fish
+%{_datadir}/icons/hicolor/*/apps/f3d.png
+%{_datadir}/icons/hicolor/scalable/apps/f3d.svg
+%{_datadir}/applications/f3d-plugin-*.desktop
+%{_datadir}/applications/f3d.desktop
+%{_datadir}/mime/packages/f3d-*.xml
+%dir %{_datadir}/f3d
+%dir %{_datadir}/f3d/configs
+%dir %{_datadir}/f3d/configs/config.d
+%dir %{_datadir}/f3d/configs/thumbnail.d
+%dir %{_datadir}/f3d/plugins
+%{_datadir}/f3d/configs/config.d/*.json
+%{_datadir}/f3d/configs/thumbnail.d/*.json
+%{_datadir}/f3d/plugins/*.json
+%{_datadir}/thumbnailers/f3d-plugin-*.thumbnailer
+%{_mandir}/man1/f3d.1*
+%{_metainfodir}/app.f3d.F3D.metainfo.xml
+
+%{_libdir}/libf3d.so.2*
+%dir %{_libdir}/f3d
+%dir %{_libdir}/f3d/plugins
+%{_libdir}/f3d/plugins/libf3d-plugin-*.so
+
+%files devel
+%{_libdir}/libf3d.so
+%dir %{_includedir}/f3d
+%{_includedir}/f3d/*.h
+%dir %{_libdir}/cmake/f3d
+%{_libdir}/cmake/f3d/*.cmake
+%{_libdir}/cmake/f3d/*.in
+
+%if %{with python}
+%files python3
+%{python3_sitearch}/f3d/
+%endif
+
+%ifarch %{java_arches}
+%files java
+%{_libdir}/f3d/libf3d-java.so
+%{_jnidir}/f3d.jar
+%endif
+
+%changelog
+%autochangelog
diff --git a/packit.yaml b/packit.yaml
new file mode 100644
index 0000000..7d85dbf
--- /dev/null
+++ b/packit.yaml
@@ -0,0 +1,19 @@
+upstream_package_name: f3d
+upstream_project_url:
https://github.com/f3d-app/f3d
+upstream_tag_template: v{version}
+
+jobs:
+ - job: pull_from_upstream
+ trigger: release
+ dist_git_branches:
+ - fedora-rawhide
+
+ - job: koji_build
+ trigger: commit
+ dist_git_branches:
+ - fedora-all
+
+ - job: bodhi_update
+ trigger: commit
+ dist_git_branches:
+ - fedora-all
diff --git a/sources b/sources
new file mode 100644
index 0000000..22ab232
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (f3d-2.3.1.tar.gz) =
dc1094690ca18f7f826cce7153dc033ecf2ec02a41627ff8fb75f65b1390e1d0f492e920e0e16dc8090afefe28ce66f22155bd803db67de0c36557016efd1b52