diff --git a/dev-libs/fribidi/fribidi-1.0.5.recipe b/dev-libs/fribidi/fribidi-1.0.5.recipe new file mode 100644 index 000000000..62ca299bf --- /dev/null +++ b/dev-libs/fribidi/fribidi-1.0.5.recipe @@ -0,0 +1,95 @@ +SUMMARY="A free implementation of the unicode bidirectional algorithm" +DESCRIPTION="This is GNU FriBidi. The Free Implementation of the Unicode \ +Bidirectional Algorithm. One of the missing links stopping the penetration \ +of free software in Middle East is the lack of support for the Arabic and \ +Hebrew alphabets. In order to have proper Arabic and Hebrew support, the \ +BiDi algorithm should have been implemented. It is our hope that this \ +library will stimulate more free software in the Middle Eastern countries." +HOMEPAGE="https://github.com/fribidi/fribidi" +COPYRIGHT="2004-2018 Sharif FarsiWeb, Inc + 2001-2018 Behdad Esfahbod + 1999-2018 Dov Grobgeld" +LICENSE="GNU LGPL v2.1" +REVISION="1" +SOURCE_URI="https://github.com/fribidi/fribidi/releases/download/v$portVersion/fribidi-$portVersion.tar.bz2" +CHECKSUM_SHA256="6a64f2a687f5c4f203a46fa659f43dd43d1f8b845df8d723107e8a7e6158e4ce" +if [ "$effectiveTargetArchitecture" = x86_gcc2 ]; then + PATCHES="fribidi-$portVersion.patchset" +fi + +ARCHITECTURES="x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86_gcc2 x86" + +libVersion="0.4.0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + fribidi$secondaryArchSuffix = $portVersion + cmd:fribidi$secondaryArchSuffix = $portVersion + lib:libfribidi$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + " + +PROVIDES_devel=" + fribidi${secondaryArchSuffix}_devel = $portVersion + devel:libfribidi$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + fribidi$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + " +BUILD_PREREQUIRES=" + cmd:aclocal + cmd:autoconf + cmd:autoheader + cmd:automake + cmd:autoreconf + cmd:awk + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:libtoolize$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +defineDebugInfoPackage fribidi$secondaryArchSuffix \ + $libDir/libfribidi.so.$libVersion + +BUILD() +{ + autoreconf -vfi + runConfigure ./configure + make $jobArgs +} + +INSTALL() +{ + make install + + rm $libDir/libfribidi.la + + prepareInstalledDevelLibs libfribidi + fixPkgconfig + + if [ -z "$secondaryArchSuffix" ]; then + maybe_manDir="$manDir" + else + rm -rf "$manDir" + maybe_manDir= + fi + + # devel package + packageEntries devel \ + "$developDir" \ + ${maybe_manDir:+"$maybe_manDir"} +} + +TEST() +{ + make check +} diff --git a/dev-libs/fribidi/patches/fribidi-1.0.5.patchset b/dev-libs/fribidi/patches/fribidi-1.0.5.patchset new file mode 100644 index 000000000..56a67a5dc --- /dev/null +++ b/dev-libs/fribidi/patches/fribidi-1.0.5.patchset @@ -0,0 +1,51 @@ +From 1292c4a49b40e9c9399d0f8309edec89030ff8c9 Mon Sep 17 00:00:00 2001 +From: begasus +Date: Tue, 11 Sep 2018 14:07:50 +0200 +Subject: gcc2 fixes for the tests + + +diff --git a/test/unicode-conformance/BidiCharacterTest.c b/test/unicode-conformance/BidiCharacterTest.c +index cf3f676..462e63b 100644 +--- a/test/unicode-conformance/BidiCharacterTest.c ++++ b/test/unicode-conformance/BidiCharacterTest.c +@@ -263,6 +263,7 @@ main (int argc, char **argv) + FriBidiStrIndex *ltor = NULL; + int ltor_len; + int debug = FALSE; ++ int len; + + if (argc < 2) + { +@@ -290,7 +291,7 @@ main (int argc, char **argv) + + while (!feof(channel)) { + fgets(line, LINE_SIZE, channel); +- int len = strlen(line); ++ len = strlen(line); + if (len == LINE_SIZE-1) + die("LINE_SIZE=%d too small at line %d!\n", LINE_SIZE, line_no); + +diff --git a/test/unicode-conformance/BidiTest.c b/test/unicode-conformance/BidiTest.c +index 5f931f1..26c895a 100644 +--- a/test/unicode-conformance/BidiTest.c ++++ b/test/unicode-conformance/BidiTest.c +@@ -271,6 +271,7 @@ main (int argc, char **argv) + int debug = FALSE; + const char *filename; + int next_arg; ++ int len; + + if (argc < 2) + die ("usage: %s [--debug] test-file-name\n", argv[0]); +@@ -289,7 +290,7 @@ main (int argc, char **argv) + + while (!feof(channel)) { + fgets(line, LINE_SIZE, channel); +- int len = strlen(line); ++ len = strlen(line); + if (len == LINE_SIZE-1) + die("LINE_SIZE too small at line %d!\n", line_no); + +-- +2.16.4 +