diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..1c505a9c7f02 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,78 @@ +# Maintainer: Alexander Shukaev <http://Alexander.Shukaev.name> +# +pkgname='casablanca-git' +pkgver=r1490.78f8554 +pkgrel=1 +pkgdesc=\ +'Modern asynchronous C++ API for cloud-based client-server communication' +url='http://casablanca.codeplex.com/' +license=('APACHE') +arch=('i686' + 'x86_64') +provides=('casablanca' + 'cpprest' + 'cpprestsdk') +conflicts=('casablanca' + 'cpprest' + 'cpprestsdk') +depends=('boost' + 'openssl') +optdepends=('websocketpp: system instead of embedded') +makedepends=('cmake' + 'git' + 'ninja') +options=('staticlibs' + 'strip') +source=("${pkgname}"::'git://github.com/Microsoft/cpprestsdk.git' + 'outside_tests.cpp.diff') +sha256sums=('SKIP' + '7df9ca8fd425e4639c5d2a2abbb521cfadc7eaf07baffda7897435ae85a2993d') +# +pkgver() { + cd "${pkgname}" + printf 'r%s.%s' \ + "$(git rev-list --count 'HEAD')" \ + "$(git rev-parse --short 'HEAD')" +} +# +prepare() { + cd "${pkgname}" + for diff in "${srcdir}"/*.diff; do + patch --binary --forward -p0 < "${diff}" + done + mkdir -p "Release/.build" +} +# +build() { + cd "${pkgname}/Release/.build" + cpp_flags='-DNDEBUG' + c_flags="-pipe -O3 -fomit-frame-pointer -funroll-loops ${cpp_flags}" + cxx_flags="${c_flags}" + linker_flags='-s -Wl,-s' + cmake '..' \ + -G 'Ninja' \ + -DCMAKE_BUILD_TYPE='Release' \ + -DBUILD_SHARED_LIBS='N' \ + -DCMAKE_C_FLAGS="${c_flags}" \ + -DCMAKE_CXX_FLAGS="${cxx_flags}" \ + -DCMAKE_EXE_LINKER_FLAGS="${linker_flags}" \ + -DCMAKE_SHARED_LINKER_FLAGS="${linker_flags}" \ + -DCMAKE_INSTALL_PREFIX='/usr' + ninja + # make +} +# +check() { + cd "${pkgname}/Release/.build/Binaries" + ./test_runner +} +# +package() { + cd "${pkgname}" + DESTDIR="${pkgdir}" ninja -C 'Release/.build' install/strip + # make -C 'Release/.build' DESTDIR="${pkgdir}" install/strip + install -Dm644 'license.txt' \ + "${pkgdir}/usr/share/licenses/casablanca/LICENSE" + install -Dm644 'ThirdPartyNotices.txt' \ + "${pkgdir}/usr/share/licenses/casablanca/ThirdPartyNotices" +} |