From c177ecb1e46e006e588ab939f6b88efe89003d31 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arkadiusz=20Mi=C5=9Bkiewicz?= Date: Thu, 11 Jun 2015 23:32:55 +0200 Subject: [PATCH] - more work --- freecad-0.14-DraftSnap.patch | 2 - freecad-0.14-Version_h.patch | 13 +++ freecad-0.14-smesh.patch | 162 ----------------------------------- freecad-0.15-zipios.patch | 17 ++++ freecad.spec | 58 ++++++------- 5 files changed, 54 insertions(+), 198 deletions(-) create mode 100644 freecad-0.14-Version_h.patch delete mode 100644 freecad-0.14-smesh.patch create mode 100644 freecad-0.15-zipios.patch diff --git a/freecad-0.14-DraftSnap.patch b/freecad-0.14-DraftSnap.patch index b2e8715..e2d881d 100644 --- a/freecad-0.14-DraftSnap.patch +++ b/freecad-0.14-DraftSnap.patch @@ -1,5 +1,3 @@ -# http://www.freecadweb.org/tracker/view.php?id=1757 - From 328bdcf6363f1107447858c2dd939ecae1005f47 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Thu, 18 Sep 2014 19:39:37 -0300 diff --git a/freecad-0.14-Version_h.patch b/freecad-0.14-Version_h.patch new file mode 100644 index 0000000..6309690 --- /dev/null +++ b/freecad-0.14-Version_h.patch @@ -0,0 +1,13 @@ +diff -Naur freecad-0.14.3702.orig/src/CMakeLists.txt freecad-0.14.3702/src/CMakeLists.txt +--- freecad-0.14.3702.orig/src/CMakeLists.txt 2015-05-28 11:24:13.393935311 -0500 ++++ freecad-0.14.3702/src/CMakeLists.txt 2015-05-28 11:24:03.937354886 -0500 +@@ -1,5 +1,7 @@ +- +-add_subdirectory(Build) ++# Do not generate a new Version.h if the source is a release tarball. ++if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Build/Version.h) ++ add_subdirectory(Build) ++endif() + add_subdirectory(Base) + add_subdirectory(App) + add_subdirectory(Main) diff --git a/freecad-0.14-smesh.patch b/freecad-0.14-smesh.patch deleted file mode 100644 index 1608005..0000000 --- a/freecad-0.14-smesh.patch +++ /dev/null @@ -1,162 +0,0 @@ -diff -Naur freecad-0.14.3702.orig/CMakeLists.txt freecad-0.14.3702/CMakeLists.txt ---- freecad-0.14.3702.orig/CMakeLists.txt 2014-07-13 10:33:02.000000000 -0500 -+++ freecad-0.14.3702/CMakeLists.txt 2014-11-30 16:28:11.540834321 -0600 -@@ -117,6 +117,7 @@ - OPTION(FREECAD_MAINTAINERS_BUILD "Build FreeCAD for Maintainers, with Docu and 3rd party libs. On Windows the Installer is build." OFF) - OPTION(FREECAD_USE_EXTERNAL_ZIPIOS "Use system installed zipios++ instead of the bundled." OFF) - OPTION(FREECAD_USE_EXTERNAL_PIVY "Use system installed python-pivy instead of the bundled." OFF) -+OPTION(FREECAD_USE_EXTERNAL_SMESH "Use system installed smesh instead of the bundled." OFF) - OPTION(FREECAD_BUILD_DEBIAN "Prepare for a build of a Debian package" OFF) - - OPTION(FREECAD_BUILD_CAM "Build the FreeCAD CAM module and the needed libs, be aware, unfinished code!" OFF) -@@ -165,6 +166,7 @@ - if (FREECAD_BUILD_DEBIAN) - set(FREECAD_USE_EXTERNAL_ZIPIOS ON) - set(FREECAD_USE_EXTERNAL_PIVY ON) -+ set(FREECAD_USE_EXTERNAL_SMESH ON) - endif (FREECAD_BUILD_DEBIAN) - - # ============================================================================== -@@ -348,10 +350,6 @@ - message(SEND_ERROR "Could not find libpack in specified location:" ${FREECAD_LIBPACK_DIR}) - ENDIF(FREECAD_LIBPACK_CHECKFILE6X) - --# -------------------------------- PyCXX -------------------------------- -- -- find_package(PyCXX REQUIRED) -- - # -------------------------------- Swig ---------------------------------- - - find_package(SWIG) -@@ -473,24 +471,29 @@ - - # Salome SMESH sources are under src/3rdParty now - IF(OCC_FOUND) -- set(SMESH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc) -- set(SMESH_LIBRARIES -- StdMeshers -- #MEFISTO2 -- SMESH -- DriverUNV -- SMESHDS -- DriverSTL -- DriverDAT -- Driver -- SMDS -- ) -- set(SMESH_FOUND TRUE) -- ENDIF(OCC_FOUND) -- #find_package(SMESH) -- #IF(NOT SMESH_FOUND) -- # MESSAGE("Salome SMESH was not found!") -- #ENDIF(NOT SMESH_FOUND) -+ if(NOT FREECAD_USE_EXTERNAL_SMESH) -+ set(SMESH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc) -+ else() -+ include_directories(${SMESH_INCLUDE_DIR}) -+ set(SMESH_LIBRARIES "") -+ foreach(SMESH_LIB -+ StdMeshers -+ #MEFISTO2 -+ SMESH -+ DriverUNV -+ SMESHDS -+ DriverSTL -+ DriverDAT -+ Driver -+ SMDS -+ ) -+ find_library(SMESH_${SMESH_LIB} ${SMESH_LIB} REQUIRED) -+ list(APPEND SMESH_LIBRARIES ${SMESH_${SMESH_LIB}}) -+ endforeach() -+ message(STATUS "Found SMESH library: ${SMESH_LIBRARIES}") -+ endif() -+ set(SMESH_FOUND TRUE) -+ ENDIF(OCC_FOUND) - - # -------------------------------- Netgen -------------------------------- - -diff -Naur freecad-0.14.3702.orig/src/3rdParty/CMakeLists.txt freecad-0.14.3702/src/3rdParty/CMakeLists.txt ---- freecad-0.14.3702.orig/src/3rdParty/CMakeLists.txt 2014-07-13 10:33:02.000000000 -0500 -+++ freecad-0.14.3702/src/3rdParty/CMakeLists.txt 2014-07-26 21:31:55.617168862 -0500 -@@ -34,8 +34,8 @@ - endif (FREECAD_LIBPACK_CHECKFILE6X) - endif(FREECAD_BUILD_GUI AND NOT FREECAD_USE_EXTERNAL_PIVY) - --# Build SalomeMesh for all Platforms since heavily patched --if (FREECAD_BUILD_SMESH) -+if(NOT FREECAD_USE_EXTERNAL_SMESH) -+ # Build SalomeMesh for all Platforms since heavily patched - add_subdirectory(salomesmesh) --endif(FREECAD_BUILD_SMESH) -+endif(NOT FREECAD_USE_EXTERNAL_SMESH) - -diff -Naur freecad-0.14.3702.orig/src/Mod/Fem/App/CMakeLists.txt freecad-0.14.3702/src/Mod/Fem/App/CMakeLists.txt ---- freecad-0.14.3702.orig/src/Mod/Fem/App/CMakeLists.txt 2014-07-13 10:33:02.000000000 -0500 -+++ freecad-0.14.3702/src/Mod/Fem/App/CMakeLists.txt 2014-12-15 14:23:39.548135756 -0600 -@@ -21,7 +21,7 @@ - ${PYTHON_INCLUDE_PATH} - ${ZLIB_INCLUDE_DIR} - ${XERCESC_INCLUDE_DIR} -- ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc -+ ${SMESH_INCLUDE_DIR} - ) - - link_directories(${OCC_LIBRARY_DIR}) -@@ -34,6 +34,8 @@ - StdMeshers - NETGENPlugin - SMESH -+ SMDS -+ SMESHDS - ) - else(FREECAD_BUILD_FEM_NETGEN) - set(Fem_LIBS -@@ -41,6 +43,8 @@ - FreeCADApp - StdMeshers - SMESH -+ SMDS -+ SMESHDS - ) - endif(FREECAD_BUILD_FEM_NETGEN) - -diff -Naur freecad-0.14.3702.orig/src/Mod/Fem/Gui/CMakeLists.txt freecad-0.14.3702/src/Mod/Fem/Gui/CMakeLists.txt ---- freecad-0.14.3702.orig/src/Mod/Fem/Gui/CMakeLists.txt 2014-07-13 10:33:02.000000000 -0500 -+++ freecad-0.14.3702/src/Mod/Fem/Gui/CMakeLists.txt 2014-12-15 11:16:24.706617437 -0600 -@@ -20,7 +20,7 @@ - ${SOQT_INCLUDE_DIR} - ${PYTHON_INCLUDE_PATH} - ${XERCESC_INCLUDE_DIR} -- ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc -+ ${SMESH_INCLUDE_DIR} - ) - - link_directories(${OCC_LIBRARY_DIR}) -diff -Naur freecad-0.14.3702.orig/src/Mod/MeshPart/App/CMakeLists.txt freecad-0.14.3702/src/Mod/MeshPart/App/CMakeLists.txt ---- freecad-0.14.3702.orig/src/Mod/MeshPart/App/CMakeLists.txt 2014-07-13 10:33:02.000000000 -0500 -+++ freecad-0.14.3702/src/Mod/MeshPart/App/CMakeLists.txt 2014-12-15 12:55:44.292060698 -0600 -@@ -14,7 +14,6 @@ - - include_directories( - ${CMAKE_SOURCE_DIR}/src -- ${CMAKE_SOURCE_DIR}/src/3rdParty/salomesmesh/inc - ${Boost_INCLUDE_DIRS} - ${OCC_INCLUDE_DIR} - ${ZLIB_INCLUDE_DIR} -@@ -34,6 +33,7 @@ - StdMeshers - NETGENPlugin - SMESH -+ SMDS - ) - else(FREECAD_BUILD_FEM_NETGEN) - set(MeshPart_LIBS -@@ -41,6 +41,7 @@ - Mesh - StdMeshers - SMESH -+ SMDS - ) - endif(FREECAD_BUILD_FEM_NETGEN) - diff --git a/freecad-0.15-zipios.patch b/freecad-0.15-zipios.patch new file mode 100644 index 0000000..1cd9b0f --- /dev/null +++ b/freecad-0.15-zipios.patch @@ -0,0 +1,17 @@ +diff -Naur freecad-0.15.4671.orig/src/Base/CMakeLists.txt freecad-0.15.4671/src/Base/CMakeLists.txt +--- freecad-0.15.4671.orig/src/Base/CMakeLists.txt 2015-04-05 12:25:02.000000000 -0500 ++++ freecad-0.15.4671/src/Base/CMakeLists.txt 2015-04-11 07:19:09.729155453 -0500 +@@ -301,9 +301,11 @@ + # 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.spec b/freecad.spec index 7230840..f7288ec 100644 --- a/freecad.spec +++ b/freecad.spec @@ -1,9 +1,9 @@ # # Conditional build: %bcond_with occ # Compile using OpenCASCADE instead of OCE -%bcond_with bundled_zipios # use bundled version of zipios++ -%bcond_with bundled_pycxx # use bundled version of pycxx -%bcond_with bundled_smesh # use bundled version of Salome's Mesh +%bcond_without system_zipios # use system version of zipios++ +%bcond_without system_pycxx # use system version of pycxx +%bcond_without system_smesh # use system version of Salome's Mesh # This revision is 0.15 final. %define rev 4671 @@ -19,11 +19,10 @@ Source101: %{name}.desktop Source102: %{name}.1 Source103: %{name}.appdata.xml Source104: %{name}.sharedmimeinfo -Patch0: %{name}-3rdParty.patch -Patch1: %{name}-0.14-Xlib_h.patch -Patch2: %{name}-0.14-smesh.patch -Patch3: %{name}-0.14-DraftSnap.patch -#Patch4: %{name}-0.14-disable_auto_dxf_dl.patch +Patch0: freecad-3rdParty.patch +Patch1: freecad-0.14-Xlib_h.patch +Patch2: freecad-0.15-zipios.patch +Patch3: freecad-0.14-Version_h.patch URL: http://freecadweb.org/ # Utilities BuildRequires: cmake @@ -56,19 +55,17 @@ BuildRequires: netgen-mesher-devel #BuildRequires: opencv-devel BuildRequires: python-devel BuildRequires: python-matplotlib -%{!?with_bundled_pycxx:BuildRequires: python-pycxx-devel} -BuildRequires: python-pyside-devel +%{?with_system_pycxx:BuildRequires: python-pycxx-devel} +BuildRequires: python-PySide-devel +BuildRequires: pyside-tools BuildRequires: qt-devel -BuildRequires: qt-webkit-devel +BuildRequires: QtWebKit-devel BuildRequires: shiboken -%{!?with_bundled_smesh:BuildRequires: smesh-devel} BuildRequires: xerces-c BuildRequires: xerces-c-devel -%{!?with_bundled_zipios:BuildRequires: zipios++-devel} +%{?with_system_zipios:BuildRequires: zipios++-devel} Requires: %{name}-data = %{version}-%{release} Requires: glib2 >= 1:2.26.0 -# Obsolete old doc package since it's required for functionality. -Obsoletes: freecad-doc < 0.13-5 # Needed for plugin support and is not a soname dependency. Requires: hicolor-icon-theme Requires: python-collada @@ -108,9 +105,7 @@ system. %package data Summary: Data files for FreeCAD Requires: %{name} = %{version}-%{release} -%if "%{_rpmversion}" >= "5" BuildArch: noarch -%endif %description data Data files for FreeCAD. @@ -118,16 +113,15 @@ Data files for FreeCAD. %prep %setup -q -n %{name}-%{version}.%{rev} %patch0 -p1 -%if %{without bundled_pycxx} -rm -r src/CXX -%endif %patch1 -p1 %patch2 -p1 %patch3 -p1 -# Patch comes from upstream/master, doesn't apply cleanly to 0.14. -#patch4 -p1 -%if %{without bundled_zipios} +%if %{with system_pycxx} +rm -r src/CXX +%endif + +%if %{with system_zipios} rm -r src/zipios++ %endif @@ -137,16 +131,12 @@ dos2unix -k src/Mod/Test/unittestgui.py \ copying.lib \ data/License.txt -# Removed bundled libraries +# Removed system libraries rm -r src/3rdParty %build install -d build cd build - -# Deal with cmake projects that tend to link excessively. -export LDFLAGS="%{rpmcflags} -Wl,--as-needed -Wl,--no-undefined" - %cmake \ -DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \ -DCMAKE_INSTALL_DATADIR=%{_datadir}/%{name} \ @@ -159,14 +149,14 @@ export LDFLAGS="%{rpmcflags} -Wl,--as-needed -Wl,--no-undefined" %if %{with occ} -DUSE_OCC=TRUE \ %endif -%if %{without bundled_smesh} +%if %{with system_smesh} -DFREECAD_USE_EXTERNAL_SMESH=TRUE \ -DSMESH_INCLUDE_DIR=%{_includedir}/smesh \ %endif -%if %{without bundled_zipios} +%if %{with system_zipios} -DFREECAD_USE_EXTERNAL_ZIPIOS=TRUE \ %endif -%if %{without bundled_pycxx} +%if %{with system_pycxx} -DPYCXX_INCLUDE_DIR=$(pkg-config --variable=includedir PyCXX) \ -DPYCXX_SOURCE_DIR=$(pkg-config --variable=srcdir PyCXX) \ %endif @@ -198,9 +188,9 @@ install -pD src/Gui/Icons/%{name}.svg $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/s # Install man page install -pD %{SOURCE102} $RPM_BUILD_ROOT%{_mandir}/man1/%{name}.1 -# Symlink manpage to other binary names -ln -s %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1/FreeCAD.1 -ln -s %{name}.1 $RPM_BUILD_ROOT%{_mandir}/man1/FreeCADCmd.1 +# groff link manpage to other binary names +echo %{name}.1 > $RPM_BUILD_ROOT%{_mandir}/man1/FreeCAD.1 +echo %{name}.1 > $RPM_BUILD_ROOT%{_mandir}/man1/FreeCADCmd.1 # Remove obsolete Start_Page.html rm $RPM_BUILD_ROOT%{_docdir}/%{name}/Start_Page.html -- 2.43.0