From d4079774e5e4befb2ffddd181353ecb9ec31b2dd Mon Sep 17 00:00:00 2001 From: Yusuke Sasaki Date: Tue, 31 May 2016 22:29:20 +0900 Subject: [PATCH] msgpack-c: switch the build system to cmake --- .../0020-runtime-output-directory.patch | 26 ++++++++++++ mingw-w64-msgpack-c/0030-fix-suffix.patch | 17 ++++++++ mingw-w64-msgpack-c/PKGBUILD | 40 +++++++++++++------ 3 files changed, 71 insertions(+), 12 deletions(-) create mode 100644 mingw-w64-msgpack-c/0020-runtime-output-directory.patch create mode 100644 mingw-w64-msgpack-c/0030-fix-suffix.patch diff --git a/mingw-w64-msgpack-c/0020-runtime-output-directory.patch b/mingw-w64-msgpack-c/0020-runtime-output-directory.patch new file mode 100644 index 0000000000..10d2c7f531 --- /dev/null +++ b/mingw-w64-msgpack-c/0020-runtime-output-directory.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7a9b241..d3a44bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -313,6 +313,10 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC90" OR "${CMAKE_CXX_COMPILER_ID}" S + SET_SOURCE_FILES_PROPERTIES(${msgpackc_SOURCES} PROPERTIES LANGUAGE CXX) + ENDIF() + ++IF (NOT DEFINED CMAKE_INSTALL_BINDIR) ++ SET(CMAKE_INSTALL_BINDIR bin) ++ENDIF () ++ + IF (NOT DEFINED CMAKE_INSTALL_LIBDIR) + SET(CMAKE_INSTALL_LIBDIR lib) + ENDIF () +@@ -327,7 +331,9 @@ ELSE() + SET (MSGPACK_INSTALLTARGETS msgpackc-static) + ENDIF () + +-INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + INSTALL (DIRECTORY include DESTINATION ${CMAKE_INSTALL_PREFIX}) + IF (NOT MSVC) + INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/mingw-w64-msgpack-c/0030-fix-suffix.patch b/mingw-w64-msgpack-c/0030-fix-suffix.patch new file mode 100644 index 0000000000..1989087fa5 --- /dev/null +++ b/mingw-w64-msgpack-c/0030-fix-suffix.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7a9b241..d568e43 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -270,7 +270,11 @@ ADD_LIBRARY (msgpackc-static STATIC + + SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc") + IF (MSGPACK_ENABLE_SHARED) +- SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib") ++ IF (MINGW) ++ SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX ".dll.a") ++ ELSE () ++ SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib") ++ ENDIF () + SET_TARGET_PROPERTIES (msgpackc PROPERTIES SOVERSION 2 VERSION 2.0.0) + ENDIF () + diff --git a/mingw-w64-msgpack-c/PKGBUILD b/mingw-w64-msgpack-c/PKGBUILD index a1e1d4cb3f..4feb7a7a0b 100644 --- a/mingw-w64-msgpack-c/PKGBUILD +++ b/mingw-w64-msgpack-c/PKGBUILD @@ -1,40 +1,56 @@ -# Maintainer: Yusuke Sasaki +# Maintainer: Yusuke Sasaki _realname=msgpack-c pkgbase="mingw-w64-${_realname}" pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.4.0 +pkgver=1.4.2 pkgrel=1 pkgdesc="MessagePack implementation for C and C++ (mingw-w64)" arch=('any') url="https://github.com/msgpack/msgpack-c" license=('custom:Boost Software License 1.0') -makedepends=("${MINGW_PACKAGE_PREFIX}-gtest") +makedepends=("${MINGW_PACKAGE_PREFIX}-gtest" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-zlib") depends=() source=("https://github.com/msgpack/msgpack-c/releases/download/cpp-$pkgver/msgpack-${pkgver}.tar.gz" - "0010-detect-mingw.patch") -sha256sums=("2136f71560dc634492095aca5fc6d0fec30ce981b34b9777e03a366fbe3f550b" - SKIP) + "0010-detect-mingw.patch" + "0020-runtime-output-directory.patch" + "0030-fix-suffix.patch") +sha256sums=('c0f1da8462ea44b23f89573eff04a1f329bcff6fd80eb0d4b976d7f19caf1fa2' + '14306459c014f18349bc5196ceea099cfd063329575c34efe5c2c5909b6d867e' + '0ed894637e254c09966c8ccd6d1ec7ad79c2ca713c9f1cdc91b0e94efa21c72b' + '70e43cce1e6bac50209634708a35f64bad46ddc271d89fd80626c2202e73f069') prepare() { cd "msgpack-${pkgver}" patch -p1 -i "${srcdir}/0010-detect-mingw.patch" + patch -p1 -i "${srcdir}/0020-runtime-output-directory.patch" + patch -p1 -i "${srcdir}/0030-fix-suffix.patch" } build() { - cd "msgpack-${pkgver}" - ./configure --prefix=${MINGW_PREFIX} + [ -d "${srcdir}/build-${MINGW_CHOST}" ] && rm -rf "${srcdir}/build-${MINGW_CHOST}" + mkdir -p "${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} \ + -DMSGPACK_CXX11=ON \ + -DMSGPACK_BUILD_EXAMPLES=OFF \ + ../msgpack-${pkgver} make } check() { - cd "msgpack-${pkgver}" - make check + cd "${srcdir}/build-${MINGW_CHOST}" + make test } package() { - cd "msgpack-${pkgver}" - make DESTDIR="$pkgdir" install + cd "${srcdir}/build-${MINGW_CHOST}" + make DESTDIR="${pkgdir}" install } # vim: set ft=sh ts=2 sw=2 et :