Accepting request 1171944 from home:fstrba:branches:science

Fix build in factory + aarch64 linking

OBS-URL: https://build.opensuse.org/request/show/1171944
OBS-URL: https://build.opensuse.org/package/show/science/FreeCAD?expand=0&rev=174
This commit is contained in:
Adrian Schröter 2024-05-15 08:43:59 +00:00 committed by Git OBS Bridge
parent 1c4d97a879
commit 98a18ab4dc
7 changed files with 139 additions and 2 deletions

View File

@ -1,7 +1,7 @@
#
# spec file for package FreeCAD-test
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Sat May 4 17:46:05 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Add freecad-boost185.patch
* Upstream fix for #13549: smesh doesn't compile with boost 1.85
- Add freecad-copy_options.patch and freecad-copy_options-2.patch
* Upstream fix: c++20 deprecate copy_option
- Add freecad-opengl.patch: use both OPENGL_LIBRARY and OPENGL_gl_LIBRARY,
fixing undefined references on aarch64 architecture
-------------------------------------------------------------------
Mon Jan 1 00:46:54 UTC 2024 - Stefan Brüns <stefan.bruens@rwth-aachen.de>

View File

@ -1,7 +1,7 @@
#
# spec file for package FreeCAD
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -50,6 +50,14 @@ Patch2: 0001-Implement-math.comb-fallback-for-Python-3.6.patch
Patch9: 0001-Fix-variable-name-for-OpenGL-library.patch
# PATCH-FIX-UPSTREAM
Patch10: https://github.com/FreeCAD/FreeCAD/commit/d0fb2b8b29fe0428d9dd8aa790b0d6e45c8a9516.patch#/fix_vtk_9_3_compat.patch
# PATCH-FIX-UPSTREAM
Patch11: https://github.com/FreeCAD/FreeCAD/commit/f555a25f9e67e628e8075fc8599d7c11807eaddd.patch#/freecad-boost185.patch
# PATCH-FIX-UPSTREAM
Patch12: https://github.com/FreeCAD/FreeCAD/commit/aa54ba73df4d42878130c99688be35acf10725a0.patch#/freecad-copy_options.patch
# PATCH-FIX-UPSTREAM
Patch13: https://github.com/FreeCAD/FreeCAD/commit/91457bbdee2422c7f0372688cf72d021cf222073.patch#/freecad-copy_options-2.patch
# PATCH-FIX-OPENSUSE
Patch14: freecad-opengl.patch
# Test suite fails on 32bit and I don't want to debug that anymore
ExcludeArch: %ix86 %arm ppc s390 s390x

22
freecad-boost185.patch Normal file
View File

@ -0,0 +1,22 @@
From f555a25f9e67e628e8075fc8599d7c11807eaddd Mon Sep 17 00:00:00 2001
From: wmayer <wmayer@users.sourceforge.net>
Date: Sun, 21 Apr 2024 08:36:16 +0200
Subject: [PATCH] Fixes #13549: smesh doesn't compile with boost 1.85
---
src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
index d72ff2363f39..f108cbbcb2cf 100644
--- a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
+++ b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
@@ -55,7 +55,7 @@ namespace DriverGMF
bool isExtensionCorrect( const std::string& fileName )
{
- std::string ext = boost::filesystem::extension(fileName);
+ std::string ext = boost::filesystem::path(fileName).extension().string();
switch ( ext.size() ) {
case 5: return ( ext == ".mesh" || ext == ".solb" );
case 6: return ( ext == ".meshb" );

View File

@ -0,0 +1,25 @@
From 91457bbdee2422c7f0372688cf72d021cf222073 Mon Sep 17 00:00:00 2001
From: ppphp <kevinniub@gmail.com>
Date: Sat, 30 Mar 2024 19:17:56 +0800
Subject: [PATCH] add version check macro for compatibility
---
src/Gui/PreferencePackManager.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
index e1773a436852..dfc54240c00c 100644
--- a/src/Gui/PreferencePackManager.cpp
+++ b/src/Gui/PreferencePackManager.cpp
@@ -224,7 +224,11 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
auto savedPreferencePacksDirectory =
fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
+#if BOOST_VERSION >= 107400
fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
+#else
+ fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
+#endif
rescan();
}

View File

@ -0,0 +1,22 @@
From aa54ba73df4d42878130c99688be35acf10725a0 Mon Sep 17 00:00:00 2001
From: ppphp <kevinniub@gmail.com>
Date: Sat, 30 Mar 2024 13:52:32 +0800
Subject: [PATCH] fix: c++20 deprecate copy_option
---
src/Gui/PreferencePackManager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
index e0e6184a3147..e1773a436852 100644
--- a/src/Gui/PreferencePackManager.cpp
+++ b/src/Gui/PreferencePackManager.cpp
@@ -224,7 +224,7 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
auto savedPreferencePacksDirectory =
fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
- fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
+ fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
rescan();
}

50
freecad-opengl.patch Normal file
View File

@ -0,0 +1,50 @@
--- a/cMake/FreeCAD_Helpers/PrintFinalReport.cmake
+++ b/cMake/FreeCAD_Helpers/PrintFinalReport.cmake
@@ -187,7 +187,7 @@ macro(PrintFinalReport)
else()
simple(Freetype "disabled")
endif()
- simple(OpenGL_Lib [${OPENGL_gl_LIBRARY}])
+ simple(OpenGL_Lib [${OPENGL_gl_LIBRARY}][${OPENGL_LIBRARY}])
simple(OpenGLU_Lib [${OPENGL_glu_LIBRARY}])
simple(OpenGLU_Incl [${OPENGL_INCLUDE_DIR}])
simple(Coin3D "${COIN3D_VERSION} [${COIN3D_LIBRARIES}] [${COIN3D_INCLUDE_DIRS}]")
--- a/src/Gui/CMakeLists.txt
+++ b/src/Gui/CMakeLists.txt
@@ -68,6 +68,7 @@ if(MSVC)
FreeCADApp
${COIN3D_LIBRARIES}
${OPENGL_gl_LIBRARY}
+ ${OPENGL_LIBRARY}
)
if(FREECAD_USE_3DCONNEXION)
@@ -82,6 +83,7 @@ else(MSVC)
${COIN3D_LIBRARIES}
${Boost_LIBRARIES}
${OPENGL_gl_LIBRARY}
+ ${OPENGL_LIBRARY}
${3DCONNEXION_LINKFLAGS}
)
endif(MSVC)
--- a/src/Gui/Quarter/CMakeLists.txt
+++ b/src/Gui/Quarter/CMakeLists.txt
@@ -23,7 +23,7 @@ IF (Spacenav_FOUND)
ENDIF(Spacenav_FOUND)
-SET(AllLibs ${Coin_LIBRARY} ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${Extra_libraries})
+SET(AllLibs ${Coin_LIBRARY} ${QT_LIBRARIES} ${OPENGL_gl_LIBRARY} ${OPENGL_LIBRARY} ${Extra_libraries})
--- a/src/Mod/Mesh/Gui/CMakeLists.txt
+++ b/src/Mod/Mesh/Gui/CMakeLists.txt
@@ -17,6 +17,7 @@ endif(MSVC)
set(MeshGui_LIBS
${Boost_LIBRARIES}
${OPENGL_glu_LIBRARY}
+ ${OPENGL_LIBRARY}
Mesh
FreeCADGui
)