git » sdk » commit 2872b4e

CI: use alpine build script

author Anjandev Momi
2025-06-13 03:39:48 UTC
committer Stephen Paul Weber
2025-06-24 17:15:23 UTC
parent 27d3cd7b65a517cc7081c4ef136370cc6d216c69

CI: use alpine build script

Use alpine build script from (https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/testing/snikket-sdk) to build snikket-sdk.

https://builds.sr.ht/~anjan/job/1509992

I apply a patch to disable xlocale.h.

> * The nonstandard header <xlocale.h> has been removed.  Most programs should
> use <locale.h> instead.  If you have a specific need for the definition of
> locale_t with no other declarations, please contact
> libc-alpha@sourceware.org and explain.

source: https://sourceware.org/legacy-ml/libc-alpha/2017-08/msg00010.html

.builds/alpine.yml +20 -33
xlocale.patch +11 -0

diff --git a/.builds/alpine.yml b/.builds/alpine.yml
index 60e574a..fb8adf6 100644
--- a/.builds/alpine.yml
+++ b/.builds/alpine.yml
@@ -1,48 +1,35 @@
 image: alpine/edge
 packages:
+- haxe
 - opus-dev
-#- libdatachannel-dev
+- libdatachannel-dev
 - libstrophe-dev
 - libc++-dev
 - musl-dev
-- alpine-sdk
 sources:
 - https://git.sr.ht/~singpolyma/snikket-sdk
-- https://gitlab.alpinelinux.org/anjandev/aports.git#haxe
 artifacts:
 - snikket-sdk/libsnikket.so
 tasks:
-- keygen: |
-    abuild-keygen -a -i -n
-- plog-dev: |
-    cd aports/community/plog
-    abuild -r
-- libdatachannel: |
-    cd aports/community/libdatachannel
-    abuild -r
-- neko: |
-    cd aports/testing/neko
-    abuild -r
-- haxe: |
-    cd aports/testing/haxe
-    abuild -r
-- xlocale: |
-    doas ln -s /usr/include/locale.h /usr/include/xlocale.h
 - haxelib: |
-    haxelib --quiet git jsImport https://github.com/back2dos/jsImport
-    haxelib --quiet install datetime
-    haxelib --quiet install haxe-strings
-    haxelib --quiet install hsluv
-    haxelib --quiet install tink_http
-    haxelib --quiet install sha
-    haxelib --quiet install thenshim
-    haxelib --quiet install HtmlParser
-    haxelib --quiet install hxnodejs
-    haxelib --quiet git hxtsdgen https://github.com/singpolyma/hxtsdgen
-    haxelib --quiet install utest
-    haxelib --quiet git hxcpp https://github.com/HaxeFoundation/hxcpp
-    cd ~/haxe/hxcpp/git/tools/hxcpp
+    cd snikket-sdk
+    haxelib setup .
+    haxelib git jsImport https://github.com/back2dos/jsImport
+    haxelib install datetime
+    haxelib install haxe-strings
+    haxelib install hsluv
+    haxelib install tink_http
+    haxelib install sha
+    haxelib install thenshim
+    haxelib install HtmlParser
+    haxelib install hxnodejs
+    haxelib git hxtsdgen https://github.com/singpolyma/hxtsdgen
+    haxelib install utest
+    haxelib git hxcpp https://github.com/HaxeFoundation/hxcpp
+    cd hxcpp/git/tools/hxcpp
     haxe compile.hxml
+    cd -
+    patch -p1 -i xlocale.patch
 - make: |
     cd snikket-sdk
-    make
+    make libsnikket.so
diff --git a/xlocale.patch b/xlocale.patch
new file mode 100644
index 0000000..d926333
--- /dev/null
+++ b/xlocale.patch
@@ -0,0 +1,11 @@
+--- a/hxcpp/git/src/hx/libs/std/Sys.cpp
++++ b/hxcpp/git/src/hx/libs/std/Sys.cpp
+@@ -30,7 +30,7 @@
+    #include <limits.h>
+    #ifndef ANDROID
+       #include <locale.h>
+-      #if !defined(BLACKBERRY) && !defined(EPPC) && !defined(GCW0) && !defined(__GLIBC__)
++      #if !defined(BLACKBERRY) && !defined(EPPC) && !defined(GCW0) && !defined(NEKO_LINUX)
+          #include <xlocale.h>
+       #endif
+    #endif