Author: hobbes1069
Update of /cvs/nonfree/rpms/freecad/F-17
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv27563
Modified Files:
freecad.spec sources
Added Files:
freecad-0.13-pycxx.patch
Removed Files:
freecad-0.12-OpenCASCADE-option.patch freecad-0.12-pycxx.patch
freecad-0.12-rm_f2c.patch freecad-0.12-zipios.patch
freecad-StartPage.patch freecad-cmake_Mod_fix.patch
freecad-gcc-4.7.patch freecad-glu.patch
freecad-system_inst.patch
Log Message:
* Mon Feb 18 2013 Richard Shaw <hobbes1069(a)gmail.com> - 0.13-1
- Update to latest upstream release.
freecad-0.13-pycxx.patch:
FreeCAD-0.12.5284/cMake/FindPyCXX.cmake | 107 +++++++++++++++++++++++++++
freecad-0.13.a057590/CMakeLists.txt | 11 ++
freecad-0.13.a057590/src/Base/CMakeLists.txt | 18 ----
3 files changed, 121 insertions(+), 15 deletions(-)
--- NEW FILE freecad-0.13-pycxx.patch ---
diff -Naur freecad-0.13.a057590.orig/CMakeLists.txt freecad-0.13.a057590/CMakeLists.txt
--- freecad-0.13.a057590.orig/CMakeLists.txt 2013-01-12 08:10:36.000000000 -0600
+++ freecad-0.13.a057590/CMakeLists.txt 2013-01-17 16:04:52.117940071 -0600
@@ -73,6 +73,13 @@
SET(CMAKE_INSTALL_INCLUDEDIR include CACHE PATH "Output directory for header
files")
SET(CMAKE_INSTALL_DOCDIR doc CACHE PATH "Output directory for documentation and
license files")
+SET(PYCXX_INCLUDE_DIR
+ "${CMAKE_CURRENT_LIST_DIR}/src" CACHE PATH
+ "Path to the directory containing PyCXX's CXX/Config.hxx include
file")
+SET(PYCXX_SOURCE_DIR
+ "${CMAKE_CURRENT_LIST_DIR}/src/CXX" CACHE PATH
+ "Path to the directory containing PyCXX's cxxextensions.c source
file")
+
# used as compiler defines
SET(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}")
SET(DOCDIR "${CMAKE_INSTALL_DOCDIR}")
@@ -201,6 +208,10 @@
find_package(ZLIB REQUIRED)
+# -------------------------------- PyCXX --------------------------------
+
+ find_package(PyCXX REQUIRED)
+
# -------------------------------- OpenCasCade --------------------------------
#first, look for OpenCASCADE Community Edition (OCE)
diff -Naur freecad-0.13.a057590.orig/src/Base/CMakeLists.txt
freecad-0.13.a057590/src/Base/CMakeLists.txt
--- freecad-0.13.a057590.orig/src/Base/CMakeLists.txt 2013-01-12 08:10:36.000000000 -0600
+++ freecad-0.13.a057590/src/Base/CMakeLists.txt 2013-01-17 16:06:36.985515701 -0600
@@ -124,20 +124,6 @@
SOURCE_GROUP("zipios" FILES ${zipios_SRCS})
endif ()
-SET(pycxx_SRCS
- ../CXX/Config.hxx
- ../CXX/cxxextensions.c
- ../CXX/cxx_extensions.cxx
- ../CXX/cxxsupport.cxx
- ../CXX/Exception.hxx
- ../CXX/Extensions.hxx
- ../CXX/IndirectPythonInterface.cxx
- ../CXX/IndirectPythonInterface.hxx
- ../CXX/Objects.hxx
- ../CXX/Version.hxx
- ../CXX/WrapPython.h
-)
-SOURCE_GROUP("pycxx" FILES ${pycxx_SRCS})
SET(FreeCADBase_XML_SRCS
AxisPy.xml
@@ -279,7 +265,6 @@
)
SET(FreeCADBase_SRCS
- ${pycxx_SRCS}
${FreeCADBase_CPP_SRCS}
${FreeCADBase_HPP_SRCS}
${FreeCADBase_XML_SRCS}
@@ -310,6 +295,9 @@
list(APPEND FreeCADBase_SRCS ${zipios_SRCS})
endif(FREECAD_USE_EXTERNAL_ZIPIOS)
+include_directories(${PYCXX_INCLUDE_DIR})
+list(APPEND FreeCADBase_SRCS ${PYCXX_SOURCES})
+SOURCE_GROUP("pycxx" FILES ${PYCXX_SOURCES})
if(MSVC)
add_definitions(-D_PreComp_)
This patch adds an option to FreeCAD's cmake to specify an external
PyCXX. PyCXX doesn't really have a standard location, so this will try
to guess a couple of places, but best is to specify on the cmake command
line:
cmake -DPYCXX_INCLUDE_DIR=/usr/include/python2.7 \
-DPYCXX_SOURCE_DIR=/usr/share/python2.7/CXX
diff -ruN FreeCAD-0.12.5284.orig/cMake/FindPyCXX.cmake
FreeCAD-0.12.5284/cMake/FindPyCXX.cmake
--- FreeCAD-0.12.5284.orig/cMake/FindPyCXX.cmake 1969-12-31 18:00:00.000000000 -0600
+++ FreeCAD-0.12.5284/cMake/FindPyCXX.cmake 2012-06-25 01:30:25.000000000 -0500
@@ -0,0 +1,107 @@
+# Locate PyCXX headers and source files
+
+# This module defines
+# PYCXX_INCLUDE_DIR
+# PYCXX_SOURCE_DIR
+# PYCXX_FOUND
+# PYCXX_SOURCES
+#
+# The PYCXX_*_DIR variables can be set to tell this module where
+# the files are.
+
+
+# There's no standard location for PyCXX.
+#
+# The authors' example is to put it in "~\" [sic].
+#
+# Ubuntu puts the includes into /usr/include/python2.7/CXX and sources into
+# /usr/share/python2.7/CXX.
+#
+# The Zultron Fedora RPM does the same as Ubuntu.
+
+set(PYCXX_FOUND "YES")
+
+# find the header directory
+if(PYCXX_INCLUDE_DIR)
+ # headers better be in there
+ if(NOT EXISTS "${PYCXX_INCLUDE_DIR}/CXX/Config.hxx")
+ if(PYCXX_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR
+ "PyCXX: could not find CXX/Config.hxx in PYCXX_INCLUDE_DIR "
+ "${PYCXX_INCLUDE_DIR}")
+ else(PYCXX_FIND_REQUIRED)
+ MESSAGE(WARNING
+ "PyCXX: could not find CXX/Config.hxx in PYCXX_INCLUDE_DIR "
+ "${PYCXX_INCLUDE_DIR}")
+ unset(PYCXX_FOUND)
+ endif(PYCXX_FIND_REQUIRED)
+ endif(NOT EXISTS "${PYCXX_INCLUDE_DIR}/CXX/Config.hxx")
+else(PYCXX_INCLUDE_DIR)
+ # check in 'standard' places
+ find_path(PYCXX_INCLUDE_DIR CXX/Config.hxx
+ ${PYTHON_INCLUDE_DIR}
+ "${CMAKE_CURRENT_LIST_DIR}/..")
+ if(NOT PYCXX_INCLUDE_DIR)
+ if(PYCXX_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR
+ "PyCXX not found; please set PYCXX_INCLUDE_DIR to "
+ "the location of CXX/Config.hxx")
+ else(PYCXX_FIND_REQUIRED)
+ MESSAGE(STATUS "PyCXX not found")
+ unset(PYCXX_FOUND)
+ endif(PYCXX_FIND_REQUIRED)
+ endif(NOT PYCXX_INCLUDE_DIR)
+endif(PYCXX_INCLUDE_DIR)
+
+# find the sources directory
+if(PYCXX_SOURCE_DIR)
+ # source directory specified, they'd better be there
+ if(NOT EXISTS "${PYCXX_SOURCE_DIR}/cxxextensions.c")
+ if(PYCXX_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR
+ "PyCXX: cxxextensions.c not found in PYCXX_INCLUDE_DIR "
+ "${PYCXX_INCLUDE_DIR}")
+ else(PYCXX_FIND_REQUIRED)
+ MESSAGE(WARNING
+ "PyCXX: cxxextensions.c not found in PYCXX_INCLUDE_DIR "
+ "${PYCXX_INCLUDE_DIR}")
+ unset(PYCXX_FOUND)
+ endif(PYCXX_FIND_REQUIRED)
+ endif(NOT EXISTS "${PYCXX_SOURCE_DIR}/cxxextensions.c")
+else(PYCXX_SOURCE_DIR)
+ # check in 'standard' places
+ find_path(PYCXX_SOURCE_DIR cxxextensions.c
+ "${PYCXX_INCLUDE_DIR}/CXX"
+ "${PYCXX_INCLUDE_DIR}/Src"
+ "${PYTHON_INCLUDE_DIR}/CXX"
+ "${PYTHON_INCLUDE_DIR}/Src"
+ "${CMAKE_CURRENT_LIST_DIR}/../Src"
+ "${CMAKE_CURRENT_LIST_DIR}/../CXX")
+ if(NOT PYCXX_SOURCE_DIR)
+ if(PYCXX_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR
+ "PyCXX not found; please set PYCXX_SOURCE_DIR to "
+ "the location of cxxextensions.c")
+ else(PYCXX_FIND_REQUIRED)
+ MESSAGE(STATUS "PyCXX not found")
+ unset(PYCXX_FOUND)
+ endif(PYCXX_FIND_REQUIRED)
+ endif(NOT PYCXX_SOURCE_DIR)
+endif(PYCXX_SOURCE_DIR)
+
+# see what we've got
+if(PYCXX_FOUND)
+ MESSAGE(STATUS "PyCXX found:")
+ MESSAGE(STATUS " Headers: ${PYCXX_INCLUDE_DIR}")
+ MESSAGE(STATUS " Sources: ${PYCXX_SOURCE_DIR}")
+
+ # Build the list of sources for convenience
+ set(PYCXX_SOURCES
+ ${PYCXX_SOURCE_DIR}/cxxextensions.c
+ ${PYCXX_SOURCE_DIR}/cxx_extensions.cxx
+ ${PYCXX_SOURCE_DIR}/cxxsupport.cxx
+ ${PYCXX_SOURCE_DIR}/IndirectPythonInterface.cxx
+ )
+else(PYCXX_FOUND)
+ MESSAGE(STATUS "PyCXX not found")
+endif(PYCXX_FOUND)
Index: freecad.spec
===================================================================
RCS file: /cvs/nonfree/rpms/freecad/F-17/freecad.spec,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- freecad.spec 7 Jul 2012 13:48:36 -0000 1.1
+++ freecad.spec 19 Feb 2013 19:07:12 -0000 1.2
@@ -1,13 +1,18 @@
# Maintainers: keep this list of plugins up to date
# List plugins in %%{_libdir}/freecad/lib, less '.so' and 'Gui.so', here
-%global plugins Complete Drawing Fem FreeCAD Image Import Inspection Mesh MeshPart Part
PartDesign Points QtUnit Raytracing ReverseEngineering Robot Sketcher Start Web
+%global plugins Assembly Complete Drawing Fem FreeCAD Image Import Inspection Mesh
MeshPart Part Points QtUnit Raytracing ReverseEngineering Robot Sketcher Start Web
+
+# Some plugins go in the Mod folder instead of lib. Deal with those here:
+%global mod_plugins Mod/PartDesign
# This revision is 0.12 final.
-%global svnrev 5284
+%global rev 1830
-# Use update cmake package on EL builds.
+# Use updated cmake package on EL builds.
+# Temporary workaround for cmake/boost bug:
+#
http://public.kitware.com/Bug/view.php?id=13446
%if 0%{?el6}
-%global cmake %cmake28
+%global cmake %cmake28 -DBoost_NO_BOOST_CMAKE=ON
%endif
# Some configuration options for other environments
@@ -22,8 +27,8 @@
Name: freecad
-Version: 0.12
-Release: 7%{?dist}
+Version: 0.13
+Release: 1%{?dist}
Summary: A general purpose 3D CAD modeler
Group: Applications/Engineering
@@ -31,40 +36,26 @@
# on OCE which is considered non-free.
License: GPLv3+ with exception
URL:
http://sourceforge.net/apps/mediawiki/free-cad/
-Source0:
http://downloads.sourceforge.net/free-cad/%{name}-%{version}.%{svnrev}.ta...
+Source0:
http://downloads.sourceforge.net/free-cad/%{name}-%{version}.%{rev}.tar.gz
Source101: freecad.desktop
Source102: freecad.1
-# Patches 0 & 2 accepted upstream.
-#
https://sourceforge.net/apps/mantisbt/free-cad/view.php?id=519
-# Fix a bunch of rpath issues and other tweaks.
-Patch0: freecad-system_inst.patch
-# Remove bundled libs from cmake configuration.
-Patch1: freecad-3rdParty.patch
-# Fix incomplete cmake config.
-Patch2: freecad-StartPage.patch
-# Fixed in svn
-Patch3: freecad-glu.patch
-# Disable unfinished modules.
-Patch4: freecad-cmake_Mod_fix.patch
-# Unbundle zipios++
-Patch5: freecad-0.12-zipios.patch
-# Patch for gcc 4.7
-Patch6: freecad-gcc-4.7.patch
-# Add build option for OpenCASCADE
-Patch7: freecad-0.12-OpenCASCADE-option.patch
-# Unbundle PyCXX
-Patch8: freecad-0.12-pycxx.patch
-# f2c is only needed for smesh, and maybe not even there
-Patch9: freecad-0.12-rm_f2c.patch
+Patch0: freecad-3rdParty.patch
+Patch1: freecad-0.13-pycxx.patch
# Utilities
-BuildRequires: cmake doxygen swig
+%if 0%{?rhel}
+BuildRequires: cmake28
+%else
+BuildRequires: cmake
+%endif
+BuildRequires: doxygen swig graphviz
BuildRequires: gcc-gfortran
BuildRequires: gettext
BuildRequires: dos2unix
BuildRequires: desktop-file-utils
+BuildRequires: tbb-devel
# Development Libraries
BuildRequires: freeimage-devel
BuildRequires: libXmu-devel
@@ -97,10 +88,15 @@
%if ! %{bundled_pycxx}
BuildRequires: python-pycxx-devel
%endif
+BuildRequires: libicu-devel
+BuildRequires: python-matplotlib
# Needed for plugin support and is not a soname dependency.
Requires: python-pivy
+Requires: PyQt4
Requires: hicolor-icon-theme
+Requires: python-matplotlib
+Requires: python-collada
# plugins and private shared libs in %%{_libdir}/freecad/lib are private;
# prevent private capabilities being advertised in Provides/Requires
@@ -109,6 +105,8 @@
%filter_provides_in %{_libdir}/%{name}/lib
%filter_from_requires %{plugin_regexp}
%filter_from_provides %{plugin_regexp}
+%filter_provides_in %{_libdir}/%{name}/Mod
+%filter_requires_in %{_libdir}/%{name}/Mod
%filter_setup
}
@@ -134,22 +132,18 @@
%prep
-%setup -q -n FreeCAD-%{version}.%{svnrev}
-
-%patch0 -p1 -b .sysinst
-%patch1 -p1 -b .3rdparty
-%patch2 -p1 -b .startpage
-%patch3 -p1 -b .glufix
-%patch4 -p1 -b .modfix
-%patch5 -p1 -b .zipios
-%patch6 -p1 -b .gcc47
-%patch7 -p1 -b .OCC
+#setup -q -n FreeCAD-%{version}.%{svnrev}
+%setup -q -n freecad-%{version}.%{rev}
+%patch0 -p1 -b .3rdparty
# Remove bundled pycxx if we're not using it
%if ! %{bundled_pycxx}
-%patch8 -p1 -b .pycxx
+%patch1 -p1 -b .pycxx
rm -rf src/CXX
%endif
-%patch9 -p1 -b .f2c
+
+%if ! %{bundled_zipios}
+rm -rf src/zipios++
+%endif
# Fix encodings
dos2unix -k src/Mod/Test/unittestgui.py \
@@ -165,19 +159,22 @@
rm -rf build && mkdir build && pushd build
LDFLAGS='-Wl,--as-needed'; export LDFLAGS
-%cmake -DCMAKE_INSTALL_PREFIX=%{_libdir}/freecad \
+%cmake -DCMAKE_INSTALL_PREFIX=%{_libdir}/%{name} \
+ -DCMAKE_INSTALL_DATADIR=%{_datadir}/%{name} \
+ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/%{name} \
+ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \
-DRESOURCEDIR=%{_libdir}/freecad \
- -DDOCDIR=%{_docdir}/%{name} \
-DCOIN3D_INCLUDE_DIR=%{_includedir}/Coin2 \
-DCOIN3D_DOC_PATH=%{_datadir}/Coin2/Coin \
- %if %{occ}
+ -DFREECAD_USE_EXTERNAL_PIVY=TRUE \
+%if %{occ}
-DUSE_OCC=TRUE \
%endif
%if ! %{bundled_smesh}
-DSMESH_INCLUDE_DIR=%{_includedir} \
%endif
%if ! %{bundled_zipios}
- -DUSE_EXTERNAL_ZIPIOS=TRUE \
+ -DFREECAD_USE_EXTERNAL_ZIPIOS=TRUE \
%endif
%if ! %{bundled_pycxx}
-DPYCXX_INCLUDE_DIR=$(pkg-config --variable=includedir PyCXX) \
@@ -187,6 +184,8 @@
make %{?_smp_mflags}
+make doc
+
%install
pushd build
@@ -201,7 +200,7 @@
popd
# Fix problems with unittestgui.py
-chmod +x %{buildroot}%{_libdir}/%{name}/Mod/Test/unittestgui.py
+#chmod +x %{buildroot}%{_libdir}/%{name}/Mod/Test/unittestgui.py
# Install desktop file
desktop-file-install \
@@ -272,9 +271,9 @@
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/bin/
-%{_libdir}/%{name}/data/
%{_libdir}/%{name}/lib/
%{_libdir}/%{name}/Mod/
+%{_datadir}/%{name}/
%{_mandir}/man1/*.1.gz
%files doc
@@ -282,16 +281,34 @@
%changelog
+* Mon Feb 18 2013 Richard Shaw <hobbes1069(a)gmail.com> - 0.13-1
+- Update to latest upstream release.
+
+* Sat Oct 20 2012 John Morris <john(a)zultron.com> - 0.12-9
+- Use cmake28 package on el6
+- Remove COIN3D_DOC_PATH cmake def (one less warning during build)
+- Add PyQt as requirement.
+- Add libicu-devel as build requirement.
+
+* Wed Sep 26 2012 Richard Shaw <hobbes1069(a)gmail.com> - 0.12-8
+- Rebuild for boost 1.50.
+
* Thu Jul 05 2012 Richard Shaw <hobbes1069(a)gmail.com> - 0.12-7
- Remove BuildRequires: tbb-devel and gts-devel
- Add missing license files to %%doc.
-- Add missing build requirement for hicolor-icon-theme.
+- Add missing requirement for hicolor-icon-theme.
- Fix excessive linking issue.
- Other minor spec updates.
* Mon Jun 25 2012 <john(a)zultron.com> - 0.12-6
- Filter out automatically generated Provides/Requires of private libraries
- freecad.desktop not passing 'desktop-file-validate'; fixed
+- Remove BuildRequires: tbb-devel and gts-devel
+- Update license tag to GPLv3+ only.
+- Add missing license files to %%doc.
+- Add missing build requirement for hicolor-icon-theme.
+- Fix excessive linking issue.
+- Other minor spec updates.
* Mon Jun 25 2012 <john(a)zultron.com> - 0.12-5
- New patch to unbundle PyCXX
Index: sources
===================================================================
RCS file: /cvs/nonfree/rpms/freecad/F-17/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- sources 7 Jul 2012 13:48:36 -0000 1.2
+++ sources 19 Feb 2013 19:07:12 -0000 1.3
@@ -1 +1 @@
-fcd91286c578a219491ffebb2111bddf freecad-0.12.5284.tar.gz
+13b8fddef12f5f8419dcf4adbab596eb freecad-0.13.1830.tar.gz
--- freecad-0.12-OpenCASCADE-option.patch DELETED ---
--- freecad-0.12-pycxx.patch DELETED ---
--- freecad-0.12-rm_f2c.patch DELETED ---
--- freecad-0.12-zipios.patch DELETED ---
--- freecad-StartPage.patch DELETED ---
--- freecad-cmake_Mod_fix.patch DELETED ---
--- freecad-gcc-4.7.patch DELETED ---
--- freecad-glu.patch DELETED ---
--- freecad-system_inst.patch DELETED ---