diff --git a/dev-libs/yaz/patches/yaz-5.34.0.patchset b/dev-libs/yaz/patches/yaz-5.34.0.patchset new file mode 100644 index 000000000..194f9f33f --- /dev/null +++ b/dev-libs/yaz/patches/yaz-5.34.0.patchset @@ -0,0 +1,187 @@ +From 2ea7588c18ef673137062804b1ecb50e32748ae9 Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Tue, 21 Nov 2023 23:39:48 +0900 +Subject: FIX: fix build error with libxml2 2.12.0 + +libxml2 2.12.0 changed which header file to define functions +and header inclusion. Due to this refactoring, some yaz source +files need additional inclusion of libxml2 header file, +especially for libxml/parser.h . + +Closes #102 . + +diff --git a/client/client.c b/client/client.c +index 34e6a77..369564a 100644 +--- a/client/client.c ++++ b/client/client.c +@@ -73,6 +73,10 @@ + #include + #endif + ++#if YAZ_HAVE_XML2 ++#include ++#endif ++ + + #include "admin.h" + #include "tabcomplete.h" +diff --git a/src/record_render.c b/src/record_render.c +index 82fa698..654aca4 100644 +--- a/src/record_render.c ++++ b/src/record_render.c +@@ -23,6 +23,7 @@ + #include + + #if YAZ_HAVE_XML2 ++#include + #include + #include + #endif +diff --git a/test/test_ccl.c b/test/test_ccl.c +index bb3e932..b970870 100644 +--- a/test/test_ccl.c ++++ b/test/test_ccl.c +@@ -11,6 +11,9 @@ + #include + #include + ++#if YAZ_HAVE_XML2 ++#include ++#endif + + static int tst_ccl_query(CCL_bibset bibset, + const char *query, +diff --git a/test/test_icu.c b/test/test_icu.c +index 18e2866..309621a 100644 +--- a/test/test_icu.c ++++ b/test/test_icu.c +@@ -28,6 +28,7 @@ + #endif + + #if YAZ_HAVE_XML2 ++#include + #include + #endif + +diff --git a/test/test_xml_include.c b/test/test_xml_include.c +index aec8308..ff1f1a1 100644 +--- a/test/test_xml_include.c ++++ b/test/test_xml_include.c +@@ -12,6 +12,9 @@ + + #include + #include ++#if YAZ_HAVE_XML2 ++#include ++#endif + + static void tst_xml_include1(void) + { +diff --git a/util/cclsh.c b/util/cclsh.c +index 419fcb7..c40061c 100644 +--- a/util/cclsh.c ++++ b/util/cclsh.c +@@ -20,6 +20,9 @@ + #include + #endif + ++#if YAZ_HAVE_XML2 ++#include ++#endif + + static int debug = 0; + static char *prog; +diff --git a/util/yaz-icu.c b/util/yaz-icu.c +index 3087e13..767cb20 100644 +--- a/util/yaz-icu.c ++++ b/util/yaz-icu.c +@@ -17,6 +17,8 @@ + + #if YAZ_HAVE_ICU + ++#include ++ + #include + #include + #include +diff --git a/util/yaz-record-conv.c b/util/yaz-record-conv.c +index 75be066..b386e2a 100644 +--- a/util/yaz-record-conv.c ++++ b/util/yaz-record-conv.c +@@ -13,6 +13,10 @@ + #include + #include + ++#if YAZ_HAVE_XML2 ++#include ++#endif ++ + const char *prog = "yaz-record-conv"; + + static void usage(void) +-- +2.42.1 + + +From 5e57b3aa8a468e3cc8ff56795a8448021d1f3f8a Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Tue, 21 Nov 2023 23:47:18 +0900 +Subject: FIX: fix build error with glibc 2.39 + +glibc 2.39 does some refactoring for header file inclusion +and some additional header inclusion is needed for yaz +source. + +Closes #104 . + +diff --git a/src/record_conv.c b/src/record_conv.c +index 6ec066f..6daaa9a 100644 +--- a/src/record_conv.c ++++ b/src/record_conv.c +@@ -11,6 +11,7 @@ + #include + #endif + ++#include + #include + #include + #include +diff --git a/src/xmlquery.c b/src/xmlquery.c +index 543be2a..dc2bfd3 100644 +--- a/src/xmlquery.c ++++ b/src/xmlquery.c +@@ -10,6 +10,7 @@ + #endif + + #include ++#include + #include + #include + +diff --git a/test/test_record_conv.c b/test/test_record_conv.c +index bb417a5..7fdca22 100644 +--- a/test/test_record_conv.c ++++ b/test/test_record_conv.c +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/test/test_retrieval.c b/test/test_retrieval.c +index 25711af..6065c5c 100644 +--- a/test/test_retrieval.c ++++ b/test/test_retrieval.c +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.42.1 + diff --git a/dev-libs/yaz/yaz-5.34.0.recipe b/dev-libs/yaz/yaz-5.34.0.recipe new file mode 100644 index 000000000..09fed0f95 --- /dev/null +++ b/dev-libs/yaz/yaz-5.34.0.recipe @@ -0,0 +1,189 @@ +SUMMARY="C/C++ toolkit for Z39.50v3 clients and servers" +DESCRIPTION="YAZ is a C/C++ library for information retrieval applications using the Z39.50/SRU/\ +Solr protocols for information retrieval. + +Properties of YAZ: +* Complete Z39.50 version 3 support. Amendments and Z39.50-2002 revision is supported. +* Supports SRU GET/POST/SOAP version 1.1, 1.2 and 2.0 (over HTTP and HTTPS). +* Includes BER encoders/decoders for the ISO ILL protocol. +* Supports Apache Solr Web Service version 1.4.x (client side only) +* Supports the following transports: BER over TCP/IP (RFC1729), BER over Unix local socket, and \ +HTTP 1.1. +* Secure Socket Layer support using GnuTLS. If enabled, YAZ uses HTTPS transport (for SOAP) or \ +'Secure BER' (for Z39.50). +* Offers ZOOM C API implementing Z39.50, SRU and Solr Web Service. +* The YAZ library offers a set of useful utilities related to the protocols, such as MARC \ +(ISO2709) parser, CCL (ISO8777) parser, CQL parser, memory management routines, character set \ +conversion. +* Portable code. YAZ compiles out-of-the box on most Unixes and on Windows using Microsoft Visual \ +C++. +* Fast operation. The C based BER encoders/decoders as well as the server component of YAZ is \ +very fast. +* Liberal license that allows for commercial use of YAZ." +HOMEPAGE="http://www.indexdata.com/yaz" +COPYRIGHT="1995-2023 Index Data" +LICENSE="BSD (3-clause)" +REVISION="1" +SOURCE_URI="https://download.indexdata.com/pub/yaz/yaz-$portVersion.tar.gz" +CHECKSUM_SHA256="bcbea894599a13342910003401c17576f0fb910092aecb51cb54065d0cd2d613" +PATCHES="yaz-$portVersion.patchset" + +ARCHITECTURES="all x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +commandSuffix=$secondaryArchSuffix +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandSuffix= + commandBinDir=$prefix/bin +fi + +libVersion="5.0.0" +libVersionCompat="$libVersion compat >= ${libVersion%.*}" + +PROVIDES=" + yaz$secondaryArchSuffix = $portVersion + cmd:yaz_client$commandSuffix + lib:libyaz_icu$secondaryArchSuffix = $libVersionCompat + lib:libyaz_server$secondaryArchSuffix = $libVersionCompat + lib:libyaz$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libexslt$secondaryArchSuffix + lib:libgnutls$secondaryArchSuffix + lib:libhiredis$secondaryArchSuffix + lib:libhistory$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + lib:libicudata$secondaryArchSuffix + lib:libicui18n$secondaryArchSuffix + lib:libicuuc$secondaryArchSuffix + lib:libncurses$secondaryArchSuffix + lib:libreadline$secondaryArchSuffix + lib:libxml2$secondaryArchSuffix + lib:libxslt$secondaryArchSuffix + " + +PROVIDES_devel=" + yaz${secondaryArchSuffix}_devel = $portVersion + cmd:yaz_config$commandSuffix + devel:libyaz_icu$secondaryArchSuffix = $libVersionCompat + devel:libyaz_server$secondaryArchSuffix = $libVersionCompat + devel:libyaz$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + yaz$secondaryArchSuffix == $portVersion base + devel:libxml2$secondaryArchSuffix + devel:libxslt$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " + +PROVIDES_tools=" + yaz${secondaryArchSuffix}_tools = $portVersion + cmd:yaz_asncomp$commandSuffix + cmd:yaz_iconv$commandSuffix + cmd:yaz_icu$commandSuffix + cmd:yaz_illclient$commandSuffix + cmd:yaz_json_parse$commandSuffix + cmd:yaz_marcdump$commandSuffix + cmd:yaz_record_conv$commandSuffix + cmd:yaz_url$commandSuffix + cmd:yaz_ztest$commandSuffix + cmd:zoomsh$commandSuffix + " +REQUIRES_tools=" + yaz$secondaryArchSuffix == $portVersion + $REQUIRES + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libgnutls$secondaryArchSuffix + devel:libhiredis$secondaryArchSuffix + devel:libiconv$secondaryArchSuffix + devel:libicui18n$secondaryArchSuffix >= 74 + devel:libncurses$secondaryArchSuffix + devel:libreadline$secondaryArchSuffix + devel:libtclstub8.6$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libxslt$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:awk + cmd:bison + cmd:autoreconf + cmd:gcc$secondaryArchSuffix + cmd:libtoolize$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:xsltproc + " + +defineDebugInfoPackage yaz$secondaryArchSuffix \ + $libDir/libyaz_icu.so.$libVersion \ + $libDir/libyaz_server.so.$libVersion \ + $libDir/libyaz.so.$libVersion + +PATCH() +{ + # Hardcoded assumption of libraries residing in lib/, + sed -i -e "s|/lib\"|/$libDir\"|" configure.ac +} + +BUILD() +{ + export LDFLAGS="-lnetwork" + autoreconf -fi + runConfigure --omit-dirs "binDir" ./configure \ + --bindir=$commandBinDir \ + --with-gnutls \ + --disable-static + make $jobArgs +} + +INSTALL() +{ + make install + + # remove libtool files + rm -f $libDir/*.la + + prepareInstalledDevelLibs \ + libyaz_icu \ + libyaz_server \ + libyaz + fixPkgconfig + + packageEntries devel \ + $developDir \ + $commandBinDir/yaz-config \ + $manDir/man1/yaz-config.1 \ + $dataDir/doc + + packageEntries tools \ + $commandBinDir/yaz-asncomp \ + $commandBinDir/yaz-iconv \ + $commandBinDir/yaz-icu \ + $commandBinDir/yaz-illclient \ + $commandBinDir/yaz-json-parse \ + $commandBinDir/yaz-marcdump \ + $commandBinDir/yaz-record-conv \ + $commandBinDir/yaz-url \ + $commandBinDir/yaz-ztest \ + $commandBinDir/zoomsh \ + $manDir/man8 \ + $manDir/man1/yaz-asncomp.1 \ + $manDir/man1/yaz-iconv.1 \ + $manDir/man1/yaz-icu.1 \ + $manDir/man1/yaz-illclient.1 \ + $manDir/man1/yaz-json-parse.1 \ + $manDir/man1/yaz-marcdump.1 \ + $manDir/man1/yaz-record-conv.1 \ + $manDir/man1/yaz-url.1 \ + $manDir/man1/zoomsh.1 +} + +TEST() +{ + make check +}