From 9221c1d06e9185b734d58c155764ed24fcfc48ed Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Tue, 14 Jan 2020 04:46:41 -0600 Subject: [PATCH 1/2] newapkbuild: Drastically modernise output APKBUILD file --- newapkbuild.in | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/newapkbuild.in b/newapkbuild.in index 85f838f..dbcef14 100644 --- a/newapkbuild.in +++ b/newapkbuild.in @@ -68,13 +68,9 @@ build_cmake() { -DCMAKE_BUILD_TYPE=RelWithDebugInfo \\ -DCMAKE_CXX_FLAGS="\$CXXFLAGS" \\ -DCMAKE_C_FLAGS="\$CFLAGS" \\ - \${CMAKE_CROSSOPTS} + \${CMAKE_CROSSOPTS} \\ + . make -} - -check() { - cd "\$builddir" - CTEST_OUTPUT_ON_FAILURE=TRUE ctest __EOF__ } @@ -115,6 +111,12 @@ check_make() { __EOF__ } +check_cmake() { + cat >>APKBUILD<<__EOF__ + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +__EOF__ +} + check_python() { cat >>APKBUILD<<__EOF__ python3 setup.py test @@ -193,7 +195,7 @@ newaport() { python) makedepends="python3-dev";; cmake) makedepends="cmake";; meson) makedepends="meson";; - *) makedepends="\$depends_dev";; + *) makedepends="";; esac # Replace pkgver in $source @@ -226,9 +228,15 @@ url="$url" arch="all" license="$license" depends="$depends" -depends_dev="" makedepends="$makedepends" +__EOF__ + if [ -n "$install" ]; then + cat >>APKBUILD<<__EOF__ install="$install" +__EOF__ + fi + + cat >>APKBUILD<<__EOF__ subpackages="\$pkgname-dev \$pkgname-doc" source="$source" __EOF__ @@ -241,7 +249,12 @@ __EOF__ builddir=$(echo ${i#*/} | sed "s/$pv/\$pkgver/g") fi done - printf 'builddir="$srcdir/%s"\n\n' "$builddir" >> APKBUILD + if [ -n "$sdir" ] && [ "$sdir" = "src/$pkgname-$pv" ]; then + # No builddir needed. + : + else + printf 'builddir="$srcdir/%s"\n\n' "$builddir" >> APKBUILD + fi # Subpackage -dev is usually required only for C/C++. Since depends_dev # confuses a lot people, remove it if there's no .h or .hpp file. @@ -271,7 +284,6 @@ __EOF__ # Create build() function cat >>APKBUILD<<__EOF__ build() { - cd "\$builddir" __EOF__ case "$buildtype" in @@ -287,6 +299,8 @@ __EOF__ build_perl;; python) build_python;; + *) + printf '# Add build instructions here.' >> APKBUILD esac cat >>APKBUILD<<__EOF__ @@ -297,14 +311,17 @@ __EOF__ # Create check() function cat >>APKBUILD<<__EOF__ check() { - cd "\$builddir" __EOF__ case "$buildtype" in - make|cmake|autotools|perl) + make|autotools|perl) check_make;; + cmake) + check_cmake;; python) check_python;; + *) + printf '# Add test instructions here.' >> APKBUILD esac cat >>APKBUILD<<__EOF__ @@ -315,7 +332,6 @@ __EOF__ # Create package() function cat >>APKBUILD<<__EOF__ package() { - cd "\$builddir" __EOF__ case "$buildtype" in @@ -329,6 +345,8 @@ __EOF__ package_perl;; python) package_python;; + *) + printf '# Add packaging instructions here.' >> APKBUILD esac if [ -n "$cpinitd" ]; then -- 2.24.1 From 59cb9822c0ac347d58f1c37627a58fe14dce965d Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Tue, 14 Jan 2020 04:47:36 -0600 Subject: [PATCH 2/2] newapkbuild: Newline after source --- newapkbuild.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/newapkbuild.in b/newapkbuild.in index dbcef14..9c4ffbf 100644 --- a/newapkbuild.in +++ b/newapkbuild.in @@ -251,7 +251,7 @@ __EOF__ done if [ -n "$sdir" ] && [ "$sdir" = "src/$pkgname-$pv" ]; then # No builddir needed. - : + printf '\n' >> APKBUILD else printf 'builddir="$srcdir/%s"\n\n' "$builddir" >> APKBUILD fi -- 2.24.1