summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandar Trifunovic2019-07-07 12:18:09 +0200
committerAleksandar Trifunovic2019-07-07 12:18:09 +0200
commitc26d3f9879ea556dbb3631192eddae59bdc599b9 (patch)
treeb9771a6053c3a4eac54f2ee310c39a9714aadc54
parent4fe2e9b598e25e9690aedb60b9eee9549189273c (diff)
downloadaur-c26d3f9879ea556dbb3631192eddae59bdc599b9.tar.gz
v7.2
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD28
-rw-r--r--pkg-conf.patch125
3 files changed, 148 insertions, 21 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f9ce80ffa903..81cf1d17bef4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 6409ebd0fb76..a150429b6ae5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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)