.gitlab-ci.yml | 22 ++++++++++++++++++++++ autogen.sh | 2 +- configure.ac | 2 +- src/fccache.c | 8 +++++--- test/Makefile.am | 7 ++++++- test/run-test.sh | 12 +++++++++--- test/test-d1f48f11.c | 18 ++++++++++++++++++ test/test-issue107.c | 18 ++++++++++++++++++ test/test-issue110.c | 18 ++++++++++++++++++ test/wrapper-script.sh | 13 +++++++++++++ 10 files changed, 111 insertions(+), 9 deletions(-) New commits: commit 809f040bc367763ceaec69568a867bbef2fee926 Author: Akira TAGOH <akira@xxxxxxxxx> Date: Sat Mar 23 07:19:08 2019 +0000 Don't test bind-mount thing for MinGW diff --git a/test/run-test.sh b/test/run-test.sh index 2519846..fdf8d6a 100644 --- a/test/run-test.sh +++ b/test/run-test.sh @@ -181,7 +181,7 @@ if cmp out1 out2 > /dev/null ; then : ; else exit 1 fi -if [ x"$BWRAP" != "x" ]; then +if [ x"$BWRAP" != "x" -a "x$EXEEXT" = "x" ]; then dotest "Basic functionality with the bind-mounted cache dir" prep cp $FONT1 $FONT2 $FONTDIR commit 4cb490b0b9247b95e78470aa35657bc1ba0f457c Author: Akira TAGOH <akira@xxxxxxxxx> Date: Sat Mar 23 07:05:23 2019 +0000 Install wine for CI on MinGW diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c82e93a..0780b2b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ before_script: - dnf -y upgrade --disablerepo=rawhide-modular --nogpgcheck fedora-repos fedora-repos-rawhide - dnf -y upgrade --disablerepo=rawhide-modular - dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken @buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel freetype-devel libuuid-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap - - dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken mingw64-gettext mingw64-freetype mingw64-expat + - dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken mingw64-gettext mingw64-freetype mingw64-expat wine shared-build: stage: build commit 73b300dc7c31dfbb6ec3638fde109033bb9785a4 Author: Akira TAGOH <akira@xxxxxxxxx> Date: Sat Mar 23 06:57:19 2019 +0000 Correct configure option to cross-compile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6646122..c82e93a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -64,7 +64,7 @@ mingw-build: - mkdir "$BUILDDIR" - cd "$BUILDDIR" - eval `rpm --eval %{mingw64_env}` - - ../autogen.sh --prefix="$PREFIX" --disable-shared --enable-static + - ../autogen.sh --prefix="$PREFIX" --host=x86_64-mingw32 --disable-shared --enable-static - make - make check artifacts: commit 33b372e20f6f9fd7d41fbb6dded1c703bae22403 Author: Akira TAGOH <akira@xxxxxxxxx> Date: Sat Mar 23 06:49:32 2019 +0000 Update requirement for gettext diff --git a/configure.ac b/configure.ac index fb8af46..5eaadb8 100644 --- a/configure.ac +++ b/configure.ac @@ -104,7 +104,7 @@ GETTEXT_PACKAGE=$PACKAGE AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package]) -AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_GNU_GETTEXT_VERSION([0.19.7]) AM_GNU_GETTEXT([external]) dnl ========================================================================== commit 92caab9c769488cce3a720b85e38252f3dadd63c Author: Akira TAGOH <akira@xxxxxxxxx> Date: Sat Mar 23 06:27:39 2019 +0000 Fix make distcheck error diff --git a/test/Makefile.am b/test/Makefile.am index cbbaa03..afdf343 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -133,7 +133,7 @@ TESTS += test-d1f48f11 endif endif -EXTRA_DIST=run-test.sh run-test-conf.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names +EXTRA_DIST=run-test.sh run-test-conf.sh $(LOG_COMPILER) $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names CLEANFILES=out out1 out2 fonts.conf out.expected commit 10e13fc748aa75a7ba7d67b1cf3baec47bd9cbc8 Author: Akira TAGOH <akira@xxxxxxxxx> Date: Fri Mar 22 07:58:04 2019 +0000 Add build test for MinGW diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a51273f..6646122 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,6 +7,7 @@ before_script: - dnf -y upgrade --disablerepo=rawhide-modular --nogpgcheck fedora-repos fedora-repos-rawhide - dnf -y upgrade --disablerepo=rawhide-modular - dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken @buildsys-build autoconf automake libtool gettext gettext-devel gperf expat-devel freetype-devel libuuid-devel json-c-devel git docbook-utils docbook-utils-pdf bubblewrap + - dnf -y install --disablerepo=rawhide-modular --allowerasing --skip-broken mingw64-gettext mingw64-freetype mingw64-expat shared-build: stage: build @@ -53,3 +54,24 @@ static-build: - build-*/*.log - build-*/test/*.log - build-*/test/*.trs +mingw-build: + stage: build + script: + - export BUILD_ID="fontconfig-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID" + - export PREFIX="$(pwd)/prefix-$BUILD_ID" + - export BUILDDIR="$(pwd)/build-$BUILD_ID" + - export MAKEFLAGS="-j4" + - mkdir "$BUILDDIR" + - cd "$BUILDDIR" + - eval `rpm --eval %{mingw64_env}` + - ../autogen.sh --prefix="$PREFIX" --disable-shared --enable-static + - make + - make check + artifacts: + name: fontconfig-$CI_COMMIT_SHA-$CI_JOB_ID + when: always + paths: + - build-*/*.log + - build-*/test/*.log + - build-*/test/*.trs + commit f6810ede6010da394f60e8425030901e235d2a77 Author: Akira TAGOH <akira@xxxxxxxxx> Date: Fri Mar 22 07:45:09 2019 +0000 Fix make check on cross-compiled env diff --git a/test/Makefile.am b/test/Makefile.am index 2877a8f..cbbaa03 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -11,6 +11,7 @@ AM_TESTS_ENVIRONMENT= \ BUILT_SOURCES = $(builddir)/out.expected SH_LOG_COMPILER = sh +LOG_COMPILER = ${srcdir}/wrapper-script.sh TESTS=run-test.sh TESTDATA = \ @@ -75,6 +76,7 @@ endif check_PROGRAMS += test-bz106618 test_bz106618_LDADD = $(top_builddir)/src/libfontconfig.la +if !OS_WIN32 check_PROGRAMS += test-hash test_hash_CFLAGS = -I$(top_builddir) -I$(top_builddir)/src $(UUID_CFLAGS) test_hash_LDADD = $(UUID_LIBS) @@ -91,6 +93,7 @@ test_bz106632_CFLAGS = \ $(NULL) test_bz106632_LDADD = $(top_builddir)/src/libfontconfig.la TESTS += test-bz106632 +endif check_PROGRAMS += test-issue107 test_issue107_LDADD = \ @@ -99,6 +102,7 @@ test_issue107_LDADD = \ TESTS += test-issue107 if !ENABLE_SHARED +if !OS_WIN32 check_PROGRAMS += test-issue110 test_issue110_CFLAGS = \ -I$(top_builddir) \ @@ -127,6 +131,7 @@ test_d1f48f11_LDADD = \ $(NULL) TESTS += test-d1f48f11 endif +endif EXTRA_DIST=run-test.sh run-test-conf.sh $(TESTDATA) out.expected-long-family-names out.expected-no-long-family-names diff --git a/test/run-test.sh b/test/run-test.sh index ed41456..2519846 100644 --- a/test/run-test.sh +++ b/test/run-test.sh @@ -31,11 +31,12 @@ BUILDTESTDIR=${builddir-"$MyPWD"} FONTDIR="$MyPWD"/fonts CACHEDIR="$MyPWD"/cache.dir EXPECTED=${EXPECTED-"out.expected"} +LOG_COMPILER=${LOG_COMPILER-"$TESTDIR/wrapper-script.sh"} ECHO=true -FCLIST=../fc-list/fc-list$EXEEXT -FCCACHE=../fc-cache/fc-cache$EXEEXT +FCLIST="$LOG_COMPILER ../fc-list/fc-list$EXEEXT" +FCCACHE="$LOG_COMPILER ../fc-cache/fc-cache$EXEEXT" which bwrap > /dev/null 2>&1 if [ $? -eq 0 ]; then @@ -122,6 +123,7 @@ mkdir $FONTDIR/a cp $FONT2 $FONTDIR/a check +if [ "x$EXEEXT" = "x" ]; then dotest "Re-creating .uuid" prep cp $FONT1 $FONTDIR @@ -164,6 +166,7 @@ if [ $n != 1 ]; then ls $CACHEDIR exit 1 fi +fi dotest "Keep mtime of the font directory" prep @@ -214,6 +217,7 @@ fi rm -rf $TESTTMPDIR out1 out2 xxx flist1 flist2 bind-fonts.conf fi +if [ "x$EXEEXT" = "x" ]; then dotest "sysroot option" prep mkdir -p $MyPWD/sysroot/$FONTDIR @@ -239,6 +243,8 @@ fi rm -rf $MyPWD/sysroot +fi + # dotest "deleting .uuid file on empty dir" # prep # cp $FONT1 $FONT2 $FONTDIR diff --git a/test/test-d1f48f11.c b/test/test-d1f48f11.c index 6c0ecf0..a5ecac9 100644 --- a/test/test-d1f48f11.c +++ b/test/test-d1f48f11.c @@ -45,6 +45,24 @@ # define FC_DIR_SEPARATOR_S "/" #endif +#ifdef _WIN32 +#include <direct.h> +#define mkdir(path,mode) _mkdir(path) + +int +setenv(const char *name, const char *value, int o) +{ + size_t len = strlen(name) + strlen(value) + 1; + char *s = malloc(len+1); + int ret; + + snprintf(s, len, "%s=%s", name, value); + ret = _putenv(s); + free(s); + return ret; +} +#endif + extern FcChar8 *FcConfigRealFilename (FcConfig *, FcChar8 *); extern FcChar8 *FcStrCanonFilename (const FcChar8 *); diff --git a/test/test-issue107.c b/test/test-issue107.c index 7f4bfb0..eeb3d68 100644 --- a/test/test-issue107.c +++ b/test/test-issue107.c @@ -45,6 +45,24 @@ # define FC_DIR_SEPARATOR_S "/" #endif +#ifdef _WIN32 +#include <direct.h> +#define mkdir(path,mode) _mkdir(path) + +int +setenv(const char *name, const char *value, int o) +{ + size_t len = strlen(name) + strlen(value) + 1; + char *s = malloc(len+1); + int ret; + + snprintf(s, len, "%s=%s", name, value); + ret = _putenv(s); + free(s); + return ret; +} +#endif + extern FcChar8 *FcConfigRealFilename (FcConfig *, FcChar8 *); #ifdef HAVE_MKDTEMP diff --git a/test/test-issue110.c b/test/test-issue110.c index 28a3bd2..0ab40e3 100644 --- a/test/test-issue110.c +++ b/test/test-issue110.c @@ -45,6 +45,24 @@ # define FC_DIR_SEPARATOR_S "/" #endif +#ifdef _WIN32 +#include <direct.h> +#define mkdir(path,mode) _mkdir(path) + +int +setenv(const char *name, const char *value, int o) +{ + size_t len = strlen(name) + strlen(value) + 1; + char *s = malloc(len+1); + int ret; + + snprintf(s, len, "%s=%s", name, value); + ret = _putenv(s); + free(s); + return ret; +} +#endif + extern FcChar8 *FcConfigRealFilename (FcConfig *, FcChar8 *); #ifdef HAVE_MKDTEMP diff --git a/test/wrapper-script.sh b/test/wrapper-script.sh new file mode 100755 index 0000000..4138e4b --- /dev/null +++ b/test/wrapper-script.sh @@ -0,0 +1,13 @@ +#! /bin/bash + +case "$1" in + *.exe) + fccwd=`pwd` + cd $(IFS=:;for i in $PATH; do echo $i|grep mingw> /dev/null; [ $? -eq 0 ] && echo $i; done) + /usr/bin/env wine $fccwd/$@ + ;; + *) + $@ + ;; +esac + commit 98099ffc9f1c3fd195075d5d48617ccb73940470 Author: Akira TAGOH <akira@xxxxxxxxx> Date: Fri Mar 22 07:41:32 2019 +0000 Ifdef'ed unnecessary code for Win32 Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/147 diff --git a/src/fccache.c b/src/fccache.c index ac46ee8..03b4f38 100644 --- a/src/fccache.c +++ b/src/fccache.c @@ -51,10 +51,10 @@ FcDirCacheCreateUUID (FcChar8 *dir, FcBool force, FcConfig *config) { - const FcChar8 *sysroot = FcConfigGetSysRoot (config); - FcChar8 *target; FcBool ret = FcTrue; #ifndef _WIN32 + const FcChar8 *sysroot = FcConfigGetSysRoot (config); + FcChar8 *target; FcChar8 *uuidname; if (sysroot) @@ -154,9 +154,10 @@ FcBool FcDirCacheDeleteUUID (const FcChar8 *dir, FcConfig *config) { + FcBool ret = FcTrue; +#ifndef _WIN32 const FcChar8 *sysroot = FcConfigGetSysRoot (config); FcChar8 *target, *d; - FcBool ret = FcTrue; struct stat statb; struct timeval times[2]; @@ -191,6 +192,7 @@ FcDirCacheDeleteUUID (const FcChar8 *dir, FcStrFree (target); bail: FcStrFree (d); +#endif return ret; } commit 8a9435958ac709ca81ef0e517b9242958afcd6b2 Author: Akira TAGOH <akira@xxxxxxxxx> Date: Fri Mar 22 07:40:24 2019 +0000 autogen.sh: Make AUTORECONF_FLAGS overwritable diff --git a/autogen.sh b/autogen.sh index e5537e5..1d31465 100755 --- a/autogen.sh +++ b/autogen.sh @@ -43,7 +43,7 @@ FILE=fontconfig/fontconfig.h LIBTOOLIZE=${LIBTOOLIZE-libtoolize} AUTOPOINT=${AUTOPOINT-autopoint} AUTORECONF=${AUTORECONF-autoreconf} -AUTORECONF_FLAGS="-i" +AUTORECONF_FLAGS=${AUTORECONF_FLAGS-"-i"} GPERF=${GPERF-gperf} GETTEXTIZE=${GETTEXTIZE-gettextize} GETTEXTIZE_FLAGS="--force --no-changelog" _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/fontconfig