From 646136a32ab768b2199a9d7c8ecb82cd881a4f4f Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 3 May 2018 07:25:20 +0200 Subject: [PATCH] fribidi: Update to 1.0.2; port to meson (#3684) should be API/ABI compatible afaics --- .../0001-Missing-files-in-the-tarball.patch | 44 ++++++++++++ ...cialcase-export-symbols-for-OS_WIN32.patch | 49 ------------- .../0003-fix-eols-in-tests-on.mingw.patch | 10 --- mingw-w64-fribidi/PKGBUILD | 72 +++++++++++++------ 4 files changed, 93 insertions(+), 82 deletions(-) create mode 100644 mingw-w64-fribidi/0001-Missing-files-in-the-tarball.patch delete mode 100644 mingw-w64-fribidi/0001-No-need-to-specialcase-export-symbols-for-OS_WIN32.patch delete mode 100644 mingw-w64-fribidi/0003-fix-eols-in-tests-on.mingw.patch diff --git a/mingw-w64-fribidi/0001-Missing-files-in-the-tarball.patch b/mingw-w64-fribidi/0001-Missing-files-in-the-tarball.patch new file mode 100644 index 0000000000..c539d90c8a --- /dev/null +++ b/mingw-w64-fribidi/0001-Missing-files-in-the-tarball.patch @@ -0,0 +1,44 @@ +From 8a290973bb871bba546b7436a3fbcf3d223d2261 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Wed, 2 May 2018 21:33:37 +0200 +Subject: [PATCH] Missing files in the tarball. + +See https://github.com/fribidi/fribidi/issues/76 +--- + test/test_CapRTL_isolate.input | 8 ++++++++ + test/test_CapRTL_isolate.reference | 8 ++++++++ + 2 files changed, 16 insertions(+) + create mode 100644 test/test_CapRTL_isolate.input + create mode 100644 test/test_CapRTL_isolate.reference + +diff --git a/test/test_CapRTL_isolate.input b/test/test_CapRTL_isolate.input +new file mode 100644 +index 0000000..3845185 +--- /dev/null ++++ b/test/test_CapRTL_isolate.input +@@ -0,0 +1,8 @@ ++_yBEAR_I:how is LION? ++_ibear_I:how is LION? ++_fBEAR_I:how is LION? ++_fbear_I:how is LION? ++_yBEAR_I:HOW IS lion? ++_ibear_I:HOW IS lion? ++_fBEAR_I:HOW IS lion? ++_fbear_I:HOW IS lion? +diff --git a/test/test_CapRTL_isolate.reference b/test/test_CapRTL_isolate.reference +new file mode 100644 +index 0000000..c2fc6c3 +--- /dev/null ++++ b/test/test_CapRTL_isolate.reference +@@ -0,0 +1,8 @@ ++_yBEAR_I:how is LION? => RAEB:how is NOIL? ++_ibear_I:how is LION? => bear:how is NOIL? ++_fBEAR_I:how is LION? => RAEB:how is NOIL? ++_fbear_I:how is LION? => bear:how is NOIL? ++_yBEAR_I:HOW IS lion? => ?lion SI WOH:RAEB ++_ibear_I:HOW IS lion? => ?lion SI WOH:bear ++_fBEAR_I:HOW IS lion? => ?lion SI WOH:RAEB ++_fbear_I:HOW IS lion? => ?lion SI WOH:bear +-- +2.17.0 + diff --git a/mingw-w64-fribidi/0001-No-need-to-specialcase-export-symbols-for-OS_WIN32.patch b/mingw-w64-fribidi/0001-No-need-to-specialcase-export-symbols-for-OS_WIN32.patch deleted file mode 100644 index 71225e541b..0000000000 --- a/mingw-w64-fribidi/0001-No-need-to-specialcase-export-symbols-for-OS_WIN32.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -urN fribidi-0.19.7.orig/lib/Makefile.am fribidi-0.19.7/lib/Makefile.am ---- fribidi-0.19.7.orig/lib/Makefile.am 2013-01-02 07:35:46.000000000 +1100 -+++ fribidi-0.19.7/lib/Makefile.am 2015-08-06 16:38:22.122583500 +1000 -@@ -8,11 +8,7 @@ - libfribidi_la_LIBADD = $(MISC_LIBS) - libfribidi_la_DEPENDENCIES = - --if OS_WIN32 --libfribidi_la_LDFLAGS += -export-symbols $(srcdir)/fribidi.def --else - libfribidi_la_LDFLAGS += -export-symbols-regex "^fribidi_.*" --endif # OS_WIN32 - - if FRIBIDI_CHARSETS - -diff -urN fribidi-0.19.7.orig/lib/Makefile.in fribidi-0.19.7/lib/Makefile.in ---- fribidi-0.19.7.orig/lib/Makefile.in 2015-08-05 00:15:26.000000000 +1000 -+++ fribidi-0.19.7/lib/Makefile.in 2015-08-06 16:40:34.707583500 +1000 -@@ -89,11 +89,9 @@ - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --@OS_WIN32_TRUE@am__append_1 = -export-symbols $(srcdir)/fribidi.def --@OS_WIN32_FALSE@am__append_2 = -export-symbols-regex "^fribidi_.*" --@FRIBIDI_CHARSETS_TRUE@am__append_3 = -I$(top_srcdir)/charset --@FRIBIDI_CHARSETS_TRUE@am__append_4 = $(top_builddir)/charset/libfribidi-char-sets.la --@FRIBIDI_CHARSETS_TRUE@am__append_5 = $(top_builddir)/charset/libfribidi-char-sets.la -+@FRIBIDI_CHARSETS_TRUE@am__append_1 = -I$(top_srcdir)/charset -+@FRIBIDI_CHARSETS_TRUE@am__append_2 = $(top_builddir)/charset/libfribidi-char-sets.la -+@FRIBIDI_CHARSETS_TRUE@am__append_3 = $(top_builddir)/charset/libfribidi-char-sets.la - subdir = lib - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ -@@ -353,11 +351,11 @@ - top_srcdir = @top_srcdir@ - EXTRA_DIST = fribidi.def - lib_LTLIBRARIES = libfribidi.la --AM_CPPFLAGS = $(MISC_CFLAGS) $(am__append_3) -+AM_CPPFLAGS = $(MISC_CFLAGS) $(am__append_1) - libfribidi_la_LDFLAGS = -no-undefined -version-info $(LT_VERSION_INFO) \ -- $(am__append_1) $(am__append_2) --libfribidi_la_LIBADD = $(MISC_LIBS) $(am__append_4) --libfribidi_la_DEPENDENCIES = $(am__append_5) -+ -export-symbols-regex "^fribidi_.*" -+libfribidi_la_LIBADD = $(MISC_LIBS) $(am__append_2) -+libfribidi_la_DEPENDENCIES = $(am__append_3) - libfribidi_la_headers = \ - fribidi-arabic.h \ - fribidi-begindecls.h \ diff --git a/mingw-w64-fribidi/0003-fix-eols-in-tests-on.mingw.patch b/mingw-w64-fribidi/0003-fix-eols-in-tests-on.mingw.patch deleted file mode 100644 index a98db8870e..0000000000 --- a/mingw-w64-fribidi/0003-fix-eols-in-tests-on.mingw.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- fribidi-0.19.2/test/run.tests.orig 2012-04-14 10:58:27 +0400 -+++ fribidi-0.19.2/test/run.tests 2012-04-14 10:58:31 +0400 -@@ -56,6 +56,7 @@ - - reference="${testcase%.input}.reference"; - test -f "$reference" || reference="tests/${reference##*/}" -+ dos2unix "$test.output" - if diff -U 0 "$test.output" "$reference"; then - rm "$test.output" - echo " [Passed]" diff --git a/mingw-w64-fribidi/PKGBUILD b/mingw-w64-fribidi/PKGBUILD index 60611e2246..461c4b0ac9 100644 --- a/mingw-w64-fribidi/PKGBUILD +++ b/mingw-w64-fribidi/PKGBUILD @@ -3,42 +3,68 @@ _realname=fribidi pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.19.7 -pkgrel=2 +pkgver=1.0.2 +pkgrel=1 pkgdesc="A Free Implementation of the Unicode Bidirectional Algorithm (mingw-w64)" arch=('any') license=('LGPL') url="https://fribidi.org/" -depends=("${MINGW_PACKAGE_PREFIX}-glib2") +depends=() options=('strip' '!libtool' 'staticlibs') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") -source=("https://github.com/fribidi/fribidi/releases/download/${pkgver}/${_realname}-${pkgver}.tar.bz2" - "0001-No-need-to-specialcase-export-symbols-for-OS_WIN32.patch" - "0003-fix-eols-in-tests-on.mingw.patch") -sha256sums=('08222a6212bbc2276a2d55c3bf370109ae4a35b689acbc66571ad2a670595a8e' - '85eedcd4870140ebc419ad35c4e22214be8a96490c2af9c41738a505a0857724' - '51b6729ea94b3dd3a8f8418733a39cde7a17888de6a407905509d8c968eff6cd') +makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-meson") +source=("https://github.com/fribidi/fribidi/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.bz2" + "0001-Missing-files-in-the-tarball.patch") +sha256sums=('bd6d1b530c4f6066f42461200ed6a31f2db8db208570ea4ccaab2b935e88832b' + '427fcb04d2c4c00616ae6fce05bd600127be34a3bcf0bbbe6954ea08b638dd82') prepare() { cd ${srcdir}/${_realname}-${pkgver} - patch -p1 -i ${srcdir}/0001-No-need-to-specialcase-export-symbols-for-OS_WIN32.patch - patch -p1 -i ${srcdir}/0003-fix-eols-in-tests-on.mingw.patch + + patch -p1 -i ${srcdir}/0001-Missing-files-in-the-tarball.patch } build() { - [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" - mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST} - ../${_realname}-${pkgver}/configure \ - --prefix=${MINGW_PREFIX} \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --enable-static \ - --with-glib + mkdir -p build-${MINGW_CHOST}-static + cd build-${MINGW_CHOST}-static - make + meson \ + --buildtype plain \ + --prefix=${MINGW_PREFIX} \ + -Ddocs=false \ + --default-library static \ + ../${_realname}-${pkgver} + + ninja + + cd .. + mkdir -p build-${MINGW_CHOST}-shared + cd build-${MINGW_CHOST}-shared + + meson \ + --buildtype plain \ + --prefix=${MINGW_PREFIX} \ + -Ddocs=false \ + --default-library shared \ + ../${_realname}-${pkgver} + + ninja +} + +check() { + cd build-${MINGW_CHOST}-shared + + meson test } package() { - cd ${srcdir}/build-${MINGW_CHOST} - make DESTDIR="${pkgdir}" install + cd ${srcdir}/build-${MINGW_CHOST}-static + DESTDIR=${pkgdir}${MINGW_PREFIX} ninja install + + cd ${srcdir}/build-${MINGW_CHOST}-shared + DESTDIR=${pkgdir}${MINGW_PREFIX} ninja install + + sed -s "s|$(cygpath -m ${MINGW_PREFIX})|${MINGW_PREFIX}|g" -i "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/${_realname}.pc" + + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" }