SHA256
1
0
forked from pool/FreeCAD

Accepting request 676501 from science

- disable builds for 32bit and s390x, test suite fails and it makes no
  sense to use FreeCAD on small systems or mainframes...

- 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

- enable FEM module
- disable builds for 32bit and s390x, test suite fails and it makes no
  sense to use FreeCAD on small systems or mainframes...

OBS-URL: https://build.opensuse.org/request/show/676501
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/FreeCAD?expand=0&rev=11
This commit is contained in:
Stephan Kulow 2019-02-28 20:39:36 +00:00 committed by Git OBS Bridge
commit c167594dce
8 changed files with 125 additions and 24 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,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:74d557629532bc687e84361b13686888667c14368a6fda9990f42e8a90338405
oid sha256:75cc39c6441ad3c0d1a8dfe58910ec6a3f80c5076d4bbf624c2090d341f07f71
size 385254927

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Feb 12 21:10:12 UTC 2019 - Adrian Schröter <adrian@suse.de>
- disable builds for 32bit and s390x, test suite fails and it makes no
sense to use FreeCAD on small systems or mainframes...
-------------------------------------------------------------------
Wed Sep 5 14:50:23 UTC 2018 - Jan Engelhardt <jengelh@inai.de>

View File

@ -25,6 +25,9 @@ Group: Productivity/Graphics/CAD
Url: http://www.freecadweb.org/
BuildRequires: FreeCAD
# Test suite fails on 32bit and I don't want to debug that anymore
ExcludeArch: %ix86 %arm ppc s390 s390x
%description
This is just executing the test suite at build time.

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
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>
- enable FEM module
- disable builds for 32bit and s390x, test suite fails and it makes no
sense to use FreeCAD on small systems or mainframes...
-------------------------------------------------------------------
Mon Feb 4 08:28:22 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,16 +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: libmed-devel # needed for FEM module, but requires older hdf5 lib
BuildRequires: hdf5-devel
BuildRequires: libmed-devel
# we use upstream OpenCASCADE instead of oce atm
#BuildRequires: hdf5-1_8-devel
#BuildRequires: hdf5-1_8-openmpi-devel
BuildRequires: occt-devel
BuildRequires: vtk-devel
BuildRequires: vtk-java
BuildRequires: vtk-tcl
#BuildRequires: smesh-devel
%if 0%{?suse_version} >= 1330
@ -79,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
@ -142,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
@ -201,7 +206,7 @@ cmake \
-DFREECAD_USE_EXTERNAL_PIVY:BOOL=TRUE \
-DBUILD_MESH_PART:BOOL=ON \
-DBUILD_OPENSCAD:BOOL=ON \
-DBUILD_FEM:BOOL=OFF \
-DBUILD_FEM:BOOL=ON \
-DBUILD_FEM_NETGEN:BOOL=OFF \
-DFREECAD_USE_EXTERNAL_SMESH=OFF \
..
@ -294,6 +299,8 @@ ln -s -t %{buildroot}/usr/bin %{x_prefix}/bin/FreeCADCmd
%mime_database_postun
%files
%license COPYING
%doc ChangeLog.txt README.md
%{_bindir}/FreeCAD*
%doc %{_docdir}/%{name}/
%{_libdir}/%{name}

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>