Merge branch 'master' of ssh://aur.archlinux.org/freecad-git

This commit is contained in:
Markus Hovorka 2017-05-19 11:56:39 +02:00
commit dc465119e6
6 changed files with 108 additions and 76 deletions

View file

@ -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

1
.gitignore vendored
View file

@ -6,5 +6,6 @@
!ChangeLog
!*.diff
!*.patch
<<<<<<< HEAD
!*.desktop
!*.xml

105
PKGBUILD
View file

@ -1,83 +1,94 @@
# Maintainer: Markus Hovorka <m.hovorka@live.de>
# Contributer: Christian Hesse <mail@eworm.de>
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"
}

View file

@ -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})

24
fix-occ-search.patch Normal file
View file

@ -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)

16
rpath.patch Normal file
View file

@ -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)