Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jan 2025 13:21:23 GMT
From:      Olivier Certner <olce@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 0009322d2223 - main - devel/libkiwix: Update 13.1.0 =?utf-8?Q?=E2=86=92?= 14.0.0 again
Message-ID:  <202501101321.50ADLNUe063544@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by olce:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0009322d2223e315dfde0563a367c694cae92d91

commit 0009322d2223e315dfde0563a367c694cae92d91
Author:     Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2025-01-08 15:36:02 +0000
Commit:     Olivier Certner <olce@FreeBSD.org>
CommitDate: 2025-01-10 13:19:35 +0000

    devel/libkiwix: Update 13.1.0 → 14.0.0 again
    
    Now that devel/libkiwix13 has been created and www/kiwix-tools changed
    to depend on it, fixing the latter's build and avoiding a bump of
    PORTEPOCH here, we can reapply the update.
    
    This commit is different than the initial update's one, as local patches
    here match what was upstreamed in the meantime (see
    https://github.com/kiwix/libkiwix/pull/1173).
    
    Selected list of changes:
    - Support of IPv6
    - Better public IP configuration/detection
    - Fix API errors in catalog searches if Xapian keyword in used
    - Improve welcome page download buttons
    - Better handling of external (non-HTTP) links
    - Fix book illustration size on welcome page to 48x48 pixels
    - Remove "Multiple Languages" in language filter
    - Stop transforming tags casing
    - ZIM file size consistently advertised in MiB
    - Add accesskeys
    - Add OpenSearch to head of pages
    
    See also:
    https://github.com/kiwix/libkiwix/releases/tag/14.0.0
    
    This is a maintainer update (olce.freebsd.ports@certner.fr).
    
    PR:             282559
    Reported by:    wenheping2000@hotmail.com
    Reviewed by:    jrm
    Fixes:          dafb538b3fd6 ("devel/libkiwix: Update to 14.0.0")
    MFH:            2025Q1
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D48397
---
 devel/libkiwix/Makefile                            |  2 +-
 devel/libkiwix/distinfo                            |  6 +--
 devel/libkiwix/files/patch-meson.build             | 46 +++++++++++++++++++---
 .../files/patch-src_tools_networkTools.cpp         | 13 ++++++
 devel/libkiwix/pkg-plist                           |  3 +-
 5 files changed, 60 insertions(+), 10 deletions(-)

diff --git a/devel/libkiwix/Makefile b/devel/libkiwix/Makefile
index c962752a54c8..b842c0fc406f 100644
--- a/devel/libkiwix/Makefile
+++ b/devel/libkiwix/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	libkiwix
-DISTVERSION=	13.1.0
+DISTVERSION=	14.0.0
 CATEGORIES=	devel
 
 MAINTAINER=	olce.freebsd.ports@certner.fr
diff --git a/devel/libkiwix/distinfo b/devel/libkiwix/distinfo
index 7a1264477c3c..38996a83e9f7 100644
--- a/devel/libkiwix/distinfo
+++ b/devel/libkiwix/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1716196790
-SHA256 (kiwix-libkiwix-13.1.0_GH0.tar.gz) = 04d93f66b939f937df2c941af517966128d4c9872b707f9ed192177fe51364d3
-SIZE (kiwix-libkiwix-13.1.0_GH0.tar.gz) = 1136812
+TIMESTAMP = 1736502491
+SHA256 (kiwix-libkiwix-14.0.0_GH0.tar.gz) = dae329ebc08ff510daa50b42de71366bf063813e29bf1c09cc49335d90f32094
+SIZE (kiwix-libkiwix-14.0.0_GH0.tar.gz) = 1149884
 SHA256 (kainjow-Mustache-v4.1_GH0.tar.gz) = acd66359feb4318b421f9574cfc5a511133a77d916d0b13c7caa3783c0bfe167
 SIZE (kainjow-Mustache-v4.1_GH0.tar.gz) = 98905
diff --git a/devel/libkiwix/files/patch-meson.build b/devel/libkiwix/files/patch-meson.build
index eb9c07cc45fe..d8e45a01b520 100644
--- a/devel/libkiwix/files/patch-meson.build
+++ b/devel/libkiwix/files/patch-meson.build
@@ -1,16 +1,52 @@
---- meson.build.orig	2023-09-09 03:15:43 UTC
+Has been upstreamed via https://github.com/kiwix/libkiwix/pull/1173 and will be
+included in next release (14.1.0), so remove this patch at next update.
+
+--- meson.build.orig	2024-10-09 17:18:52 UTC
 +++ meson.build
-@@ -7,12 +7,7 @@ compiler = meson.get_compiler('cpp')
+@@ -4,14 +4,40 @@ compiler = meson.get_compiler('cpp')
+   default_options : ['c_std=c11', 'cpp_std=c++17', 'werror=true'])
  
+ compiler = meson.get_compiler('cpp')
+-
  static_deps = get_option('static-linkage') or get_option('default_library') == 'static'
++extra_libs = []
  
 -# See https://github.com/kiwix/libkiwix/issues/371
 -if ['arm', 'mips', 'm68k', 'ppc', 'sh4'].contains(host_machine.cpu_family())
 -  extra_libs = ['-latomic']
 -else
 -  extra_libs = []
--endif
-+extra_libs = []
++# Atomics as compiled by GCC or clang can lead to external references to
++# functions depending on the type size and the platform. LLVM provides them in
++# 'libcompiler_rt', which clang normally automatically links in, while GNU
++# provides them in 'libatomic', which GCC *does not* link in automatically (but
++# this is probably going to change, see
++# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358). Regardless of the setup
++# of the compiler driver itself (GCC or clang), we can thus assume that if some
++# atomic references can't be resolved, then 'libatomic' is missing.
++atomics_program = '''
++#include <atomic>
++#include <cstdint>
++
++using namespace std;
++
++int main() {
++  volatile atomic_bool a_b = true;
++  volatile atomic_ullong a_ull = -1;
++  // Next two lines are to cover atomic<socket_t> from 'httplib.h'.
++  volatile atomic<uint32_t> a_u32 = -1;
++  volatile atomic<uint64_t> a_u64 = -1;
++
++  return atomic_load(&a_b) == false && atomic_load(&a_ull) == 0 &&
++    atomic_load(&a_u32) == 0 && atomic_load(&a_u64) == 0;
++}
++'''
++if not compiler.links(atomics_program,
++                      name: 'compiler driver readily supports atomics')
++  libatomic = compiler.find_library('atomic')
++  compiler.links(atomics_program, name: 'atomics work with libatomic',
++                 dependencies: libatomic, required: true)
++  extra_libs += ['-latomic']
+ endif
  
  if (compiler.get_id() == 'gcc' and build_machine.system() == 'linux') or host_machine.system() == 'freebsd'
-   # C++ std::thread is implemented using pthread on linux by gcc
diff --git a/devel/libkiwix/files/patch-src_tools_networkTools.cpp b/devel/libkiwix/files/patch-src_tools_networkTools.cpp
new file mode 100644
index 000000000000..6439ba836743
--- /dev/null
+++ b/devel/libkiwix/files/patch-src_tools_networkTools.cpp
@@ -0,0 +1,13 @@
+Has been upstreamed via https://github.com/kiwix/libkiwix/pull/1173 and will be
+included in next release (14.1.0), so remove this patch at next update.
+
+--- src/tools/networkTools.cpp.orig	2024-10-09 17:18:52 UTC
++++ src/tools/networkTools.cpp
+@@ -42,6 +42,7 @@
+ #include <arpa/inet.h>
+ #include <ifaddrs.h>
+ #include <sys/socket.h>
++#include <netinet/in.h>
+ #include <net/if.h>
+ #include <netdb.h>
+ #endif
diff --git a/devel/libkiwix/pkg-plist b/devel/libkiwix/pkg-plist
index 7b2d35d0d068..8164ce90e062 100644
--- a/devel/libkiwix/pkg-plist
+++ b/devel/libkiwix/pkg-plist
@@ -4,6 +4,7 @@ include/kiwix/book.h
 include/kiwix/bookmark.h
 include/kiwix/common.h
 include/kiwix/downloader.h
+include/kiwix/i18n.h
 include/kiwix/kiwix_config.h
 include/kiwix/kiwixserve.h
 include/kiwix/library.h
@@ -16,6 +17,6 @@ include/kiwix/version.h
 lib/libkiwix.so
 lib/libkiwix.so.%%PORTMAJ%%
 lib/libkiwix.so.%%PORTVERSION%%
-libdata/pkgconfig/kiwix.pc
+libdata/pkgconfig/libkiwix.pc
 share/man/man1/kiwix-compile-i18n.1.gz
 share/man/man1/kiwix-compile-resources.1.gz



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501101321.50ADLNUe063544>