summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/messaging.scm44
-rw-r--r--gnu/packages/patches/biboumi-cmake-ignore-git.patch45
3 files changed, 90 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 188b471f6c..6934d5ccc7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -990,6 +990,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/bazaar-CVE-2017-14176.patch		\
   %D%/packages/patches/bc-fix-cross-compilation.patch		\
   %D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch		\
+  %D%/packages/patches/biboumi-cmake-ignore-git.patch		\
   %D%/packages/patches/brightnessctl-elogind-support.patch	\
   %D%/packages/patches/bsd-games-2.17-64bit.patch		\
   %D%/packages/patches/bsd-games-add-configure-config.patch	\
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 022f216934..e14536b957 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -41,6 +41,7 @@
 ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
 ;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
 ;;; Copyright © 2024 Carlo Zancanaro <carlo@zancanaro.id.au>
+;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -163,6 +164,49 @@
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define-public biboumi
+  (package
+   (name "biboumi")
+   (version "9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://git.louiz.org/biboumi/snapshot/biboumi-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32 "1jvygri165aknmvlinx3jb8cclny6cxdykjf8dp0a3l3228rmzqy"))
+              ;; see https://sources.debian.org/patches/biboumi/9.0-5/2001_cmake_ignore_git.patch/
+              (patches (search-patches "biboumi-cmake-ignore-git.patch"))))
+   (arguments
+    ;; Tests seem to partially depend on networking as well as
+    ;; louiz/Catch which we remove as a dependency via the patch above as
+    ;; the repository seems dead. Deactivating those for now, possibly fix
+    ;; some of them later.
+    `(#:tests? #f
+      #:configure-flags '("-DWITHOUT_SYSTEMD=1")
+      #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-cmake-substitutions
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "CMakeLists.txt"
+               (("/etc") (string-append (assoc-ref outputs "out") "/etc"))))))))
+   (build-system cmake-build-system)
+   (inputs (list botan
+                 expat
+                 libiconv
+                 libidn
+                 openssl
+                 postgresql ;; libpq
+                 sqlite
+                 ;; TODO: package optional dependency: udns
+                 (list util-linux "lib") ;; libuuid
+                 pkg-config))
+   (home-page "https://biboumi.louiz.org")
+   (synopsis "Biboumi is a XMPP gateway that connects to IRC")
+   (description "Biboumi is a Free, Libre and Open Source XMPP gateway that connects to IRC
+servers and translates between the two protocols. Its goal is to let XMPP
+users take part in IRC discussions, using their favourite XMPP client.")
+   (license license:zlib)))
+
 (define-public omemo-wget
   (package
     (name "omemo-wget")
diff --git a/gnu/packages/patches/biboumi-cmake-ignore-git.patch b/gnu/packages/patches/biboumi-cmake-ignore-git.patch
new file mode 100644
index 0000000000..cf9aa6c82d
--- /dev/null
+++ b/gnu/packages/patches/biboumi-cmake-ignore-git.patch
@@ -0,0 +1,45 @@
+Description: Avoid cmake messing with git
+Author: Jonas Smedegaard <dr@jones.dk>
+Last-Update: 2016-12-21
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -288,27 +288,6 @@
+ endforeach()
+ 
+ #
+-## Add a rule to download the catch unit test framework
+-#
+-include(ExternalProject)
+-ExternalProject_Add(catch
+-  GIT_REPOSITORY "https://lab.louiz.org/louiz/Catch.git"
+-  PREFIX "external"
+-  UPDATE_COMMAND ""
+-  CONFIGURE_COMMAND ""
+-  BUILD_COMMAND ""
+-  INSTALL_COMMAND ""
+-  )
+-set_target_properties(catch PROPERTIES EXCLUDE_FROM_ALL TRUE)
+-ExternalProject_Get_Property(catch SOURCE_DIR)
+-if(NOT EXISTS ${CMAKE_SOURCE_DIR}/tests/catch.hpp)
+-  target_include_directories(test_suite
+-    PUBLIC "${SOURCE_DIR}/single_include/"
+-    )
+-  add_dependencies(test_suite catch)
+-endif()
+-
+-#
+ ## Add some custom rules to launch the tests
+ #
+ add_custom_target(check COMMAND "test_suite"
+@@ -371,8 +350,7 @@
+   WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+   )
+ add_custom_target(dist
+-  DEPENDS ${ARCHIVE_NAME}.tar.xz
+-  DEPENDS catch)
++  DEPENDS ${ARCHIVE_NAME}.tar.xz)
+ 
+ add_custom_target(rpm
+   DEPENDS dist