freecad 0.18.3-1 (x86_64) 2019-8984
9999

Status published
Submitter nobodydead [@T] gmail.com
Platform rolling
Repository unsupported
URL https://abf.openmandriva.org/build_lists/642478
Packages
freecad-0.18.3-1.x86_64.binary
freecad-0.18.3-1.x86_64.source
freecad-debuginfo-0.18.3-1.x86_64.debuginfo
Build Date 2019-11-09 14:09:58 +0000 UTC
Last Updated 2019-11-12 00:02:33.659239838 +0000 UTC
$ git diff --patch-with-stat --summary b54833345564d158d1ba85f7e41c36636b869008..059b8a99dcc9f073af28f71cd1101f3ca72ef9cd

 .abf.yml                     |  2 +-
 freecad-0.14-Version_h.patch | 10 ++++++++++
 freecad-0.15-zipios.patch    | 16 ++++++++++++++++
 freecad-0.18-py38.patch      | 30 ++++++++++++++++++++++++++++++
 freecad.spec                 | 38 +++++++++++++++++++++++++++++++-------
 5 files changed, 88 insertions(+), 8 deletions(-)
 create mode 100644 freecad-0.14-Version_h.patch
 create mode 100644 freecad-0.15-zipios.patch
 create mode 100644 freecad-0.18-py38.patch

diff --git a/.abf.yml b/.abf.yml
index 11922a1..a110e00 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
 sources:
-  0.18.2.tar.gz: 8d7efd381b65c01b2661d2561bb0547a2e69d29f
+  0.18.3.tar.gz: 7824050fb35d8c1af9996126fcf8c054b69eaf8f
diff --git a/freecad-0.14-Version_h.patch b/freecad-0.14-Version_h.patch
new file mode 100644
index 0000000..74e978d
--- /dev/null
+++ b/freecad-0.14-Version_h.patch
@@ -0,0 +1,10 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1,4 +1,6 @@
+-add_subdirectory(Build)
++if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Build/Version.h)
++    add_subdirectory(Build)
++endif()
+ add_subdirectory(3rdParty)
+ add_subdirectory(Base)
+ add_subdirectory(App)
diff --git a/freecad-0.15-zipios.patch b/freecad-0.15-zipios.patch
new file mode 100644
index 0000000..260d9eb
--- /dev/null
+++ b/freecad-0.15-zipios.patch
@@ -0,0 +1,16 @@
+--- a/src/Base/CMakeLists.txt
++++ b/src/Base/CMakeLists.txt
+@@ -351,9 +351,11 @@ ENDIF(MSVC)
+ # Use external zipios++ if specified.
+ if(FREECAD_USE_EXTERNAL_ZIPIOS)
+     find_library(ZIPIOS_LIBRARY zipios)
+-    find_path(ZIPIOS_INCLUDES zipios++/zipios-config.h)
++    find_path(ZIPIOS_INCLUDES NAMES
++        zipios++/zipios-config.h
++        zipios++/zipios-config.hpp)
+     if(ZIPIOS_LIBRARY)
+-        message(STATUS "Found zipios++: ${ZIPIOS}")
++        message(STATUS "Found zipios++: ${ZIPIOS_LIBRARY}")
+     endif()
+     if(ZIPIOS_INCLUDES)
+         message(STATUS "Found zipios++ headers.")
diff --git a/freecad-0.18-py38.patch b/freecad-0.18-py38.patch
new file mode 100644
index 0000000..9913821
--- /dev/null
+++ b/freecad-0.18-py38.patch
@@ -0,0 +1,30 @@
+--- a/src/Base/swigpyrun.cpp
++++ b/src/Base/swigpyrun.cpp
+@@ -35,6 +35,16 @@
+ # pragma GCC diagnostic ignored "-Wcast-function-type"
+ # endif
+ #endif
++
++/* Temporary workaround for PyInterpreterState being made private in Python
++ * 3.8.
++#if PY_VERSION_HEX >= 0x03080000
++# define Py_BUILD_CORE
++#  include "internal/pycore_pystate.h"
++# undef Py_BUILD_CORE
++#endif
++*/
++
+ namespace Swig_python {
+ #define SWIG_PYTHON_NO_BUILD_NONE
+ #include <swigpyrun.h>
+--- a/src/Base/swigpyrun.inl
++++ b/src/Base/swigpyrun.inl
+@@ -72,7 +72,7 @@ void cleanupSWIG_T(const char* TypeName)
+ 
+     PyObject *module, *dict;
+     PyInterpreterState *interp = PyThreadState_GET()->interp;
+-    PyObject *modules = interp->modules;
++    PyObject *modules = PyImport_GetModuleDict();
+     module = PyDict_GetItemString(modules, "__builtin__");
+     if (module != NULL && PyModule_Check(module)) {
+         dict = PyModule_GetDict(module);
diff --git a/freecad.spec b/freecad.spec
index 35d7cd6..2b33b69 100644
--- a/freecad.spec
+++ b/freecad.spec
@@ -1,11 +1,16 @@
 %define _disable_ld_no_undefined 1
 %global plugins Complete Drawing Fem FreeCAD Image Import Inspection Mesh MeshPart Part Points QtUnit Raytracing ReverseEngineering Robot Sketcher Start Web PartDesignGui _PartDesign Spreadsheet SpreadsheetGui
 
+# Setup python target for shiboken so the right cmake file is imported.
+%global py_suffix %(%{__python3} -c "import sysconfig; print(sysconfig.get_config_var('SOABI'))")
+
 %define __noautoreq /^\\\(libFreeCAD.*%(for i in %{plugins}; do echo -n "\\\|$i\\\|$iGui"; done)\\\)\\\(\\\|Gui\\\)\\.so/d
 %define _disable_lto 1
+%bcond_with	shiboken
+
 Name:		freecad
 Summary:	FreeCAD is a general purpose 3D CAD modeler
-Version:	0.18.2
+Version:	0.18.3
 Release:	1
 License:	GPL and LGPL
 Group: 		Graphics
@@ -14,6 +19,11 @@ Source0:	https://github.com/FreeCAD/FreeCAD/archive/%{version}.tar.gz
 Source1:      	freecad.desktop
 Source2:      	freecad.1
 Source3:	%{name}.rpmlintrc
+
+Patch0:         freecad-0.15-zipios.patch
+Patch1:         freecad-0.14-Version_h.patch
+Patch2:         freecad-0.18-py38.patch
+
 BuildRequires:	doxygen
 BuildRequires: 	qt5-devel
 BuildRequires: 	libxerces-c-devel
@@ -26,11 +36,13 @@ BuildRequires: 	python2-matplotlib
 %endif
 BuildRequires: 	eigen3
 BuildRequires:	hdf5-devel
+BuildRequires:	smesh-devel
 BuildRequires: 	spnav-devel
 BuildRequires:	boost-static-devel
 BuildRequires: 	cmake(Qt5X11Extras)
 BuildRequires:	pkgconfig(egl)
 BuildRequires:	pkgconfig(xt)
+BuildRequires: 	pkgconfig(xext)
 BuildRequires:	pkgconfig(expat)
 BuildRequires:	pkgconfig(gl)
 BuildRequires:	pkgconfig(glu)
@@ -45,7 +57,8 @@ BuildRequires:	pkgconfig(Qt5WebKitWidgets)
 BuildRequires:	pkgconfig(Qt5Svg)
 BuildRequires:	pkgconfig(Qt5UiTools)
 BuildRequires:	pkgconfig(zlib)
-BuildRequires:  pyside2-tools
+BuildRequires:	pkgconfig(python)
+BuildRequires: 	python-matplotlib
 BuildRequires: 	cmake
 BuildRequires: 	gcc-gfortran
 BuildRequires: 	opencascade-devel
@@ -83,17 +96,28 @@ sed -i 's!-python2.7!!g' CMakeLists.txt
 %define Werror_cflags %nil
 #export CC=gcc
 #export CXX=g++
-%cmake_qt5 -DBUILD_QT5=ON -DMEDFILE_INCLUDE_DIRS=%{_includedir}/med \
-	 -DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \
+
+
+%cmake_qt5 -DBUILD_QT5=ON \
+            -DMEDFILE_INCLUDE_DIRS=%{_includedir}/med \
+	    -DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \
 	    -DCMAKE_INSTALL_DATADIR=%{_datadir}/%{name} \
             -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \
             -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
 	    -DCMAKE_INSTALL_LIBDIR=%{_libdir}/%{name}/lib \
-	    -DPYTHON_SUFFIX="-python2.7" \
-            -DPYTHON_CONFIG_SUFFIX="-python2.7" \
             -DRESOURCEDIR=%{_datadir}/freecad \
+            -DPYTHON_EXECUTABLE=%{__python3} \
+%if %{with shiboken}
+            -DPYSIDE_INCLUDE_DIR=%{_includedir}/PySide2 \
+            -DSHIBOKEN_INCLUDE_DIR=%{_includedir}/shiboken2 \
+            -DPYSIDE_LIBRARY=%{_libdir}/libpyside2.%{py_suffix}.so \
+%endif
+            -DFREECAD_USE_EXTERNAL_SMESH=FALSE \
+            -DSMESH_INCLUDE_DIR=%{_includedir}/smesh \
+            -DOpenGL_GL_PREFERENCE=GLVND \
+            -DBUILD_QT5=ON \
             -DUSE_BOOST_PYTHON=OFF    
-%make VERBOSE=1
+%make_build VERBOSE=1
 
 %install
 %makeinstall_std -C build
Not Available

benbullard79 [@T] cox.netNo Comment.1627d 05hrs
benbullard79 [@T] cox.netNo Comment.1627d 05hrs