diff --git a/mingw-w64-PKGBUILD-templates/PKGBUILD.CMake-github-git b/mingw-w64-PKGBUILD-templates/PKGBUILD.CMake-github-git index 83da3d1e8c..1c4db89a27 100644 --- a/mingw-w64-PKGBUILD-templates/PKGBUILD.CMake-github-git +++ b/mingw-w64-PKGBUILD-templates/PKGBUILD.CMake-github-git @@ -13,6 +13,7 @@ url="https://github.com/someproject/somepackage" license=('LICENSE') validpgpkeys=('gpg_KEY') makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja" 'git') options=('strip' 'staticlibs') source=("${_realname}"::"git+https://github.com/someproject/somepackage.git#branch=master" @@ -22,34 +23,17 @@ sha256sums=('SKIP' 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb') -# Helper macros to help make tasks easier # -apply_patch_with_msg() { - for _patch in "$@" - do - msg2 "Applying $_patch" - patch -Nbp1 -i "${srcdir}/$_patch" - done -} - -del_file_exists() { - for _fname in "$@" - do - if [ -f $_fname ]; then - rm -rf $_fname - fi - done -} -# =========================================== # - pkgver() { cd "${srcdir}"/${_realname} - printf "%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" + + git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g' } prepare() { cd "${srcdir}"/${_realname} - git am "${srcdir}"/0001-A-really-important-fix.patch - git am "${srcdir}"/0002-A-less-important-fix.patch + + git apply "${srcdir}"/0001-A-really-important-fix.patch + git apply "${srcdir}"/0002-A-less-important-fix.patch } build() { @@ -65,18 +49,25 @@ build() { MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ - -G'MSYS Makefiles' \ + -GNinja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ "${extra_config[@]}" \ -DBUILD_{SHARED,STATIC}_LIBS=ON \ ../${_realname} - make + ${MINGW_PREFIX}/bin/cmake --build . +} + +check() { + cd "${srcdir}"/build-${CARCH} + + cmake --build . --target test } package() { cd "${srcdir}"/build-${CARCH} - make DESTDIR=${pkgdir} install + + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build . --target install install -Dm644 ${srcdir}/${_realname}/LICENSE ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE } diff --git a/mingw-w64-PKGBUILD-templates/PKGBUILD.CMake-tarball b/mingw-w64-PKGBUILD-templates/PKGBUILD.CMake-tarball index 314f0971d4..2a40944a7c 100644 --- a/mingw-w64-PKGBUILD-templates/PKGBUILD.CMake-tarball +++ b/mingw-w64-PKGBUILD-templates/PKGBUILD.CMake-tarball @@ -10,38 +10,21 @@ arch=('any') url='https://www.somepackage.org/' license=('LICENSE') validpgpkeys=('gpg_KEY') -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake") +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") options=('strip' 'staticlibs') source=("https://www.somepackage.org/${_realname}/${_realname}-${pkgver}.tar.gz" "0001-An-important-fix.patch" "0002-A-less-important-fix.patch") -sha256sums=('SKIP' - 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' - 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb') - -# Helper macros to help make tasks easier # -apply_patch_with_msg() { - for _patch in "$@" - do - msg2 "Applying $_patch" - patch -Nbp1 -i "${srcdir}/$_patch" - done -} - -del_file_exists() { - for _fname in "$@" - do - if [ -f $_fname ]; then - rm -rf $_fname - fi - done -} -# =========================================== # +sha256sums=('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' + 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc') prepare() { cd "${srcdir}"/${_realname}-${pkgver} - apply_patch_with_msg 0001-A-really-important-fix.patch \ - 0002-A-less-important-fix.patch + + patch -Np1 -i "${srcdir}"/0001-A-really-important-fix.patch + patch -Np1 -i "${srcdir}"/0002-A-less-important-fix.patch } build() { @@ -58,24 +41,25 @@ build() { MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ - -G'MSYS Makefiles' \ + -GNinja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ "${extra_config[@]}" \ -DBUILD_{SHARED,STATIC}_LIBS=ON \ ../${_realname}-${pkgver} - make + ${MINGW_PREFIX}/bin/cmake --build . } - check() { cd "${srcdir}"/build-${CARCH} - make check + + cmake --build . --target test } package() { cd "${srcdir}"/build-${CARCH} - make install DESTDIR="${pkgdir}" + + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --build . --target install install -Dm644 ${srcdir}/${_realname}-${pkgver}/LICENSE ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE } diff --git a/mingw-w64-PKGBUILD-templates/PKGBUILD.autotools-tarball b/mingw-w64-PKGBUILD-templates/PKGBUILD.autotools-tarball index 12138b35ed..95769965b4 100644 --- a/mingw-w64-PKGBUILD-templates/PKGBUILD.autotools-tarball +++ b/mingw-w64-PKGBUILD-templates/PKGBUILD.autotools-tarball @@ -12,30 +12,12 @@ license=('LICENSE') validpgpkeys=('gpg_KEY') source=("https://www.somepackage.org/${_realname}/${_realname}-${pkgver}.tar.gz" "0001-A-fix.patch") -sha256sums=('SKIP' - 'SKIP') - -# Helper macros to help make tasks easier # -apply_patch_with_msg() { - for _patch in "$@" - do - msg2 "Applying $_patch" - patch -Nbp1 -i "${srcdir}/$_patch" - done -} - -del_file_exists() { - for _fname in "$@" - do - if [ -f $_fname ]; then - rm -rf $_fname - fi - done -} -# =========================================== # +sha256sums=('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb') prepare() { cd ${srcdir}/${_realname}-${pkgver} + patch -p1 -i ${srcdir}/0001-A-fix.patch } @@ -43,6 +25,7 @@ build() { cd "${srcdir}"/${_realname}-${pkgver} [[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH} mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH} + ../${_realname}-${pkgver}/configure \ --prefix=${MINGW_PREFIX} \ --build=${MINGW_CHOST} \ @@ -56,11 +39,13 @@ build() { check() { cd "${srcdir}"/build-${CARCH} + make check } package() { cd "${srcdir}"/build-${CARCH} + make install DESTDIR="${pkgdir}" install -Dm644 ${srcdir}/${_realname}-${pkgver}/LICENSE ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE diff --git a/mingw-w64-PKGBUILD-templates/PKGBUILD.meson-tarball b/mingw-w64-PKGBUILD-templates/PKGBUILD.meson-tarball new file mode 100644 index 0000000000..5158cafe99 --- /dev/null +++ b/mingw-w64-PKGBUILD-templates/PKGBUILD.meson-tarball @@ -0,0 +1,58 @@ +# Maintainer: Some One + +_realname=somepackage +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") +pkgver=1.0 +pkgrel=1 +pkgdesc="Some package (mingw-w64)" +arch=('any') +url='https://www.somepackage.org/' +license=('LICENSE') +validpgpkeys=('gpg_KEY') +makedepends=("${MINGW_PACKAGE_PREFIX}-meson" + "${MINGW_PACKAGE_PREFIX}-ninja" + "${MINGW_PACKAGE_PREFIX}-pkg-config") +options=('strip' 'staticlibs') +source=("https://www.somepackage.org/${_realname}/${_realname}-${pkgver}.tar.gz" + "0001-An-important-fix.patch" + "0002-A-less-important-fix.patch") +sha256sums=('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' + 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc') + +prepare() { + cd "${srcdir}"/${_realname}-${pkgver} + + patch -Np1 -i "${srcdir}"/0001-A-really-important-fix.patch + patch -Np1 -i "${srcdir}"/0002-A-less-important-fix.patch +} + +build() { + [[ -d build-${MINGW_CHOST} ]] && rm -rf build-${MINGW_CHOST} + mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} + + MSYS2_ARG_CONV_EXCL="--prefix=" \ + meson \ + --prefix="${MINGW_PREFIX}" \ + --wrap-mode=nodownload \ + --auto-features=enabled \ + --buildtype=plain \ + ../${_realname}-${pkgver} + + meson compile +} + +check() { + cd "${srcdir}/build-${MINGW_CHOST}" + + meson test +} + +package() { + cd "${srcdir}/build-${MINGW_CHOST}" + + DESTDIR="${pkgdir}" meson install + + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" +}