fribidi: Update to 1.0.2; port to meson (#3684)

should be API/ABI compatible afaics
This commit is contained in:
Christoph Reiter
2018-05-03 07:25:20 +02:00
committed by Алексей
parent f1eba2b29f
commit 646136a32a
4 changed files with 93 additions and 82 deletions

View File

@@ -0,0 +1,44 @@
From 8a290973bb871bba546b7436a3fbcf3d223d2261 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
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

View File

@@ -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 \

View File

@@ -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]"

View File

@@ -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"
}