Subject: [PATCH v3 3/5] gnu: Add rtosc.

From: Sughosha <[email-masked]>
Date: Thu, 04 May 2023 08:37:21 +0000

* gnu/packages/audio.scm (rtosc): New variable.
* gnu/packages/patches/rtosc-0.3.1-fix-invalid-comparision-operator.patch: New file.
* gnu/local.mk: Register the patch file.
---
 gnu/local.mk                                  |  1 +
 gnu/packages/audio.scm                        | 45 +++++++++++++++++++
 ....3.1-fix-invalid-comparison-operator.patch | 14 ++++++
 3 files changed, 60 insertions(+)
 create mode 100644 gnu/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 68a02d10b5..aa50fc0465 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1842,6 +1842,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ripperx-missing-file.patch		\
   %D%/packages/patches/rpcbind-CVE-2017-8779.patch		\
   %D%/packages/patches/rtags-separate-rct.patch			\
+  %D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch	\
   %D%/packages/patches/racket-chez-scheme-bin-sh.patch		\
   %D%/packages/patches/racket-rktio-bin-sh.patch		\
   %D%/packages/patches/racket-zuo-bin-sh.patch			\
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 109133ba8e..236fc84077 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -2806,6 +2806,51 @@ (define-public liblo
 implementation of the Open Sound Control (@dfn{OSC}) protocol.")
     (license license:lgpl2.1+)))
 
+(define-public rtosc
+  (package
+    (name "rtosc")
+    (version "0.3.1")
+    (source (origin
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/fundamental/rtosc")
+                   (commit (string-append "v" version))))
+             (file-name (git-file-name name version))
+             (sha256
+              (base32
+               "1djvyq53cjwd0szkvhpk45zcmdgrlirjwr02nqq9hzdmh0n26pk2"))
+             (patches
+              (search-patches
+                "rtosc-0.3.1-fix-invalid-comparison-operator.patch"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:configure-flags
+           #~(list "-DPERF_TEST=ON"
+                   "-DRTOSC_BUILD_SHARED_LIBS=ON")
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'build 'build-documentation
+                 (lambda _
+                   (invoke "make" "rtosc-doc")))
+               (add-after 'install 'install-documentation
+                 (lambda _
+                     (copy-recursively "html"
+                      (string-append #$output:doc
+                       "/share/doc/rtosc/html")))))))
+    (native-inputs
+     (list doxygen pkg-config ruby))
+    (inputs
+     (list jack-1
+           liblo
+           libx11
+           mesa))
+    (outputs (list "out" "doc"))
+    (home-page "https://fundamental-code.com/wiki/rtosc/")
+    (synopsis "Realtime Safe OSC packet serialization and dispatch")
+    (description
+     "RtOsc is a realtime safe library for handling OSC messages.")
+    (license license:expat)))
+
 (define-public rtaudio
   (package
     (name "rtaudio")
diff --git a/gnu/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch b/gnu/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch
new file mode 100644
index 0000000000..925e39e9a1
--- /dev/null
+++ b/gnu/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch
@@ -0,0 +1,14 @@
+This patch fixes the unknown version comparison operator
+
+diff --git a/librtosc-cpp.pc.cmake b/librtosc-cpp.pc.cmake
+index 0d8fda2..edbcb3a 100644
+--- a/librtosc-cpp.pc.cmake
++++ b/librtosc-cpp.pc.cmake
+@@ -9,6 +9,6 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+ Name: rtosc_cpp
+ Description: rtosc_cpp - a realtime safe open sound control serialization and dispatch system for C++
+ Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@
+-Requires: librtosc == @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@
++Requires: librtosc = @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@
+ Libs: -L${libdir} -lrtosc -lrtosc-cpp
+ Cflags: -I${includedir}
-- 
2.39.2