add tulip 5.0.0 package (#2684)

This commit is contained in:
Antoine Lambert
2017-07-12 07:09:51 +02:00
committed by Алексей
parent c27f57b077
commit d3aead3dcb
3 changed files with 281 additions and 0 deletions

View File

@@ -0,0 +1,185 @@
diff -ur tulip-5.0.0/cmake/TulipUseFile.cmake tulip-5.0.0_patched/cmake/TulipUseFile.cmake
--- tulip-5.0.0/cmake/TulipUseFile.cmake 2017-06-27 08:34:28.000000000 +0200
+++ tulip-5.0.0_patched/cmake/TulipUseFile.cmake 2017-07-10 21:52:53.780834900 +0200
@@ -437,6 +437,41 @@
ENDIF(TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
ENDMACRO(INSTALL_TULIP_PLUGIN)
+SET(TULIP_PYTHON_SYSTEM_INSTALL OFF CACHE BOOL "Do you want to install Tulip Python modules in Python ${SYSTEM_PYTHON_INSTALL_FOLDER} (site-packages on windows) folder ? This should only be used when packaging Tulip for a Linux distribution or MSYS2. [OFF|ON]")
+
+MACRO(INSTALL_TULIP_PYTHON_FILES install_suffix)
+ FOREACH(PYTHON_FILE ${ARGN})
+
+ SET(SYSTEM_PYTHON_INSTALL_FOLDER "${SYSTEM_PYTHON_INSTALL_FOLDER}")
+ IF(WIN32)
+ SET(SYSTEM_PYTHON_INSTALL_FOLDER "site-packages")
+ ENDIF(WIN32)
+
+ IF(TARGET ${PYTHON_FILE})
+ IF(NOT TULIP_PYTHON_SYSTEM_INSTALL)
+ INSTALL(TARGETS ${PYTHON_FILE}
+ RUNTIME DESTINATION ${TulipBinInstallDir}/python/${install_suffix} COMPONENT tulip_python
+ LIBRARY DESTINATION ${TulipLibInstallDir}/python/${install_suffix} COMPONENT tulip_python)
+ ELSE(NOT TULIP_PYTHON_SYSTEM_INSTALL)
+ INSTALL(TARGETS ${PYTHON_FILE}
+ RUNTIME DESTINATION ${TulipBinInstallDir}/../lib/python${PYTHON_VERSION}/${SYSTEM_PYTHON_INSTALL_FOLDER}/${install_suffix} COMPONENT tulip_python
+ LIBRARY DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/${SYSTEM_PYTHON_INSTALL_FOLDER}/${install_suffix} COMPONENT tulip_python)
+ ENDIF(NOT TULIP_PYTHON_SYSTEM_INSTALL)
+ ELSE(TARGET ${PYTHON_FILE})
+ IF(NOT TULIP_PYTHON_SYSTEM_INSTALL)
+ IF(WIN32)
+ INSTALL(FILES ${PYTHON_FILE} DESTINATION ${TulipBinInstallDir}/python/${install_suffix} COMPONENT tulip_python)
+ ELSE(WIN32)
+ INSTALL(FILES ${PYTHON_FILE} DESTINATION ${TulipLibInstallDir}/python/${install_suffix} COMPONENT tulip_python)
+ ENDIF(WIN32)
+ ELSE(NOT TULIP_PYTHON_SYSTEM_INSTALL)
+ INSTALL(FILES ${PYTHON_FILE} DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/${SYSTEM_PYTHON_INSTALL_FOLDER}/${install_suffix} COMPONENT tulip_python)
+ ENDIF(NOT TULIP_PYTHON_SYSTEM_INSTALL)
+ ENDIF(TARGET ${PYTHON_FILE})
+
+ ENDFOREACH()
+ENDMACRO(INSTALL_TULIP_PYTHON_FILES)
+
# Convert a Windows path (C:/folder) to a Msys path (/C/folder)
MACRO(WINDOWS_TO_MSYS_PATH WindowsPath ResultingPath)
STRING(REGEX REPLACE "([a-zA-Z]):" "/\\1" ${ResultingPath} "${WindowsPath}")
diff -ur tulip-5.0.0/library/tulip-python/bindings/stl/CMakeLists.txt tulip-5.0.0_patched/library/tulip-python/bindings/stl/CMakeLists.txt
--- tulip-5.0.0/library/tulip-python/bindings/stl/CMakeLists.txt 2017-06-27 08:34:02.000000000 +0200
+++ tulip-5.0.0_patched/library/tulip-python/bindings/stl/CMakeLists.txt 2017-07-10 21:53:20.434744600 +0200
@@ -72,17 +72,7 @@
ENDIF(NOT LINUX OR NOT TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
ENDIF(APPLE AND TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
-IF(NOT PYTHON_DIST_PACKAGE)
-INSTALL(TARGETS ${LibStlPythonBindingsName}
- RUNTIME DESTINATION ${TulipBinInstallDir}/python/tulip/native COMPONENT tulip_python
- LIBRARY DESTINATION ${TulipLibInstallDir}/python/tulip/native COMPONENT tulip_python
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python/tulip/native COMPONENT tulip_python)
-ELSE(NOT PYTHON_DIST_PACKAGE)
-INSTALL(TARGETS ${LibStlPythonBindingsName}
- RUNTIME DESTINATION ${TulipBinInstallDir}/../lib/python${PYTHON_VERSION}/dist-packages/tulip/native COMPONENT tulip_python
- LIBRARY DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulip/native COMPONENT tulip_python
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulip/native COMPONENT tulip_python)
-ENDIF(NOT PYTHON_DIST_PACKAGE)
+INSTALL_TULIP_PYTHON_FILES(tulip/native ${LibStlPythonBindingsName})
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "sipAPI_stl.h")
diff -ur tulip-5.0.0/library/tulip-python/bindings/tulip-core/CMakeLists.txt tulip-5.0.0_patched/library/tulip-python/bindings/tulip-core/CMakeLists.txt
--- tulip-5.0.0/library/tulip-python/bindings/tulip-core/CMakeLists.txt 2017-06-27 08:34:01.000000000 +0200
+++ tulip-5.0.0_patched/library/tulip-python/bindings/tulip-core/CMakeLists.txt 2017-07-10 21:53:43.949062900 +0200
@@ -192,23 +192,8 @@
ENDIF(NOT LINUX OR NOT TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
ENDIF(APPLE AND TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
-IF(NOT PYTHON_DIST_PACKAGE)
-INSTALL(TARGETS ${LibTulipCorePythonBindingsName}
- RUNTIME DESTINATION ${TulipBinInstallDir}/python/tulip/native COMPONENT tulip_python
- LIBRARY DESTINATION ${TulipLibInstallDir}/python/tulip/native COMPONENT tulip_python
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python/tulip/native COMPONENT tulip_python)
-IF(WIN32)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipBinInstallDir}/python/tulip COMPONENT tulip_python)
-ELSE(WIN32)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipLibInstallDir}/python/tulip COMPONENT tulip_python)
-ENDIF(WIN32)
-ELSE(NOT PYTHON_DIST_PACKAGE)
-INSTALL(TARGETS ${LibTulipCorePythonBindingsName}
- RUNTIME DESTINATION ${TulipBinInstallDir}/../lib/python${PYTHON_VERSION}/dist-packages/tulip/native COMPONENT tulip_python
- LIBRARY DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulip/native COMPONENT tulip_python
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulip/native COMPONENT tulip_python)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulip COMPONENT tulip_python)
-ENDIF(NOT PYTHON_DIST_PACKAGE)
+INSTALL_TULIP_PYTHON_FILES(tulip ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py)
+INSTALL_TULIP_PYTHON_FILES(tulip/native ${LibTulipCorePythonBindingsName})
IF(NOT TULIP_BUILD_CORE_ONLY)
ADD_CUSTOM_COMMAND(TARGET ${LibTulipCorePythonBindingsName}
diff -ur tulip-5.0.0/library/tulip-python/bindings/tulip-gui/CMakeLists.txt tulip-5.0.0_patched/library/tulip-python/bindings/tulip-gui/CMakeLists.txt
--- tulip-5.0.0/library/tulip-python/bindings/tulip-gui/CMakeLists.txt 2017-06-27 08:34:02.000000000 +0200
+++ tulip-5.0.0_patched/library/tulip-python/bindings/tulip-gui/CMakeLists.txt 2017-07-10 21:54:44.749289700 +0200
@@ -124,24 +124,8 @@
ENDIF(NOT LINUX OR NOT TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
ENDIF(APPLE AND TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
-
-IF(NOT PYTHON_DIST_PACKAGE)
-INSTALL(TARGETS ${LibTulipGUIPythonBindingsName}
- RUNTIME DESTINATION ${TulipBinInstallDir}/python/tulipgui/native COMPONENT tulip_python
- LIBRARY DESTINATION ${TulipLibInstallDir}/python/tulipgui/native COMPONENT tulip_python
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python/tulipgui/native COMPONENT tulip_python)
-IF(WIN32)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipBinInstallDir}/python/tulipgui COMPONENT tulip_python)
-ELSE(WIN32)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipLibInstallDir}/python/tulipgui COMPONENT tulip_python)
-ENDIF(WIN32)
-ELSE(NOT PYTHON_DIST_PACKAGE)
-INSTALL(TARGETS ${LibTulipGUIPythonBindingsName}
- RUNTIME DESTINATION ${TulipBinInstallDir}/../lib/python${PYTHON_VERSION}/dist-packages/tulipgui/native COMPONENT tulip_python
- LIBRARY DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulipgui/native COMPONENT tulip_python
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulipgui/native COMPONENT tulip_python)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulipgui COMPONENT tulip_python)
-ENDIF(NOT PYTHON_DIST_PACKAGE)
+INSTALL_TULIP_PYTHON_FILES(tulipgui ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py)
+INSTALL_TULIP_PYTHON_FILES(tulipgui/native ${LibTulipGUIPythonBindingsName})
ADD_CUSTOM_COMMAND(
TARGET ${LibTulipGUIPythonBindingsName}
diff -ur tulip-5.0.0/library/tulip-python/bindings/tulip-ogl/CMakeLists.txt tulip-5.0.0_patched/library/tulip-python/bindings/tulip-ogl/CMakeLists.txt
--- tulip-5.0.0/library/tulip-python/bindings/tulip-ogl/CMakeLists.txt 2017-06-27 08:34:02.000000000 +0200
+++ tulip-5.0.0_patched/library/tulip-python/bindings/tulip-ogl/CMakeLists.txt 2017-07-10 21:55:12.640411700 +0200
@@ -99,23 +99,8 @@
ENDIF(NOT LINUX OR NOT TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
ENDIF(APPLE AND TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
-IF(NOT PYTHON_DIST_PACKAGE)
-INSTALL(TARGETS ${LibTulipOGLPythonBindingsName}
- RUNTIME DESTINATION ${TulipBinInstallDir}/python/tulipogl/native COMPONENT tulip_python
- LIBRARY DESTINATION ${TulipLibInstallDir}/python/tulipogl/native COMPONENT tulip_python
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python/tulipogl/native COMPONENT tulip_python)
-IF(WIN32)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipBinInstallDir}/python/tulipogl COMPONENT tulip_python)
-ELSE(WIN32)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipLibInstallDir}/python/tulipogl COMPONENT tulip_python)
-ENDIF(WIN32)
-ELSE(NOT PYTHON_DIST_PACKAGE)
-INSTALL(TARGETS ${LibTulipOGLPythonBindingsName}
- RUNTIME DESTINATION ${TulipBinInstallDir}/../lib/python${PYTHON_VERSION}/dist-packages/tulipogl/native COMPONENT tulip_python
- LIBRARY DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulipogl/native COMPONENT tulip_python
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulipogl/native COMPONENT tulip_python)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${TulipLibInstallDir}/python${PYTHON_VERSION}/dist-packages/tulipogl COMPONENT tulip_python)
-ENDIF(NOT PYTHON_DIST_PACKAGE)
+INSTALL_TULIP_PYTHON_FILES(tulipogl ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py)
+INSTALL_TULIP_PYTHON_FILES(tulipogl/native ${LibTulipOGLPythonBindingsName})
ADD_CUSTOM_COMMAND(
TARGET ${LibTulipOGLPythonBindingsName}
diff -ur tulip-5.0.0/library/tulip-python/modules/CMakeLists.txt tulip-5.0.0_patched/library/tulip-python/modules/CMakeLists.txt
--- tulip-5.0.0/library/tulip-python/modules/CMakeLists.txt 2017-06-27 08:34:03.000000000 +0200
+++ tulip-5.0.0_patched/library/tulip-python/modules/CMakeLists.txt 2017-07-10 21:55:31.454472200 +0200
@@ -1,10 +1,6 @@
ADD_CORE_FILES(.)
-IF(WIN32)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tulipplugins.py DESTINATION ${TulipBinInstallDir}/python COMPONENT tulip_python)
-ELSE(WIN32)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tulipplugins.py DESTINATION ${TulipLibInstallDir}/python COMPONENT tulip_python)
-ENDIF()
+INSTALL_TULIP_PYTHON_FILES("" ${CMAKE_CURRENT_SOURCE_DIR}/tulipplugins.py)
IF(TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
ADD_CUSTOM_TARGET(copyTulipPluginsPy ALL ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/tulipplugins.py ${TULIP_PYTHON_FOLDER}/../tulipplugins/__init__.py)
diff -ur tulip-5.0.0/thirdparty/sip-4.19.1/siplib/CMakeLists.txt tulip-5.0.0_patched/thirdparty/sip-4.19.1/siplib/CMakeLists.txt
--- tulip-5.0.0/thirdparty/sip-4.19.1/siplib/CMakeLists.txt 2017-06-27 08:34:36.000000000 +0200
+++ tulip-5.0.0_patched/thirdparty/sip-4.19.1/siplib/CMakeLists.txt 2017-07-10 21:56:00.546629700 +0200
@@ -57,10 +57,7 @@
ENDIF(NOT LINUX OR NOT TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
ENDIF(APPLE AND TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
-INSTALL(TARGETS ${SIP_LIB}
- RUNTIME DESTINATION ${TulipBinInstallDir}/python COMPONENT ${SIP_LIB}
- LIBRARY DESTINATION ${TulipLibInstallDir}/python COMPONENT ${SIP_LIB}
- ARCHIVE DESTINATION ${TulipLibInstallDir}/python COMPONENT ${SIP_LIB})
+INSTALL_TULIP_PYTHON_FILES("" ${SIP_LIB})
IF(TULIP_ACTIVATE_PYTHON_WHEELS_TARGETS)
COPY_TARGET_LIBRARY_POST_BUILD(${SIP_LIB} ${TULIP_PYTHON_NATIVE_FOLDER} wheels)

View File

@@ -0,0 +1,26 @@
diff -ur tulip-5.0.0/library/tulip-core/src/GraphStorage.cpp tulip-5.0.0_patched/library/tulip-core/src/GraphStorage.cpp
--- tulip-5.0.0/library/tulip-core/src/GraphStorage.cpp 2017-06-27 08:34:12.000000000 +0200
+++ tulip-5.0.0_patched/library/tulip-core/src/GraphStorage.cpp 2017-07-10 22:01:42.167504000 +0200
@@ -410,6 +410,8 @@
* @brief restore the given node in the structure and return it
*/
void GraphStorage::restoreNode(const node n) {
+ if (n.id == nodeData.size())
+ nodeData.resize(n.id + 1);
NodeData& nData = nodeData[n.id];
// clear edge infos
nData.edges.clear();
@@ -424,12 +426,7 @@
*/
node GraphStorage::addNode() {
node n(nodeIds.get());
-
- if (n.id == nodeData.size())
- nodeData.resize(n.id + 1);
- else
- restoreNode(n);
-
+ restoreNode(n);
return n;
}
//=======================================================

70
mingw-w64-tulip/PKGBUILD Normal file
View File

@@ -0,0 +1,70 @@
# Maintainer: Antoine Lambert <antoine.lambert33@gmail.com>
_realname=tulip
pkgbase="mingw-w64-${_realname}"
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
_pre=
_ver=5.0.0
pkgver=${_ver}${_pre}
pkgrel=1
pkgdesc="Large graphs analysis, drawing and visualization framework"
arch=('any')
url="https://tulip.labri.fr/"
license=('LGPL')
options=('strip' 'staticlibs')
source=("https://sourceforge.net/projects/auber/files/tulip/${_realname}-${_ver}${_pre}/${_realname}-${_ver}${_pre}_src.tar.gz"
"001-fix-tulip-python-install.patch"
"002-fix-undo-redo-crash.patch")
sha256sums=('18aa79c0302d683947d51f87cbed24ac53a571784a1d9c32aa0b92d7b506b80f'
'947d47098637d06d77a1dce46641c386c93bc3c09b3c8af4f7b53dad9dbc0559'
'c6401d8b7edc74cce03c83d82b8c68bbdcb69b5eedb2240b965d43ac62afbf41')
depends=("${MINGW_PACKAGE_PREFIX}-yajl"
"${MINGW_PACKAGE_PREFIX}-qhull"
"${MINGW_PACKAGE_PREFIX}-freetype"
"${MINGW_PACKAGE_PREFIX}-glew"
"${MINGW_PACKAGE_PREFIX}-libpng"
"${MINGW_PACKAGE_PREFIX}-libjpeg"
"${MINGW_PACKAGE_PREFIX}-qt5"
"${MINGW_PACKAGE_PREFIX}-quazip"
"${MINGW_PACKAGE_PREFIX}-qtwebkit"
"${MINGW_PACKAGE_PREFIX}-python3"
)
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-doxygen"
"${MINGW_PACKAGE_PREFIX}-python3-sphinx"
# needed for sphinx for Python 3 to work
"${MINGW_PACKAGE_PREFIX}-python3-chardet"
)
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"
patch -p1 -i ${srcdir}/001-fix-tulip-python-install.patch
patch -p1 -i ${srcdir}/002-fix-undo-redo-crash.patch
}
build() {
rm -rf "${srcdir}/build-${MINGW_CHOST}"
mkdir "${srcdir}/build-${MINGW_CHOST}"
cd "${srcdir}/build-${MINGW_CHOST}"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G"MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_NEED_RESPONSE=ON \
-DTULIP_FIXUP_BUNDLE=OFF \
-DTULIP_USE_QT5=ON \
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python3.exe \
-DTULIP_PYTHON_SYSTEM_INSTALL=ON \
../${_realname}-${_ver}${_pre}
make
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
make DESTDIR=${pkgdir} install
}