diff --git a/.SRCINFO b/.SRCINFO index 94446f2..a53ed6a 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = freecad-git pkgdesc = A general purpose 3D CAD modeler - git checkout - pkgver = 0.17pre.r3401.g99fa203f3 - pkgrel = 2 + pkgver = 0.17pre.r3961.g3b6020cda + pkgrel = 1 epoch = 1 url = http://www.freecadweb.org/ arch = i686 @@ -16,20 +16,21 @@ pkgbase = freecad-git makedepends = eigen makedepends = gcc-fortran makedepends = swig - makedepends = patch depends = boost-libs depends = curl depends = hicolor-icon-theme depends = libspnav - depends = opencascade + depends = opencascade7 depends = med depends = xerces-c depends = python2-pivy depends = python2-pyside + depends = qtwebkit depends = libtheora depends = shared-mime-info depends = vtk-qt4 depends = jsoncpp + depends = netgen-nogui-occ7 optdepends = python2-matplotlib optdepends = pycollada-git: Create, edit and load COLLADA documents. provides = freecad @@ -37,11 +38,13 @@ pkgbase = freecad-git source = freecad-git::git+https://github.com/FreeCAD/FreeCAD.git source = freecad.desktop source = freecad.xml - source = fem-rpath.patch + source = rpath.patch + source = fix-occ-search.patch md5sums = SKIP md5sums = 7e781d41e90a1c137930e47672996a52 md5sums = c2f4154c8e4678825411de8e7fa54c6b - md5sums = 99a41687a9ba980eea86aee4345d9a1d + md5sums = b313a990287bce43dc698affae35d58d + md5sums = 5a7beefb78ef73241b0e421fec67f4db pkgname = freecad-git diff --git a/.gitignore b/.gitignore index 9ad0e69..e7f545b 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,6 @@ !ChangeLog !*.diff !*.patch +<<<<<<< HEAD !*.desktop !*.xml diff --git a/PKGBUILD b/PKGBUILD index 4f3b2fa..16e378a 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,83 +1,94 @@ # Maintainer: Markus Hovorka # Contributer: Christian Hesse -pkgname=freecad-git -pkgver=0.17pre.r3401.g99fa203f3 -pkgrel=2 +_appname=freecad +pkgname="${_appname}-git" +pkgver=0.17pre.r3961.g3b6020cda +pkgrel=1 epoch=1 pkgdesc='A general purpose 3D CAD modeler - git checkout' arch=('i686' 'x86_64') url='http://www.freecadweb.org/' license=('LGPL') -depends=('boost-libs' 'curl' 'hicolor-icon-theme' 'libspnav' 'opencascade' - 'med' 'xerces-c' 'python2-pivy' 'python2-pyside' - 'libtheora' 'shared-mime-info' 'vtk-qt4' 'jsoncpp') +depends=('boost-libs' 'curl' 'hicolor-icon-theme' 'libspnav' 'opencascade7' + 'med' 'xerces-c' 'python2-pivy' 'python2-pyside' 'qtwebkit' + 'libtheora' 'shared-mime-info' 'vtk-qt4' 'jsoncpp' 'netgen-nogui-occ7') makedepends=('git' 'boost' 'cmake' 'coin' 'python2-pyside-tools' - 'desktop-file-utils' 'eigen' 'gcc-fortran' 'swig' 'patch') + 'desktop-file-utils' 'eigen' 'gcc-fortran' 'swig') optdepends=('python2-matplotlib' 'pycollada-git: Create, edit and load COLLADA documents.') provides=('freecad') conflicts=('freecad') -source=("$pkgname::git+https://github.com/FreeCAD/FreeCAD.git" +source=("${pkgname}::git+https://github.com/FreeCAD/FreeCAD.git" "freecad.desktop" - "freecad.xml" - "fem-rpath.patch") + "freecad.xml" + "rpath.patch" + "fix-occ-search.patch") md5sums=('SKIP' '7e781d41e90a1c137930e47672996a52' 'c2f4154c8e4678825411de8e7fa54c6b' - '99a41687a9ba980eea86aee4345d9a1d') + 'b313a990287bce43dc698affae35d58d' + '5a7beefb78ef73241b0e421fec67f4db') pkgver() { - cd "$pkgname" - git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/_//' + cd "${srcdir}/${pkgname}" + git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/_//' } prepare() { - cd "$srcdir/$pkgname" - patch -p1 -i "$srcdir/fem-rpath.patch" + cd "${srcdir}/${pkgname}" + patch -Np1 -i "${srcdir}/rpath.patch" + patch -Np1 -i "${srcdir}/fix-occ-search.patch" } build() { - cd "$srcdir/$pkgname" + cd "${srcdir}/${pkgname}" - cmake -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX:PATH="/opt/freecad" \ - -DOCC_INCLUDE_DIR:PATH=/opt/opencascade/inc \ - -DOCC_LIBRARY_DIR:PATH=/opt/opencascade/lib \ - -DVTK_DIR:PATH=/opt/vtk-qt4/lib/cmake/vtk-7.0 \ - -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python2 \ - -DPYTHON_SUFFIX=-python2.7 \ - -DPYTHON_BASENAME=-python2.7 \ - -DPYSIDEUIC4BINARY:FILEPATH=/usr/bin/python2-pyside-uic + cmake -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="/opt/${_appname}" \ + -DOCC_INCLUDE_DIR="/opt/opencascade7/include/opencascade" \ + -DOCC_LIBRARY_DIR="/opt/opencascade7/lib" \ + -DVTK_DIR="/opt/vtk-qt4/lib/cmake/vtk-7.0" \ + -DCMAKE_PREFIX_PATH="/opt/opencascade7" \ + -DCMAKE_INCLUDE_PATH="/opt/opencascade7/include/opencascade" \ + -DCMAKE_LIBRARY_PATH="/opt/opencascade7/lib" \ + -DCMAKE_INSTALL_RPATH="/opt/opencascade7/lib;/opt/vtk-qt4/lib" \ + -DPYTHON_EXECUTABLE="/usr/bin/python2" \ + -DPYTHON_SUFFIX="-python2.7" \ + -DPYTHON_BASENAME="-python2.7" \ + -DPYSIDEUIC4BINARY="/usr/bin/python2-pyside-uic" \ + -DBUILD_FEM_NETGEN=1 - make + make } package() { - cd "$srcdir/$pkgname" + cd "${srcdir}/${pkgname}" + local bin="FreeCAD" + local bin_cmd="FreeCADCmd" - make DESTDIR="$pkgdir" install + make DESTDIR="${pkgdir}" install - # Symlink binaries to /usr/bin. - mkdir -p "$pkgdir/usr/bin" - ln -s "/opt/freecad/bin/FreeCAD" "$pkgdir/usr/bin/FreeCAD" - ln -s "/opt/freecad/bin/FreeCADCmd" "$pkgdir/usr/bin/FreeCADCmd" + # Symlink binaries to /usr/bin. + mkdir -p "${pkgdir}/usr/bin" + ln -s "/opt/${_appname}/bin/${bin}" "${pkgdir}/usr/bin/${bin}" + ln -s "/opt/${_appname}/bin/${bin_cmd}" "${pkgdir}/usr/bin/${bin_cmd}" - # Lowercase aliases like the official arch package. - ln -s "/opt/freecad/bin/FreeCAD" "$pkgdir/usr/bin/freecad" - ln -s "/opt/freecad/bin/FreeCADCmd" "$pkgdir/usr/bin/freecadcmd" + # Lowercase aliases like the official arch package. + ln -s "/usr/bin/${bin}" "${pkgdir}/usr/bin/${bin,,}" + ln -s "/usr/bin/${bin_cmd}" "${pkgdir}/usr/bin/${bin_cmd,,}" - # Install pixmaps and desktop shortcut. - for i in 16 32 48 64; do - install -Dm644 "src/Gui/Icons/freecad-icon-${i}.png" \ - "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/freecad.png" - done - install -Dm644 "src/Gui/Icons/freecad.svg" \ - "$pkgdir/usr/share/icons/hicolor/scalable/apps/freecad.svg" - desktop-file-install \ - --dir="$pkgdir/usr/share/applications" "$srcdir/freecad.desktop" + # Install pixmaps and desktop shortcut. + for i in 16 32 48 64; do + install -Dm644 "src/Gui/Icons/freecad-icon-${i}.png" \ + "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${_appname}.png" + done + install -Dm644 "src/Gui/Icons/freecad.svg" \ + "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_appname}.svg" + desktop-file-install \ + --dir="${pkgdir}/usr/share/applications" "${srcdir}/${_appname}.desktop" - # Install mime info. - install -D -m644 "$srcdir/freecad.xml" \ - "$pkgdir/usr/share/mime/packages/freecad.xml" + # Install mime info. + install -D -m644 "${srcdir}/${_appname}.xml" \ + "${pkgdir}/usr/share/mime/packages/${_appname}.xml" } diff --git a/fem-rpath.patch b/fem-rpath.patch deleted file mode 100644 index 69c6043..0000000 --- a/fem-rpath.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt -index fd57fa0..3c649d4 100755 ---- a/src/Mod/Fem/App/CMakeLists.txt -+++ b/src/Mod/Fem/App/CMakeLists.txt -@@ -263,5 +263,7 @@ fc_target_copy_resource(Fem - - SET_BIN_DIR(Fem Fem /Mod/Fem) - SET_PYTHON_PREFIX_SUFFIX(Fem) -+set_property(TARGET Fem APPEND PROPERTY INSTALL_RPATH "/opt/vtk-qt4/lib") -+ - - INSTALL(TARGETS Fem DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/src/Mod/Fem/Gui/CMakeLists.txt b/src/Mod/Fem/Gui/CMakeLists.txt -index cec8d78..b3a7c48 100755 ---- a/src/Mod/Fem/Gui/CMakeLists.txt -+++ b/src/Mod/Fem/Gui/CMakeLists.txt -@@ -344,5 +344,6 @@ INSTALL(FILES ${FemGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/Fem/Re - - SET_BIN_DIR(FemGui FemGui /Mod/Fem) - SET_PYTHON_PREFIX_SUFFIX(FemGui) -+set_property(TARGET FemGui APPEND PROPERTY INSTALL_RPATH "/opt/vtk-qt4/lib") - - INSTALL(TARGETS FemGui DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/fix-occ-search.patch b/fix-occ-search.patch new file mode 100644 index 0000000..6f77025 --- /dev/null +++ b/fix-occ-search.patch @@ -0,0 +1,24 @@ +diff --git a/cMake/FindOpenCasCade.cmake b/cMake/FindOpenCasCade.cmake +index 9944b8ade..2f60ba7dd 100644 +--- a/cMake/FindOpenCasCade.cmake ++++ b/cMake/FindOpenCasCade.cmake +@@ -56,17 +56,8 @@ else(OCE_FOUND) #look for OpenCASCADE + ) + endif(CYGWIN OR MINGW) + else(WIN32) +- FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx +- /usr/include/opencascade +- /usr/local/include/opencascade +- /opt/opencascade/include +- /opt/opencascade/inc +- ) +- FIND_LIBRARY(OCC_LIBRARY TKernel +- /usr/lib +- /usr/local/lib +- /opt/opencascade/lib +- ) ++ FIND_PATH(OCC_INCLUDE_DIR Standard_Version.hxx) ++ FIND_LIBRARY(OCC_LIBRARY TKernel) + endif(WIN32) + if(OCC_LIBRARY) + GET_FILENAME_COMPONENT(OCC_LIBRARY_DIR ${OCC_LIBRARY} PATH) diff --git a/rpath.patch b/rpath.patch new file mode 100644 index 0000000..ceeaebd --- /dev/null +++ b/rpath.patch @@ -0,0 +1,16 @@ +diff --git a/cMake/FreeCadMacros.cmake b/cMake/FreeCadMacros.cmake +index 1faa610d8..18ccdeea6 100644 +--- a/cMake/FreeCadMacros.cmake ++++ b/cMake/FreeCadMacros.cmake +@@ -239,9 +239,9 @@ MACRO(SET_BIN_DIR ProjectName OutputName) + # FreeCADBase, SMDS, Driver, MEFISTO2 and area libs don't depend on parts from CMAKE_INSTALL_LIBDIR + if(NOT ${ProjectName} MATCHES "^(FreeCADBase|SMDS|Driver|MEFISTO2|area)$") + if(${ARGC} STREQUAL 4) +- set_target_properties(${ProjectName} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}${ARGV3}) ++ set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}${ARGV3}) + else(${ARGC} STREQUAL 4) +- set_target_properties(${ProjectName} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR}) ++ set_property(TARGET ${ProjectName} APPEND PROPERTY INSTALL_RPATH ${CMAKE_INSTALL_LIBDIR}) + endif() + endif() + endif(WIN32)