diff options
Diffstat (limited to 'extra/qhull')
-rw-r--r-- | extra/qhull/PKGBUILD | 49 | ||||
-rw-r--r-- | extra/qhull/qhull-2010.1-cmake-install.patch | 98 | ||||
-rw-r--r-- | extra/qhull/qhull-2010.1-overflows.patch | 50 |
3 files changed, 197 insertions, 0 deletions
diff --git a/extra/qhull/PKGBUILD b/extra/qhull/PKGBUILD new file mode 100644 index 000000000..ebd94380f --- /dev/null +++ b/extra/qhull/PKGBUILD @@ -0,0 +1,49 @@ +# $Id: PKGBUILD 120895 2011-04-27 06:52:39Z ronald $ +# Maintainer: Ronald van Haren <ronald@archlinux.org> +# Contributor: Stefan Husmann <stefan-husmann@t-online.de> +# Contributor: Jason Taylor <jftaylor21@gmail.com> +# Contributor: Darwin Bautista <djclue917@gmail.com> + +pkgname=qhull +pkgver=2010.1 +pkgrel=1 +pkgdesc="A general dimension code for computing convex hulls and related structures" +arch=('i686' 'x86_64') +url="http://www.qhull.org/" +license=('custom') +depends=('glibc') +makedepends=('cmake') +source=(http://www.qhull.org/download/$pkgname-$pkgver-src.tgz + qhull-2010.1-cmake-install.patch + qhull-2010.1-overflows.patch) +options=('!libtool') +sha1sums=('ed480912e03efdd767195c06c7e8c252c78112b1' + '0a7747eb13c2e07c25882c1f0f5c0dfb4ef1c8c0' + '21295d57af2f8cdfc775512fa44fe90f49d89c41') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + # gentoo patches + patch -Np1 -i ${srcdir}/qhull-2010.1-cmake-install.patch + patch -Np1 -i ${srcdir}/qhull-2010.1-overflows.patch + + [ -d build ] || mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DDOC_INSTALL_DIR=/usr/share/doc \ + -DLIB_INSTALL_DIR=/usr/lib .. + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver/build" + + make DESTDIR=$pkgdir install + + # install manpages + install -Dm644 $srcdir/$pkgname-$pkgver/html/rbox.man $pkgdir/usr/share/man/man1/rbox.1 + install -Dm644 $srcdir/$pkgname-$pkgver/html/qhull.man $pkgdir/usr/share/man/man1/qhull.1 + + # Install license + install -Dm644 $srcdir/$pkgname-$pkgver/COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/license.txt" +} diff --git a/extra/qhull/qhull-2010.1-cmake-install.patch b/extra/qhull/qhull-2010.1-cmake-install.patch new file mode 100644 index 000000000..9e1914d13 --- /dev/null +++ b/extra/qhull/qhull-2010.1-cmake-install.patch @@ -0,0 +1,98 @@ +diff -Nur qhull-2010.1.orig/CMakeLists.txt qhull-2010.1/CMakeLists.txt +--- qhull-2010.1.orig/CMakeLists.txt 2010-10-03 23:04:04.000000000 +0100 ++++ qhull-2010.1/CMakeLists.txt 2010-10-03 23:26:54.000000000 +0100 +@@ -1,8 +1,44 @@ + project(qhull) +-cmake_minimum_required(VERSION 2.4) +-if(COMMAND cmake_policy) +- cmake_policy(SET CMP0003 NEW) +-endif(COMMAND cmake_policy) ++cmake_minimum_required(VERSION 2.6) ++ ++ ++set(QHULL_VERSION "2010.1") ++ ++if(INCLUDE_INSTALL_DIR) ++else() ++set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include) ++endif() ++if(LIB_INSTALL_DIR) ++else() ++set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib) ++endif() ++if(BIN_INSTALL_DIR) ++else() ++set(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin) ++endif() ++if(DOC_INSTALL_DIR) ++else() ++set(DOC_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/doc/qhull) ++endif() ++ ++message(STATUS) ++message(STATUS "========== qhull Build Information ==========") ++message(STATUS "Build Version: ${QHULL_VERSION}") ++message(STATUS "Install Prefix (CMAKE_INSTALL_PREFIX): ${CMAKE_INSTALL_PREFIX}") ++message(STATUS "Binary Directory (BIN_INSTALL_DIR): ${BIN_INSTALL_DIR}") ++message(STATUS "Library Directory (LIB_INSTALL_DIR): ${LIB_INSTALL_DIR}") ++message(STATUS "Include Directory (INCLUDE_INSTALL_DIR): ${INCLUDE_INSTALL_DIR}") ++message(STATUS "Documentation Directory (DOC_INSTALL_DIR): ${DOC_INSTALL_DIR}") ++message(STATUS) ++message(STATUS "To change any of these options, override them using -D{OPTION_NAME} on the commandline.") ++message(STATUS "To build and install qhull, run \"make\" and \"make install\"") ++message(STATUS) ++ + + add_subdirectory(src) ++option(WITH_STATIC_LIBS "Build with a static library" OFF) ++option(WITH_DOCS "Install HTML documentation" OFF) + ++if (WITH_DOCS) ++install(DIRECTORY html/ DESTINATION ${DOC_INSTALL_DIR}) ++endif (WITH_DOCS) +diff -Nur qhull-2010.1.orig/src/CMakeLists.txt qhull-2010.1/src/CMakeLists.txt +--- qhull-2010.1.orig/src/CMakeLists.txt 2010-10-03 23:04:04.000000000 +0100 ++++ qhull-2010.1/src/CMakeLists.txt 2010-10-04 00:23:47.000000000 +0100 +@@ -23,8 +23,25 @@ + + file(GLOB qhull_hdr *.h) + +-add_library(qhull ${qhull_src}) ++add_library(qhull SHARED ${qhull_src}) + target_link_libraries(qhull m) ++if(UNIX) ++ if(APPLE) ++ set_target_properties(qhull PROPERTIES ++ INSTALL_NAME_DIR "${LIB_INSTALL_DIR}") ++ else(APPLE) ++ set_target_properties(qhull PROPERTIES ++ INSTALL_RPATH "${LIB_INSTALL_DIR}" ++ INSTALL_RPATH_USE_LINK_PATH TRUE ++ BUILD_WITH_INSTALL_RPATH FALSE) ++ endif(APPLE) ++endif(UNIX) ++ ++if(WITH_STATIC_LIBS) ++ add_library(qhullstatic STATIC ${qhull_src}) ++ set_property(TARGET qhullstatic PROPERTY OUTPUT_NAME "qhull") ++ install(TARGETS qhullstatic ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) ++endif(WITH_STATIC_LIBS) + + set(qhullcmd_SOURCES unix.c) + set(rbox_SOURCES rbox.c) +@@ -36,6 +53,7 @@ + + add_executable(qhullcmd ${qhullcmd_SOURCES}) + target_link_libraries(qhullcmd qhull) ++set_property(TARGET qhullcmd PROPERTY OUTPUT_NAME "qhull") + + add_executable(rbox ${rbox_SOURCES}) + target_link_libraries(rbox qhull) +@@ -52,3 +70,7 @@ + add_executable(qhalf ${qhalf_SOURCES}) + target_link_libraries(qhalf qhull) + ++install(TARGETS qhull qhullcmd rbox qconvex qdelaunay qvoronoi qhalf ++ RUNTIME DESTINATION ${BIN_INSTALL_DIR} ++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}) ++install(FILES ${qhull_hdr} DESTINATION ${INCLUDE_INSTALL_DIR}/qhull) diff --git a/extra/qhull/qhull-2010.1-overflows.patch b/extra/qhull/qhull-2010.1-overflows.patch new file mode 100644 index 000000000..df4aa3da1 --- /dev/null +++ b/extra/qhull/qhull-2010.1-overflows.patch @@ -0,0 +1,50 @@ +From 176c01851026125f574a8223ad49ec58b2b58ec0 Mon Sep 17 00:00:00 2001 +From: Johannes Obermayr <johannesobermayr@gmx.de> +Date: Fri, 23 Jul 2010 20:02:19 +0200 +Subject: [PATCH] Fix some serious compiler warnings causing build breakage on openSUSE. + +--- + src/global.c | 2 +- + src/rboxlib.c | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/global.c b/src/global.c +index 3c6141a..4c9f56c 100644 +--- a/src/global.c ++++ b/src/global.c +@@ -614,7 +614,7 @@ void qh_initflags(char *command) { + if (command <= &qh qhull_command[0] || command > &qh qhull_command[0] + sizeof(qh qhull_command)) { + if (command != &qh qhull_command[0]) { + *qh qhull_command= '\0'; +- strncat( qh qhull_command, command, sizeof( qh qhull_command)); ++ strncat(qh qhull_command, command, sizeof(qh qhull_command)-strlen(qh qhull_command)-1); + } + while (*s && !isspace(*s)) /* skip program name */ + s++; +diff --git a/src/rboxlib.c b/src/rboxlib.c +index 4f11d22..17d01ac 100644 +--- a/src/rboxlib.c ++++ b/src/rboxlib.c +@@ -124,7 +124,7 @@ int qh_rboxpoints(FILE* fout, FILE* ferr, char* rbox_command) { + } + + *command= '\0'; +- strncat(command, rbox_command, sizeof(command)); ++ strncat(command, rbox_command, sizeof(command)-strlen(command)-1); + + while (*s && !isspace(*s)) /* skip program name */ + s++; +@@ -346,8 +346,8 @@ int qh_rboxpoints(FILE* fout, FILE* ferr, char* rbox_command) { + } + }else if (israndom) { + seed= (int)time(&timedata); +- sprintf(seedbuf, " t%d", seed); /* appends an extra t, not worth removing */ +- strncat(command, seedbuf, sizeof(command)); ++ printf(seedbuf, " t%d", seed); /* appends an extra t, not worth removing */ ++ strncat(command, seedbuf, sizeof(command)-strlen(command)-1); + t= strstr(command, " t "); + if (t) + strcpy(t+1, t+3); /* remove " t " */ +-- +1.6.1 + |