diff options
author | Aleksandar Trifunovic | 2019-07-07 12:18:09 +0200 |
---|---|---|
committer | Aleksandar Trifunovic | 2019-07-07 12:18:09 +0200 |
commit | c26d3f9879ea556dbb3631192eddae59bdc599b9 (patch) | |
tree | b9771a6053c3a4eac54f2ee310c39a9714aadc54 | |
parent | 4fe2e9b598e25e9690aedb60b9eee9549189273c (diff) | |
download | aur-c26d3f9879ea556dbb3631192eddae59bdc599b9.tar.gz |
v7.2
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 28 | ||||
-rw-r--r-- | pkg-conf.patch | 125 |
3 files changed, 148 insertions, 21 deletions
@@ -1,16 +1,24 @@ pkgbase = or-tools pkgdesc = Google's Operations Research tools. - pkgver = 6.10 - pkgrel = 2 + pkgver = 7.2 + pkgrel = 1 url = https://github.com/google/or-tools arch = x86_64 license = Apache makedepends = cmake + makedepends = pkgconf makedepends = git depends = gcc-libs + depends = protobuf + depends = gflags + depends = google-glog + depends = coin-or-cbc + depends = protobuf conflicts = python-or-tools - source = https://github.com/google/or-tools/archive/v6.10.tar.gz - sha256sums = d1131ca6d7c2388400493c774dfd0b5d5c270a8a9645391876400a194354cfd6 + source = https://github.com/google/or-tools/archive/v7.2.tar.gz + source = pkg-conf.patch + sha256sums = 13a4de5dba1f64e2e490394f8f63fe0a301ee55466ef65fe309ffd5100358ea8 + sha256sums = 177a5f656e6571ab60634167d47d0924e0c71c53680b620023bd9e76e36b9b82 pkgname = or-tools @@ -1,20 +1,23 @@ # Maintainer: Aleksandar Trifunović <akstrfn at gmail dot com> pkgname=or-tools -pkgver=6.10 -pkgrel=2 +pkgver=7.2 +pkgrel=1 pkgdesc="Google's Operations Research tools." arch=('x86_64') url="https://github.com/google/or-tools" license=('Apache') -depends=('gcc-libs') -makedepends=('cmake' 'git') -source=("https://github.com/google/or-tools/archive/v${pkgver}.tar.gz") -sha256sums=('d1131ca6d7c2388400493c774dfd0b5d5c270a8a9645391876400a194354cfd6') +depends=('gcc-libs' 'protobuf' 'gflags' 'google-glog' 'coin-or-cbc' 'protobuf') +makedepends=('cmake' 'pkgconf' 'git') +source=("https://github.com/google/or-tools/archive/v${pkgver}.tar.gz" + "pkg-conf.patch") +sha256sums=('13a4de5dba1f64e2e490394f8f63fe0a301ee55466ef65fe309ffd5100358ea8' + '177a5f656e6571ab60634167d47d0924e0c71c53680b620023bd9e76e36b9b82') conflicts=('python-or-tools') # because it copies libortools.so to usr/lib prepare() { cd "$pkgname-$pkgver" + patch -Np1 -i "$srcdir/pkg-conf.patch" cmake -H. -Bbuild \ -DCMAKE_C_FLAGS:STRING="${CFLAGS}" \ -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" \ @@ -22,7 +25,8 @@ prepare() { -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_PYTHON=OFF + -DBUILD_PYTHON=OFF \ + -DBUILD_absl=ON } build() { @@ -40,14 +44,4 @@ package() { install -d -m 755 "$pkgdir/usr/share/examples" cp -a "$pkgname-$pkgver/examples/cpp" "$pkgdir/usr/share/examples/cpp" rm "$pkgdir"/usr/share/examples/cpp/{BUILD,CMakeLists.txt} - - # TODO: work with upstream to clean this (cmake is still experimental) - cd "$pkgdir/usr/" - rm -rf bin share/man share/pkgconfig - rm lib/*.a - rm lib/libz* - rm -rf lib/pkgconfig - rm -rf lib/cmake/{Cbc,gflags,glog,protobuf,ZLIB} - rm -rf include/{cbc,gflags,glog,google} - rm -rf include/{zconf,zlib}.h } diff --git a/pkg-conf.patch b/pkg-conf.patch new file mode 100644 index 000000000000..081cd6fdf58f --- /dev/null +++ b/pkg-conf.patch @@ -0,0 +1,125 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 29357c1dc..cd28cd365 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,28 +44,17 @@ message(STATUS "Build .Net: ${BUILD_DOTNET}") + # IF building any wrapper THEN Force BUILD_DEPS=ON + # IF BUILD_DEPS=ON THEN Force all BUILD_*=ON + include(CMakeDependentOption) +-CMAKE_DEPENDENT_OPTION(BUILD_DEPS "Force re-build of all dependencies" OFF +- "NOT BUILD_PYTHON; NOT BUILD_JAVA; NOT BUILD_DOTNET" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_ZLIB "Build the ZLIB dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_absl "Build the abseil-cpp dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_gflags "Build the gflags dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_glog "Build the glog dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_Protobuf "Build the Protobuf dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_CoinUtils "Build the CoinUtils dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_Osi "Build the Osi dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_Clp "Build the Clp dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_Cgl "Build the Cgl dependency Library" OFF +- "NOT BUILD_DEPS" ON) +-CMAKE_DEPENDENT_OPTION(BUILD_Cbc "Build the Cbc dependency Library" OFF +- "NOT BUILD_DEPS" ON) ++option(BUILD_DEPS "Force re-build of all dependencies" OFF) ++option(BUILD_ZLIB "Build the ZLIB dependency Library" OFF) ++option(BUILD_absl "Build the abseil-cpp dependency Library" OFF) ++option(BUILD_gflags "Build the gflags dependency Library" OFF) ++option(BUILD_glog "Build the glog dependency Library" OFF) ++option(BUILD_Protobuf "Build the Protobuf dependency Library" OFF) ++option(BUILD_CoinUtils "Build the CoinUtils dependency Library" OFF) ++option(BUILD_Osi "Build the Osi dependency Library" OFF) ++option(BUILD_Clp "Build the Clp dependency Library" OFF) ++option(BUILD_Cgl "Build the Cgl dependency Library" OFF) ++option(BUILD_Cbc "Build the Cbc dependency Library" OFF) + + message(STATUS "Build all dependencies: ${BUILD_DEPS}") + message(STATUS "Build ZLIB: ${BUILD_ZLIB}") +diff --git a/cmake/cpp.cmake b/cmake/cpp.cmake +index 9097739bc..12e7230b5 100644 +--- a/cmake/cpp.cmake ++++ b/cmake/cpp.cmake +@@ -7,6 +7,8 @@ set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREAD_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + ++find_package(PkgConfig REQUIRED) ++ + find_package(ZLIB REQUIRED) + find_package(absl REQUIRED CONFIG) + set(GFLAGS_USE_TARGET_NAMESPACE TRUE) +@@ -16,13 +18,26 @@ if(BUILD_gflags) + else() + set(GFLAGS_DEP gflags::gflags) + endif() +-find_package(glog REQUIRED CONFIG) +-find_package(Protobuf REQUIRED CONFIG) +-find_package(CoinUtils REQUIRED CONFIG) +-find_package(Osi REQUIRED CONFIG) +-find_package(Clp REQUIRED CONFIG) +-find_package(Cgl REQUIRED CONFIG) +-find_package(Cbc REQUIRED CONFIG) ++ ++pkg_check_modules(GLOG REQUIRED libglog IMPORTED_TARGET GLOBAL) ++add_library(glog::glog ALIAS PkgConfig::GLOG) ++pkg_check_modules(PROTOBUF REQUIRED protobuf IMPORTED_TARGET GLOBAL) ++add_library(protobuf::libprotobuf ALIAS PkgConfig::PROTOBUF) ++ ++pkg_check_modules(COINUTILS REQUIRED coinutils IMPORTED_TARGET GLOBAL) ++ ++pkg_check_modules(OSI_CBC REQUIRED osi-cbc IMPORTED_TARGET GLOBAL) ++add_library(Coin::OsiCbc ALIAS PkgConfig::OSI_CBC) ++pkg_check_modules(OSI_CLP REQUIRED osi-clp IMPORTED_TARGET GLOBAL) ++add_library(Coin::OsiClp ALIAS PkgConfig::OSI_CLP) ++pkg_check_modules(CLP REQUIRED clp IMPORTED_TARGET GLOBAL) ++add_library(Coin::ClpSolver ALIAS PkgConfig::CLP) ++ ++pkg_check_modules(CGL REQUIRED cgl) # not used? ++ ++pkg_check_modules(CBC REQUIRED cbc IMPORTED_TARGET GLOBAL) ++add_library(Coin::Cbc ALIAS PkgConfig::CBC) ++add_library(Coin::CbcSolver ALIAS PkgConfig::CBC) + + # If wrapper are built, we need to have the install rpath in BINARY_DIR to package + if(BUILD_PYTHON OR BUILD_JAVA OR BUILD_DOTNET) +@@ -119,6 +134,7 @@ target_link_libraries(${PROJECT_NAME} PUBLIC + absl::any + ${GFLAGS_DEP} + glog::glog ++ # ${GLOG_LIBRARIES} + protobuf::libprotobuf + Coin::CbcSolver Coin::OsiCbc Coin::ClpSolver Coin::OsiClp + Threads::Threads) +@@ -154,12 +170,13 @@ foreach (PROTO_FILE ${proto_files}) + #message(STATUS "protoc src: ${PROTO_SRC}") + add_custom_command( + OUTPUT ${PROTO_SRC} ${PROTO_HDR} +- COMMAND protobuf::protoc ++ # COMMAND protobuf::protoc ++ COMMAND /usr/bin/protoc + "--proto_path=${PROJECT_SOURCE_DIR}" + ${PROTO_DIRS} + "--cpp_out=${PROJECT_BINARY_DIR}" + ${PROTO_FILE} +- DEPENDS ${PROTO_FILE} protobuf::protoc ++ DEPENDS ${PROTO_FILE} /usr/bin/protoc + COMMENT "Running C++ protocol buffer compiler on ${PROTO_FILE}" + VERBATIM) + list(APPEND PROTO_HDRS ${PROTO_HDR}) +@@ -174,7 +191,8 @@ set_target_properties(${PROJECT_NAME}_proto PROPERTIES CXX_EXTENSIONS OFF) + target_include_directories(${PROJECT_NAME}_proto PRIVATE + ${PROJECT_SOURCE_DIR} + ${PROJECT_BINARY_DIR} +- $<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES> ++ ${PROTOBUF_LIBRARIES} ++ #$<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES> + ) + #target_link_libraries(${PROJECT_NAME}_proto PRIVATE protobuf::libprotobuf) + add_dependencies(${PROJECT_NAME}_proto protobuf::libprotobuf) |