Skip to content

Commit 4944b3b

Browse files
authored
Clang build (#2)
* Update installer, Fix pkgvers
1 parent 62c44cc commit 4944b3b

10 files changed

Lines changed: 88 additions & 61 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Oolite MSYS2 MinGW64 Environment
22

3+
Creates MSYS2 MinGW64 packages of dependencies that Oolite needs
4+
5+
You can also create an environment locally, building all dependencies, as follows:
6+
37
Double click Run Me. You will be prompted for an install location. If you type c:, MSYS2 will be installed in c:\msys64. Then Oolite's dependencies will be installed followed by Oolite itself. A gcc build is created by default.
48

59
Once completed, you can type the following in the shell:

install.sh

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,28 @@ pacboy -S binutils --noconfirm
99
rm -rf packages
1010
mkdir packages
1111

12+
rename() {
13+
if [ -z "$2" ]; then
14+
fullname=$1
15+
else
16+
fullname="${1}_${2}"
17+
fi
18+
# package file eg. mingw-w64-x86_64-libobjc2-2.3-3-any.pkg.tar.zst
19+
filename=$(ls $3 2>/dev/null)
20+
if [ -z "$filename" ]; then
21+
echo "❌ No file matching $3 found."
22+
exit 1
23+
fi
24+
if [ "$2" ]; then
25+
# add gcc or clang to filename
26+
newname="${filename/$1/$fullname}"
27+
mv $filename $newname
28+
filename=$newname
29+
fi
30+
31+
echo "${filename}"
32+
}
33+
1234
build_install() {
1335
# First parameter is package name
1436
# Second optional parameter is gcc or clang
@@ -17,11 +39,8 @@ build_install() {
1739
# Deletes everything except PKGBUILD* and *.patch
1840
find . -mindepth 1 ! -name 'PKGBUILD*' ! -name '*.patch' -exec rm -rf {} +
1941

20-
if [ -z "$2" ]; then
21-
fullname=$1
22-
else
42+
if [ -n "$2" ]; then
2343
# copy PKGBUILD_gcc or PKGBUILD_clang to PKGBUILD
24-
fullname="${1}_${2}"
2544
cp "PKGBUILD_${2}" PKGBUILD
2645
fi
2746
dos2unix PKGBUILD *.patch
@@ -30,20 +49,9 @@ build_install() {
3049
exit 1
3150
fi
3251

33-
pattern="*$1*any.pkg.tar.zst"
34-
# package file eg. mingw-w64-x86_64-libobjc2-2.3-3-any.pkg.tar.zst
35-
filename=$(ls $pattern 2>/dev/null)
36-
if [ -z "$filename" ]; then
37-
echo "❌ No file matching $pattern found."
38-
exit 1
39-
fi
40-
if [ "$2" ]; then
41-
# add gcc or clang to filename
42-
newname="${filename/$1/$fullname}"
43-
mv $filename $newname
44-
filename=$newname
45-
fi
46-
if ! pacman -U $filename --noconfirm ; then
52+
filename=$(rename $1 $2 "*$1*any.pkg.tar.zst")
53+
54+
if ! pacman -U $filename --noconfirm ; then
4755
echo "$filename install failed!"
4856
exit 1
4957
fi

mingw-w64-SDL/PKGBUILD

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
22

33
_realname=SDL
4+
_gitname=SDL-1.2
45
pkgbase=mingw-w64-${_realname}
56
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
6-
pkgver=1.2.15+9569181
7+
pkgver=1.2.15+5b402cee
78
pkgrel=1
89
pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (mingw-w64)"
910
arch=('any')
@@ -17,27 +18,27 @@ license=("LGPL")
1718
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools" "git" "patch")
1819
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs" "${MINGW_PACKAGE_PREFIX}-libiconv")
1920
_commit=5b402cee2da923942fcd4fad42aaebd1185c9c17
20-
source=("git+https://github.com/libsdl-org/SDL-1.2#commit=${_commit}"
21+
source=("git+https://github.com/libsdl-org/${_gitname}#commit=${_commit}"
2122
"Oolite_changes.patch")
2223
sha256sums=('d7962c8ef1282c93d9147da3864a17f552799f8e85c574fadfa557c5f883e8f1'
2324
'ca1f233c5ba0ff8d9169d1470d9b010d94cf930185a194d95ca3c115666a06ec')
2425

2526
pkgver() {
26-
cd "$srcdir/$_gitname"
27+
cd "${srcdir}/${_gitname}"
2728
# Use short hash
2829
printf "%s" "1.2.15+$(git rev-parse --short HEAD)"
2930
}
3031

3132
prepare() {
32-
cd SDL-1.2
33+
cd "${srcdir}/${_gitname}"
3334
patch -p1 -i ${srcdir}/Oolite_changes.patch
3435
./autogen.sh
3536
}
3637

3738
build() {
3839
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
3940

40-
../SDL-1.2/configure \
41+
"../${_gitname}/configure" \
4142
--prefix=${MINGW_PREFIX} \
4243
--build=${MINGW_CHOST} \
4344
--host=${MINGW_CHOST} \

mingw-w64-espeak-ng/PKGBUILD

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,29 @@
33
_realname=espeak-ng
44
pkgbase=mingw-w64-${_realname}
55
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
6-
pkgver=1.52+f3fcd1d
6+
pkgver=1.52+0d451f8c
77
pkgrel=1
88
pkgdesc="A text-to-speech synthesizer for Linux, Windows, Android and other operating systems"
99
arch=('any')
1010
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
1111
url="https://github.com/espeak-ng/espeak-ng"
12-
license=("LGPL")
12+
license=("GPL-3.0-or-later")
1313
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "git" "patch")
1414
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs" "${MINGW_PACKAGE_PREFIX}-pcaudiolib")
1515
_commit=0d451f8c1c6ae837418b823bd9c4cbc574ea9ff5
16-
source=("git+https://github.com/mcarans/espeak-ng#commit=${_commit}"
16+
source=("git+https://github.com/espeak-ng/${_realname}#commit=${_commit}"
1717
"MSYS2_MinGW64.patch")
1818
sha256sums=('c6956dc62d0441b27bc81a373dee60905d688c708373b41270f89dd33fea30c0'
1919
'170e2b290ba2430f098270c13a41447056c09806c939e6d46c5f350f87cbf91a')
2020

2121
pkgver() {
22-
cd "$srcdir/$_gitname"
22+
cd "${srcdir}/${_realname}"
2323
# Use short hash
2424
printf "%s" "1.52+$(git rev-parse --short HEAD)"
2525
}
2626

2727
prepare() {
28-
cd "$_realname"
28+
cd "${srcdir}/${_realname}"
2929
patch -p1 -i ${srcdir}/MSYS2_MinGW64.patch
3030
}
3131

@@ -45,8 +45,8 @@ build() {
4545
-DHAVE_PTHREAD=yes \
4646
-DUSE_LIBPCAUDIO=yes \
4747
${extra_config[@]} \
48-
-S ${_realname} \
49-
-B build-${MSYSTEM}
48+
-S "${srcdir}/${_realname}" \
49+
-B "${srcdir}/build-${MSYSTEM}"
5050

5151
cmake --build build-${MSYSTEM}
5252

@@ -59,7 +59,7 @@ check() {
5959
package() {
6060
DESTDIR="${pkgdir}" cmake --install build-${MSYSTEM}
6161
cd ${pkgdir}${MINGW_PREFIX}/include/espeak
62-
echo "#include \"../espeak-ng/speak_lib.h\"" > speak_lib.h
62+
echo "#include \"../${_realname}/speak_lib.h\"" > speak_lib.h
6363

6464
install -Dm644 "${srcdir}/${_realname}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
6565
}

mingw-w64-gnustep-base/PKGBUILD_clang

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Maintainer: Frederik Carlier <frederik.carlier@keysight.com>
22

33
_realname=gnustep-base
4+
_gitname=libs-base
45
pkgbase=mingw-w64-${_realname}
56
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
6-
pkgver=1.31.1
7+
pkgver=1.31.1+2b2ba476
78
pkgrel=4
89
pkgdesc="GNUstep Base library (mingw-w64)"
910
arch=('any')
@@ -32,11 +33,17 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-autotools"
3233
rsync)
3334

3435
_commit=2b2ba476d1f133bdf960085a64922f7f471457c1
35-
source=("git+https://github.com/gnustep/libs-base#commit=${_commit}")
36+
source=("git+https://github.com/gnustep/${_gitname}#commit=${_commit}")
3637
sha256sums=('459ac251d4a91f56edd90da2cdc9ac5a2df20761a22231dd3ad86a3c0034adce')
3738

39+
pkgver() {
40+
cd "${srcdir}/${_gitname}"
41+
# Use short hash
42+
printf "%s" "1.31.1+$(git rev-parse --short HEAD)"
43+
}
44+
3845
build() {
39-
rsync --recursive --times --links "${srcdir}/libs-base"/* "${srcdir}/build-${MSYSTEM}"
46+
rsync --recursive --times --links "${srcdir}/${_gitname}"/* "${srcdir}/build-${MSYSTEM}"
4047
cd "${srcdir}/build-${MSYSTEM}"
4148

4249
CC="$MINGW_PREFIX/bin/clang" \
@@ -58,5 +65,5 @@ package() {
5865

5966
make install DESTDIR="${pkgdir}"
6067

61-
install -Dm644 "${srcdir}/libs-base/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
68+
install -Dm644 "${srcdir}/${_gitname}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
6269
}

mingw-w64-gnustep-base/PKGBUILD_gcc

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Maintainer: Frederik Carlier <frederik.carlier@keysight.com>
22

33
_realname=gnustep-base
4+
_gitname=libs-base
45
pkgbase=mingw-w64-${_realname}
56
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
6-
pkgver=1.31.1
7+
pkgver=1.31.1+2b2ba476
78
pkgrel=4
89
pkgdesc="GNUstep Base library (mingw-w64)"
910
arch=('any')
@@ -31,11 +32,17 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-autotools"
3132
patchutils
3233
rsync)
3334
_commit=2b2ba476d1f133bdf960085a64922f7f471457c1
34-
source=("git+https://github.com/gnustep/libs-base#commit=${_commit}")
35+
source=("git+https://github.com/gnustep/${_gitname}#commit=${_commit}")
3536
sha256sums=('459ac251d4a91f56edd90da2cdc9ac5a2df20761a22231dd3ad86a3c0034adce')
3637

38+
pkgver() {
39+
cd "${srcdir}/${_gitname}"
40+
# Use short hash
41+
printf "%s" "1.31.1+$(git rev-parse --short HEAD)"
42+
}
43+
3744
build() {
38-
rsync --recursive --times --links "${srcdir}/libs-base"/* "${srcdir}/build-${MSYSTEM}"
45+
rsync --recursive --times --links "${srcdir}/${_gitname}"/* "${srcdir}/build-${MSYSTEM}"
3946
cd "${srcdir}/build-${MSYSTEM}"
4047

4148
./configure \
@@ -55,5 +62,5 @@ package() {
5562

5663
make install DESTDIR="${pkgdir}"
5764

58-
install -Dm644 "${srcdir}/libs-base/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
65+
install -Dm644 "${srcdir}/${_gitname}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
5966
}

mingw-w64-nspr/PKGBUILD

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Maintainer: Michael Rans <rans@email.com>
22

33
_realname=nspr
4-
_reponame=oolite_mozjsnspr_mingw64
4+
_gitname=oolite_mozjsnspr_mingw64
55
pkgbase=mingw-w64-${_realname}
66
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
7-
pkgver=4.38+3ed7efe
7+
pkgver=4.38+e29556cf
88
pkgrel=1
99
pkgdesc="Oolite Netscape Portable Runtime"
1010
arch=('any')
@@ -14,29 +14,29 @@ license=("LGPL")
1414
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "make" "nsinstall" "git")
1515
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs")
1616
_commit=e29556cfae84a9a66c338bb58ddd6bf8dad85f98
17-
source=("git+https://github.com/mcarans/${_reponame}#commit=${_commit}")
17+
source=("git+https://github.com/mcarans/${_gitname}#commit=${_commit}")
1818
sha256sums=('198855fd4a7faf2fd04a4a1f29bdb4cd7e065dfc3534bac7b68d5587ab1914b2')
1919

2020
pkgver() {
21-
cd "$srcdir/$_gitname"
21+
cd "${srcdir}/${_gitname}"
2222
# Use short hash
2323
printf "%s" "4.38+$(git rev-parse --short HEAD)"
2424
}
2525

2626
build() {
27-
cd "${srcdir}/${_reponame}/nspr4"
27+
cd "${srcdir}/${_gitname}/nspr4"
2828
./build_nspr.sh
2929
}
3030

3131
check() {
32-
cd "${srcdir}/${_reponame}/nspr4"
32+
cd "${srcdir}/${_gitname}/nspr4"
3333
}
3434

3535
package() {
36-
cd "${srcdir}/${_reponame}/nspr4"
36+
cd "${srcdir}/${_gitname}/nspr4"
3737

3838
make DESTDIR="${pkgdir}" install
3939
mv ${pkgdir}${MINGW_PREFIX}/lib/*.dll ${pkgdir}${MINGW_PREFIX}/bin
4040

41-
install -Dm644 "${srcdir}/${_reponame}/nspr4/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
41+
install -Dm644 "${srcdir}/${_gitname}/nspr4/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
4242
}

mingw-w64-pcaudiolib/PKGBUILD

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,29 @@
33
_realname=pcaudiolib
44
pkgbase=mingw-w64-${_realname}
55
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
6-
pkgver=1.3+f3fcd1d
6+
pkgver=1.3+e907571
77
pkgrel=1
88
pkgdesc="A portable cross-platform audio library"
99
arch=('any')
1010
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
1111
url="https://github.com/espeak-ng/pcaudiolib"
12-
license=("LGPL")
12+
license=("GPL-3.0-or-later")
1313
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools" "git" "patch" "rsync")
1414
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs")
1515
_commit=e907571bad7dee296fb56a409a0f7c5a0c57d38a
16-
source=("git+https://github.com/espeak-ng/pcaudiolib#commit=${_commit}"
16+
source=("git+https://github.com/espeak-ng/${_realname}#commit=${_commit}"
1717
"MSYS2_MinGW64.patch")
1818
sha256sums=('932932e469e1fe599b4a1834cd4c64ffe00a254cf421c1a0d448779407887c5b'
1919
'fd033c47e076062321a748147b988a01f6c4c7b33b87a5296746d9c4cad7f93c')
2020

2121
pkgver() {
22-
cd "$srcdir/$_gitname"
22+
cd "${srcdir}/${_realname}"
2323
# Use short hash
2424
printf "%s" "1.3+$(git rev-parse --short HEAD)"
2525
}
2626

2727
prepare() {
28-
cd "$_realname"
28+
cd "${srcdir}/${_realname}"
2929
patch -p1 -i ${srcdir}/MSYS2_MinGW64.patch
3030
./autogen.sh
3131
}
@@ -34,7 +34,7 @@ build() {
3434
rsync --recursive --times --links "${srcdir}/${_realname}/src/include"/* "${srcdir}/build-${MSYSTEM}"
3535
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
3636

37-
"../$_realname/configure" \
37+
"../${_realname}/configure" \
3838
--prefix=${MINGW_PREFIX} \
3939
--build=${MINGW_CHOST} \
4040
--host=${MINGW_CHOST}

mingw-w64-spidermonkey/PKGBUILD

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Maintainer: Michael Rans <rans@email.com>
22

33
_realname=spidermonkey
4-
_reponame=oolite_mozjsnspr_mingw64
4+
_gitname=oolite_mozjsnspr_mingw64
55
pkgbase=mingw-w64-${_realname}
66
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
7-
pkgver=4+c592015
7+
pkgver=4+e29556cf
88
pkgrel=1
99
pkgdesc="Oolite Spidermonkey"
1010
arch=('any')
@@ -14,30 +14,30 @@ license=("LGPL")
1414
makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "make" "nsinstall" "git")
1515
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs" "${MINGW_PACKAGE_PREFIX}-nspr")
1616
_commit=e29556cfae84a9a66c338bb58ddd6bf8dad85f98
17-
source=("git+https://github.com/mcarans/${_reponame}#commit=${_commit}")
17+
source=("git+https://github.com/mcarans/${_gitname}#commit=${_commit}")
1818
sha256sums=('198855fd4a7faf2fd04a4a1f29bdb4cd7e065dfc3534bac7b68d5587ab1914b2')
1919

2020
pkgver() {
21-
cd "$srcdir/$_gitname"
21+
cd "${srcdir}/${_gitname}"
2222
# Use short hash
2323
printf "%s" "4+$(git rev-parse --short HEAD)"
2424
}
2525

2626
build() {
27-
cd "${srcdir}/${_reponame}/js/src"
27+
cd "${srcdir}/${_gitname}/js/src"
2828
./build_js_release.sh
2929
}
3030

3131
check() {
32-
cd "${srcdir}/${_reponame}/js/src"
32+
cd "${srcdir}/${_gitname}/js/src"
3333
}
3434

3535
package() {
3636
mkdir -p ${pkgdir}${MINGW_PREFIX}/bin
3737
mkdir -p ${pkgdir}${MINGW_PREFIX}/include
3838
mkdir -p ${pkgdir}${MINGW_PREFIX}/lib
3939

40-
cd "${srcdir}/${_reponame}/js/src/WINNT5.1_OPT.OBJ"
40+
cd "${srcdir}/${_gitname}/js/src/WINNT5.1_OPT.OBJ"
4141
cp *.h ${pkgdir}${MINGW_PREFIX}/include
4242
cp js32ECMAv5.dll ${pkgdir}${MINGW_PREFIX}/bin
4343
cp libjs32ECMAv5.dll.a ${pkgdir}${MINGW_PREFIX}/lib

0 commit comments

Comments
 (0)