summaryrefslogtreecommitdiff
path: root/system/abuild/modernise.patch
blob: b87b098f9921750b93948abdd1502c1683e0ea57 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
From 9221c1d06e9185b734d58c155764ed24fcfc48ed Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
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" <AWilcox@Wilcox-Tech.com>
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