fontconfig: Branch 'main' - 2 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Mar 27 04:56:18 UTC 2025


 .gitlab-ci.yml                       |   32 +++++++++++++++++++++++-
 .gitlab-ci/aarch64-linux-android.txt |   25 +++++++++++++++++++
 .gitlab-ci/build.sh                  |    1 
 .gitlab-ci/config.yml                |   15 ++++++++++-
 .gitlab-ci/fedora-cross.sh           |    4 ++-
 .gitlab-ci/fedora-install.sh         |   10 +++++++
 .gitlab-ci/other.yml                 |   45 -----------------------------------
 7 files changed, 82 insertions(+), 50 deletions(-)

New commits:
commit 564a8a9e8d08694cfb3dfd43e2a9f58156283afe
Merge: f511346 dd3f312
Author: Akira TAGOH <akira at tagoh.org>
Date:   Thu Mar 27 04:56:13 2025 +0000

    Merge branch 'ci-android' into 'main'
    
    ci: Add back Android build in a common way
    
    See merge request fontconfig/fontconfig!372

commit dd3f312da465ba30023935208d0487b040696bce
Author: Akira TAGOH <akira at tagoh.org>
Date:   Wed Mar 26 14:45:22 2025 +0900

    ci: Add back Android build in a common way

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f6578e0..945f141 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,8 +42,8 @@ variables:
 # changing these will force rebuilding the associated image
 # Note: these tags have no meaning and are not tied to a particular
 # fontconfig version
-  FEDORA_TAG:    '2025-03-10.1-788fd421ac5d'
-  FREEBSD_TAG:   '2025-03-10.1-8c6b4797d3ca'
+  FEDORA_TAG:    '2025-03-26.1-061a0cd0d4b5'
+  FREEBSD_TAG:   '2025-03-26.1-1f1b3be21da5'
 
   FEDORA_EXEC:   'bash .gitlab-ci/fedora-install.sh'
   FREEBSD_EXEC:  'bash .gitlab-ci/freebsd-install.sh'
@@ -561,6 +561,28 @@ t_fedora:rawhide:meson static libxml2 fontations:
 
 
 
+t_fedora:rawhide:android aarch64:
+  extends:
+    - .build at template
+    - .fdo.distribution-image at fedora
+    - .fc_artifacts
+  variables:
+    FC_DISTRO_NAME: fedora
+    FDO_DISTRIBUTION_VERSION: 'rawhide'
+    FDO_DISTRIBUTION_TAG: $FEDORA_TAG
+    FC_BUILDSYS: meson
+    FC_BUILD_TYPE: shared
+    FC_XML_BACKEND: expat
+    FC_BUILD_PLATFORM: android
+    FC_BUILD_ARCH: aarch64-linux-android
+    FC_BUILD_NO_INSTALL: 1
+    FC_BUILD_DISABLED: nls
+    FC_BUILD_NO_CHECK: 1
+  needs:
+    - 'fedora:rawhide at container-prep'
+
+
+
 t_fedora:41:autotools shared expat:
   extends:
     - .build at template
@@ -648,6 +670,9 @@ t_fedora:41:meson shared libxml2:
 
 
 
+
+
+
 
 
 
@@ -739,6 +764,9 @@ t_fedora:40:meson shared libxml2:
 
 
 
+
+
+
 
 
 
diff --git a/.gitlab-ci/aarch64-linux-android.txt b/.gitlab-ci/aarch64-linux-android.txt
new file mode 100644
index 0000000..94b5d3b
--- /dev/null
+++ b/.gitlab-ci/aarch64-linux-android.txt
@@ -0,0 +1,25 @@
+[constants]
+ndk_path        = '/android/ndk'
+toolchain_path  = ndk_path + '/toolchains/llvm/prebuilt/linux-x86_64/bin'
+toolchain   = toolchain_path + '/aarch64-linux-android'
+api         = '28'
+
+[host_machine]
+system      = 'android'
+cpu_family  = 'aarch64'
+cpu         = 'aarch64'
+endian      = 'little'
+
+[properties]
+sys_root        = ndk_path + '/sysroot'
+
+[binaries]
+c           = toolchain + api + '-clang'
+cpp         = toolchain + api + '-clang++'
+ar          = toolchain_path + '/llvm-ar'
+strip       = toolchain_path + '/llvm-strip'
+c_ld        = toolchain_path + '/ld'
+cpp_ld      = toolchain_path + '/ld'
+
+[built-in options]
+c_args          = ['-Wno-pointer-bool-conversion']
diff --git a/.gitlab-ci/build.sh b/.gitlab-ci/build.sh
index 932b042..55a0722 100755
--- a/.gitlab-ci/build.sh
+++ b/.gitlab-ci/build.sh
@@ -47,6 +47,7 @@ do
 done
 case x"$FC_BUILD_PLATFORM" in
     'xmingw') cross=1 ;;
+    'xandroid') cross=1 ;;
     *) cross=0 ;;
 esac
 
diff --git a/.gitlab-ci/config.yml b/.gitlab-ci/config.yml
index f98bfbe..75a7088 100644
--- a/.gitlab-ci/config.yml
+++ b/.gitlab-ci/config.yml
@@ -1,4 +1,4 @@
-.default_tag: &default_tag "2025-03-10.1"
+.default_tag: &default_tag "2025-03-26.1"
 
 distributions:
   - name: fedora
@@ -27,7 +27,7 @@ distributions:
           FC_BUILD_TYPE: shared
           FC_XML_BACKEND: expat
       - name: "meson shared libxml2"
-        upload: 'rawhide'
+        upload: "rawhide"
         variables:
           FC_BUILDSYS: meson
           FC_BUILD_TYPE: shared
@@ -81,6 +81,17 @@ distributions:
           FC_BUILD_TYPE: static
           FC_XML_BACKEND: libxml2
           FC_BUILD_ENABLED: "fontations"
+      - name: "android aarch64"
+        build_only: "rawhide"
+        variables:
+          FC_BUILDSYS: meson
+          FC_BUILD_TYPE: shared
+          FC_XML_BACKEND: expat
+          FC_BUILD_PLATFORM: android
+          FC_BUILD_ARCH: aarch64-linux-android
+          FC_BUILD_NO_INSTALL: 1
+          FC_BUILD_DISABLED: nls
+          FC_BUILD_NO_CHECK: 1
   - name: freebsd
     tag: *default_tag
     base_type: freebsd
diff --git a/.gitlab-ci/fedora-cross.sh b/.gitlab-ci/fedora-cross.sh
index 27cd003..8265e61 100644
--- a/.gitlab-ci/fedora-cross.sh
+++ b/.gitlab-ci/fedora-cross.sh
@@ -1,3 +1,5 @@
 #! /bin/sh
 
-eval `rpm --eval %{mingw64_env}`
+if [ x"$FC_BUILD_PLATFORM" == "xmingw" ]; then
+    eval `rpm --eval %{mingw64_env}`
+fi
diff --git a/.gitlab-ci/fedora-install.sh b/.gitlab-ci/fedora-install.sh
index 773ebfb..710b02e 100644
--- a/.gitlab-ci/fedora-install.sh
+++ b/.gitlab-ci/fedora-install.sh
@@ -17,3 +17,13 @@ fi
 # workaround to avoid conflict between systemd and systemd-standalone-sysusers
 dnf -y swap systemd-standalone-sysusers systemd
 dnf -y install wine
+
+# Install Android NDK
+dnf -y install unzip
+mkdir /android
+pushd /android
+curl -O https://dl.google.com/android/repository/android-ndk-r28-linux.zip
+unzip android-ndk-r28-linux.zip
+ln -sf android-ndk-r28 ndk
+rm android-ndk-r28-linux.zip
+popd
diff --git a/.gitlab-ci/other.yml b/.gitlab-ci/other.yml
index 9a61518..36d50d7 100644
--- a/.gitlab-ci/other.yml
+++ b/.gitlab-ci/other.yml
@@ -121,48 +121,3 @@ meson msys2:
     - C:\msys64\usr\bin\bash -c "meson build $env:MESON_ARGS &&
       ninja -C build &&
       ninja -C build test"
-
-meson android arm64 fedora:
-  # No container images available. Disabling
-  when: "manual"
-  # See https://gitlab.freedesktop.org/gstreamer/gst-ci/container_registry/164 for current images
-  image: "registry.freedesktop.org/gstreamer/gst-ci/amd64/android-fedora:2020-10-22.0-master"
-  stage: "test"
-  artifacts:
-    name: "${CI_JOB_NAME}_${CI_COMMIT_SHA}"
-    expire_in: "5 days"
-    when: "always"
-    paths:
-      - "build/meson-logs/*.txt"
-  before_script:
-    - dnf install -y python3-pip gcc ninja-build gperf
-    - pip3 install --user meson
-  script:
-    - export PATH="$HOME/.local/bin:$PATH"
-    - |
-      cat > android-cross-file.txt <<EOF
-      [constants]
-      ndk_path    = '/android/ndk'
-      toolchain   = ndk_path + '/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android'
-      api         = '28'
-
-      [host_machine]
-      system      = 'android'
-      cpu_family  = 'aarch64'
-      cpu         = 'aarch64'
-      endian      = 'little'
-
-      [properties]
-      sys_root        = ndk_path + '/sysroot'
-      c_args          = ['-Wno-pointer-bool-conversion']
-      c_link_args     = ['-fuse-ld=gold']
-      cpp_link_args   = ['-fuse-ld=gold']
-
-      [binaries]
-      c           = toolchain + api + '-clang'
-      cpp         = toolchain + api + '-clang++'
-      ar          = toolchain + '-ar'
-      strip       = toolchain + '-strip'
-      EOF
-    - meson setup --werror -Dxml-backend=expat -Diconv=enabled --cross-file android-cross-file.txt build
-    - meson compile --verbose -C build


More information about the Fontconfig mailing list