diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..4d5521f7ae3e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,69 @@ +# Maintainer: Thomas Poechtrager <tpoechtrager at g m a i l> + +pkgname=mingw-w64-libircclient +pkgver=1.8 +pkgrel=1 +pkgdesc="Small but powerful library, which implements client-server IRC protocol (mingw-w64)" +arch=(any) +url='http://www.ulduzsoft.com/libircclient/' +license=('LGPL') +makedepends=(mingw-w64-gcc mingw-w64-configure) +depends=(mingw-w64-crt) +options=(!libtool staticlibs !strip !buildflags) +source=(http://downloads.sourceforge.net/sourceforge/libircclient/libircclient-$pkgver.tar.gz + Makefile) +sha256sums=('2cf8523ac683588f2785b08159a2df3e4d15939ee655c0024aa86334149de8f6' + 'SKIP') + +_architectures="i686-w64-mingw32 x86_64-w64-mingw32" + +prepare() { + cd "${srcdir}"/libircclient-${pkgver} + cp ../Makefile . +} + +build() { + cd ${srcdir}/libircclient-${pkgver} + + # Fix some brokenness. + + find . -name '*.c' -o -name '*.h' -exec \ + sed -i "s/defined (WIN32)/defined (_WIN32)/g" {} \; + + sed -i "s/int nsock/socket_t nsock/g" src/dcc.c + + for _arch in ${_architectures}; do + mkdir build-${_arch} && pushd build-${_arch} + mkdir src && pushd src + + # libircclient's configure script doesn't like building + # outside the root directory, so we must use a custom Makefile. + sed -i "s/i686-w64-mingw32/${_arch}/g" ../../Makefile + make -f ../../Makefile + rm ../../src/libircclient.o + + popd + popd + done +} + +package() { + for _arch in ${_architectures}; do + cd "${srcdir}/libircclient-${pkgver}/build-${_arch}/src" + mkdir -p $pkgdir/usr/${_arch}/bin $pkgdir/usr/${_arch}/lib $pkgdir/usr/${_arch}/include/libircclient + cp libircclient.dll $pkgdir/usr/${_arch}/bin + cp libircclient.dll.a $pkgdir/usr/${_arch}/lib + cp libircclient.a $pkgdir/usr/${_arch}/lib + + # The header files do not really belong into include/libircclient, + # but it's what the Arch maintainers are doing, so just follow them. + cp ../../include/*.h $pkgdir/usr/${_arch}/include/libircclient + + # Add symlinks so "#include <libircclient.h>" works too. + ln -rs $pkgdir/usr/${_arch}/include/libircclient/* $pkgdir/usr/${_arch}/include + + find "$pkgdir/usr/${_arch}" -name '*.exe' -o -name '*.bat' -o -name '*.def' -o -name '*.exp' | xargs -rtl1 rm + find "$pkgdir/usr/${_arch}" -name '*.dll' | xargs -rtl1 ${_arch}-strip -x + find "$pkgdir/usr/${_arch}" -name '*.a' -o -name '*.dll' | xargs -rtl1 ${_arch}-strip -g + done +} |