Accepting request 676271 from home:StefanBruens:branches:science

- Fix build with GCC 8, add fix-gcc8-build-failure.patch
- Add 0001-Use-GL_RGB32F-instead-of-GL_RGB32F_ARB.patch, fix building
  on AArch64.
- Remove openmpi build dependencies, erroneously required for VTK
  previously.
  Drop 0001-find-openmpi2-include-files.patch

OBS-URL: https://build.opensuse.org/request/show/676271
OBS-URL: https://build.opensuse.org/package/show/science/FreeCAD?expand=0&rev=61
This commit is contained in:
Adrian Schröter 2019-02-15 07:37:23 +00:00 committed by Git OBS Bridge
parent d8069ed535
commit 30110a9aa1
5 changed files with 100 additions and 20 deletions

View File

@ -0,0 +1,59 @@
From 2293eaf9f973cdda4e638bf00d4ddbbf02f4a54e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Sat, 12 Jan 2019 05:44:21 +0100
Subject: [PATCH] Use GL_RGB32F instead of GL_RGB32F_ARB
The GL_RGB32F{_ARB,_EXT,} constant has the same value in all three
variants, but the ARB variant is only available for Desktop OpenGL and
EXT is only available for GLES. Use the non-suffix variant from OpenGL
3.0 / GLES 3.
This allows building on platforms using GLES for Qt5, i.e. many ARM
platforms.
---
src/Gui/SoFCOffscreenRenderer.cpp | 4 ++--
src/Gui/View3DInventorViewer.cpp | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/Gui/SoFCOffscreenRenderer.cpp b/src/Gui/SoFCOffscreenRenderer.cpp
index d4eb3bc1e..6e26d2176 100644
--- a/src/Gui/SoFCOffscreenRenderer.cpp
+++ b/src/Gui/SoFCOffscreenRenderer.cpp
@@ -598,8 +598,8 @@ SoQtOffscreenRenderer::makeFrameBuffer(int width, int height, int samples)
// format and in the output image search for the above color and
// replaces it with the color requested by the user.
#if defined(HAVE_QT5_OPENGL)
- //fmt.setInternalTextureFormat(GL_RGBA32F_ARB);
- fmt.setInternalTextureFormat(GL_RGB32F_ARB);
+ //fmt.setInternalTextureFormat(GL_RGBA32F);
+ fmt.setInternalTextureFormat(GL_RGB32F);
#else
//fmt.setInternalTextureFormat(GL_RGBA);
fmt.setInternalTextureFormat(GL_RGB);
diff --git a/src/Gui/View3DInventorViewer.cpp b/src/Gui/View3DInventorViewer.cpp
index a1fee6459..21ed8a9e8 100644
--- a/src/Gui/View3DInventorViewer.cpp
+++ b/src/Gui/View3DInventorViewer.cpp
@@ -1416,7 +1416,7 @@ QImage View3DInventorViewer::grabFramebuffer()
fboFormat.setSamples(getNumSamples());
fboFormat.setAttachment(QOpenGLFramebufferObject::Depth);
fboFormat.setTextureTarget(GL_TEXTURE_2D);
- fboFormat.setInternalTextureFormat(GL_RGB32F_ARB);
+ fboFormat.setInternalTextureFormat(GL_RGB32F);
QOpenGLFramebufferObject fbo(width, height, fboFormat);
renderToFramebuffer(&fbo);
@@ -1449,8 +1449,8 @@ void View3DInventorViewer::imageFromFramebuffer(int width, int height, int sampl
// format and in the output image search for the above color and
// replaces it with the color requested by the user.
#if defined(HAVE_QT5_OPENGL)
- //fboFormat.setInternalTextureFormat(GL_RGBA32F_ARB);
- fboFormat.setInternalTextureFormat(GL_RGB32F_ARB);
+ //fboFormat.setInternalTextureFormat(GL_RGBA32F);
+ fboFormat.setInternalTextureFormat(GL_RGB32F);
#else
//fboFormat.setInternalTextureFormat(GL_RGBA);
fboFormat.setInternalTextureFormat(GL_RGB);
--
2.20.1

View File

@ -1,13 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3ecfe23a6..1db9bf33e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -717,7 +717,7 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
add_compile_options(${OPENMPI_CFLAGS})
link_directories(${OPENMPI_LIBRARY_DIRS})
link_libraries(${OPENMPI_LIBRARIES})
- find_file(MpidotH mpi.h PATHS ${OPENMPI_INCLUDE_DIRS} NO_DEFAULT_PATH)
+ find_file(MpidotH mpi.h PATHS ${OPENMPI_INCLUDE_DIRS} /usr/lib64/mpi/gcc/openmpi2/include NO_DEFAULT_PATH)
if(NOT MpidotH)
message( WARNING "mpi.h was not found. Check for error above.")
endif()

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Thu Feb 14 23:21:01 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Fix build with GCC 8, add fix-gcc8-build-failure.patch
- Add 0001-Use-GL_RGB32F-instead-of-GL_RGB32F_ARB.patch, fix building
on AArch64.
- Remove openmpi build dependencies, erroneously required for VTK
previously.
Drop 0001-find-openmpi2-include-files.patch
-------------------------------------------------------------------
Tue Feb 12 21:10:12 UTC 2019 - Adrian Schröter <adrian@suse.de>

View File

@ -31,8 +31,6 @@ Source2: FreeCADCmd.sh
Source3: FreeCAD_shared_mimeinfo
# python3 and generic compile fixes
Patch1: fix-build.diff
# support for openmpi2 suse package
Patch2: 0001-find-openmpi2-include-files.patch
# runtime fix, submitted upstream
Patch3: fix-draft-module-with-python3.patch
# PATCH-FIX-UPSTREAM -- fix-build-with-Qt5_11.diff
@ -41,19 +39,21 @@ Patch4: fix-build-with-Qt5_11.diff
Patch5: get-rid-of-private-function-_PyImport_FixupBuiltin-for-__FreeCADBase__-module.patch
# PATCH-FIX-UPSTREAM -- https://github.com/FreeCAD/FreeCAD/commit/b79e1bfee
Patch6: get-rid-of-private-function-_PyImport_FixupBuiltin-for-FreeCAD-and-FreeCADGui-modules.patch
# PATCH-FIX-OPENSUSE - fix building on ARM with GLES Qt5
Patch7: 0001-Use-GL_RGB32F-instead-of-GL_RGB32F_ARB.patch
# PATCH-FIX-UPSTREAM -- https://github.com/FreeCAD/FreeCAD/commit/5ff383b46.patch
Patch8: fix-gcc8-build-failure.patch
# Test suite fails on 32bit and I don't want to debug that anymore
ExcludeArch: %ix86 %arm ppc s390 s390x
BuildRequires: Coin-devel
#BuildRequires: SoQt-devel
BuildRequires: hdf5-devel
BuildRequires: libmed-devel
# we use upstream OpenCASCADE instead of oce atm
BuildRequires: hdf5-devel
BuildRequires: occt-devel
BuildRequires: vtk-devel
BuildRequires: vtk-java
BuildRequires: vtk-tcl
#BuildRequires: smesh-devel
%if 0%{?suse_version} >= 1330
@ -82,7 +82,6 @@ BuildRequires: pkg-config
%if 0%{?suse_version} >= 1330
# Qt5 & python3
BuildRequires: openmpi2-devel
BuildRequires: python3-devel
BuildRequires: python3-matplotlib
BuildRequires: python3-pyside2-devel
@ -145,7 +144,10 @@ Requires(postun): shared-mime-info
Recommends: ccx
%description
FreeCAD is a parametric 3D modeler made primarily to design real-life objects of any size. Parametric modeling allows you to easily modify your design by going back into your model history and changing its parameters. FreeCAD is open-source and highly customizable, scriptable and extensible.
FreeCAD is a parametric 3D modeler made primarily to design real-life objects
of any size. Parametric modeling allows you to easily modify your design by
going back into your model history and changing its parameters. FreeCAD is
open-source and highly customizable, scriptable and extensible.
%package devel

View File

@ -0,0 +1,22 @@
From 5ff383b46ccb0645e890573e783f467068d2488d Mon Sep 17 00:00:00 2001
From: wmayer <wmayer@users.sourceforge.net>
Date: Fri, 2 Nov 2018 18:57:43 +0100
Subject: [PATCH] fix gcc8 build failure
---
src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx b/src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx
index d31e72147cd..f7f9d323149 100644
--- a/src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx
+++ b/src/3rdParty/salomesmesh/inc/StdMeshers_ProjectionUtils.hxx
@@ -30,7 +30,7 @@
#include "SMESH_StdMeshers.hxx"
-#include "SMDS_MeshElement.hxx"
+#include "SMDS_MeshNode.hxx"
#include <TopTools_DataMapOfShapeShape.hxx>
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>