Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F108587132
D48395.id149000.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D48395.id149000.diff
View Options
diff --git a/devel/Makefile b/devel/Makefile
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1346,6 +1346,7 @@
SUBDIR += libjodycode
SUBDIR += libk8055
SUBDIR += libkiwix
+ SUBDIR += libkiwix13
SUBDIR += libklel
SUBDIR += liblangtag
SUBDIR += liblnk
diff --git a/devel/libkiwix/Makefile b/devel/libkiwix/Makefile
--- a/devel/libkiwix/Makefile
+++ b/devel/libkiwix/Makefile
@@ -27,6 +27,8 @@
kainjow:Mustache:v4.1:mustache
USE_LDCONFIG= yes
+CONFLICTS_INSTALL= libkiwix13
+
SHEBANG_FILES= scripts/format_code.sh
SHEBANG_REGEX= ./scripts/kiwix.*[^.].
diff --git a/devel/libkiwix/Makefile b/devel/libkiwix13/Makefile
copy from devel/libkiwix/Makefile
copy to devel/libkiwix13/Makefile
--- a/devel/libkiwix/Makefile
+++ b/devel/libkiwix13/Makefile
@@ -1,9 +1,10 @@
PORTNAME= libkiwix
DISTVERSION= 13.1.0
CATEGORIES= devel
+PKGNAMESUFFIX= 13
MAINTAINER= olce.freebsd.ports@certner.fr
-COMMENT= Common code base for all Kiwix ports
+COMMENT= Common code base for all Kiwix ports, version 13
WWW= https://www.kiwix.org/
LICENSE= GPLv3+
@@ -27,6 +28,8 @@
kainjow:Mustache:v4.1:mustache
USE_LDCONFIG= yes
+CONFLICTS_INSTALL= libkiwix
+
SHEBANG_FILES= scripts/format_code.sh
SHEBANG_REGEX= ./scripts/kiwix.*[^.].
diff --git a/devel/libkiwix13/distinfo b/devel/libkiwix13/distinfo
new file mode 100644
--- /dev/null
+++ b/devel/libkiwix13/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1716196790
+SHA256 (kiwix-libkiwix-13.1.0_GH0.tar.gz) = 04d93f66b939f937df2c941af517966128d4c9872b707f9ed192177fe51364d3
+SIZE (kiwix-libkiwix-13.1.0_GH0.tar.gz) = 1136812
+SHA256 (kainjow-Mustache-v4.1_GH0.tar.gz) = acd66359feb4318b421f9574cfc5a511133a77d916d0b13c7caa3783c0bfe167
+SIZE (kainjow-Mustache-v4.1_GH0.tar.gz) = 98905
diff --git a/devel/libkiwix13/files/patch-meson.build b/devel/libkiwix13/files/patch-meson.build
new file mode 100644
--- /dev/null
+++ b/devel/libkiwix13/files/patch-meson.build
@@ -0,0 +1,52 @@
+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
+@@ -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 = []
++# 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'
diff --git a/devel/libkiwix13/pkg-descr b/devel/libkiwix13/pkg-descr
new file mode 100644
--- /dev/null
+++ b/devel/libkiwix13/pkg-descr
@@ -0,0 +1,7 @@
+Kiwix is an offline reader for web content archived in ZIM format. It is
+particularly tailored towards Wikipedia and other wikis.
+
+The Kiwix library contains the code shared by Kiwix ports on all supported
+platforms.
+
+This is version 13, which is required by kiwix-tools 3.7.
diff --git a/devel/libkiwix13/pkg-plist b/devel/libkiwix13/pkg-plist
new file mode 100644
--- /dev/null
+++ b/devel/libkiwix13/pkg-plist
@@ -0,0 +1,21 @@
+bin/kiwix-compile-i18n
+bin/kiwix-compile-resources
+include/kiwix/book.h
+include/kiwix/bookmark.h
+include/kiwix/common.h
+include/kiwix/downloader.h
+include/kiwix/kiwix_config.h
+include/kiwix/kiwixserve.h
+include/kiwix/library.h
+include/kiwix/manager.h
+include/kiwix/name_mapper.h
+include/kiwix/search_renderer.h
+include/kiwix/server.h
+include/kiwix/tools.h
+include/kiwix/version.h
+lib/libkiwix.so
+lib/libkiwix.so.%%PORTMAJ%%
+lib/libkiwix.so.%%PORTVERSION%%
+libdata/pkgconfig/kiwix.pc
+share/man/man1/kiwix-compile-i18n.1.gz
+share/man/man1/kiwix-compile-resources.1.gz
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Jan 27, 4:27 PM (6 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16200849
Default Alt Text
D48395.id149000.diff (5 KB)
Attached To
Mode
D48395: devel/libkiwix13: New port for libkiwix 13
Attached
Detach File
Event Timeline
Log In to Comment