| # Maintainer: Amphaal <guillaume.vara@gmail.com> |
| # Contributor: Alexey Pavlov <alexpux@gmail.com> |
| # Contributor: AlexWMF <alexxwmf@gmail.com> |
| # Contributor: Zach Bacon <11doctorwhocanada@gmail.com> |
| |
| _realname=libtorrent-rasterbar |
| pkgbase=mingw-w64-${_realname} |
| pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" |
| pkgver=2.0.2 |
| pkgrel=1 |
| pkgdesc="libtorrent is a feature complete C++ bittorrent implementation focusing on efficiency and scalability (mingw-w64)" |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') |
| license=('BSD') |
| url="https://libtorrent.org/" |
| conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}2") |
| replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}2") |
| depends=("${MINGW_PACKAGE_PREFIX}-boost" |
| "${MINGW_PACKAGE_PREFIX}-openssl") |
| makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" |
| "${MINGW_PACKAGE_PREFIX}-cmake" |
| "${MINGW_PACKAGE_PREFIX}-ninja" |
| "${MINGW_PACKAGE_PREFIX}-pkg-config") |
| options=('staticlibs' 'strip') |
| source=("https://github.com/arvidn/libtorrent/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz") |
| sha256sums=('3af22ea1b60e04a7cf357a3d770470ea5df15e968501782bd1414634a2b42cb7') |
| |
| prepare() { |
| cd "${srcdir}/${_realname}-${pkgver}" |
| } |
| |
| build() { |
| declare -a extra_config |
| if check_option "debug" "n"; then |
| extra_config+=("-DCMAKE_BUILD_TYPE=Release") |
| else |
| extra_config+=("-DCMAKE_BUILD_TYPE=Debug") |
| fi |
| |
| [[ -d "${srcdir}/build-${MINGW_CHOST}-shared" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-shared" |
| mkdir "${srcdir}/build-${MINGW_CHOST}-shared" && cd "${srcdir}/build-${MINGW_CHOST}-shared" |
| |
| MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ |
| ${MINGW_PREFIX}/bin/cmake.exe \ |
| -G"Ninja" \ |
| -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ |
| ${extra_config} \ |
| -DBUILD_SHARED_LIBS=ON \ |
| -Dbuild_tests=OFF \ |
| -Dbuild_examples=OFF \ |
| -Dbuild_tools=OFF \ |
| ../${_realname}-${pkgver} |
| |
| ${MINGW_PREFIX}/bin/cmake.exe --build ./ |
| |
| [[ -d "${srcdir}/build-${MINGW_CHOST}-static" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}-static" |
| mkdir "${srcdir}/build-${MINGW_CHOST}-static" && cd "${srcdir}/build-${MINGW_CHOST}-static" |
| |
| MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ |
| ${MINGW_PREFIX}/bin/cmake.exe \ |
| -G"Ninja" \ |
| -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ |
| ${extra_config} \ |
| -DBUILD_SHARED_LIBS=OFF \ |
| -Dbuild_tests=OFF \ |
| -Dbuild_examples=OFF \ |
| -Dbuild_tools=OFF \ |
| ../${_realname}-${pkgver} |
| |
| ${MINGW_PREFIX}/bin/cmake.exe --build ./ |
| } |
| |
| package() { |
| cd "${srcdir}/build-${MINGW_CHOST}-static" |
| DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install |
| |
| cd "${srcdir}/build-${MINGW_CHOST}-shared" |
| DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install |
| |
| install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" |
| |
| # Remove full path reference in cmake and pkgconfig files |
| local _PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) |
| sed -s "s|${_PREFIX_WIN}|${MINGW_PREFIX}|g" -i "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/libtorrent-rasterbar.pc" |
| sed -s "s|${_PREFIX_WIN}/include||g" -i "${pkgdir}${MINGW_PREFIX}/lib/cmake/LibtorrentRasterbar/LibtorrentRasterbarTargets.cmake" |
| } |