guix_mirror_bot pushed a commit to branch ruby-team
in repository guix.

commit e8633b1c1658fe4c17012b59aaeec0b4c8d07fab
Author: Aaron Covrig <[email protected]>
AuthorDate: Sat Jan 10 01:52:37 2026 -0500

    gnu: Add ruby-unicode-emoji.
    
    * gnu/packages/ruby-xyz.scm (ruby-unicode-emoji): New variable.
    
    Change-Id: Ia07e49d5d1e66cc2605426a03a2eff0ff9a17bee
    Signed-off-by: Steve George <[email protected]>
---
 gnu/packages/ruby-xyz.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/ruby-xyz.scm b/gnu/packages/ruby-xyz.scm
index 5e9ff7e362..a56e9aa14f 100644
--- a/gnu/packages/ruby-xyz.scm
+++ b/gnu/packages/ruby-xyz.scm
@@ -107,6 +107,7 @@
   #:use-module (gnu packages virtualization)
   #:use-module (gnu packages web-browsers)
   #:use-module (gnu packages serialization)
+  #:use-module (gnu packages unicode)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages web)
   #:use-module (gnu packages ruby)
@@ -17129,6 +17130,51 @@ instructions to unicode.  If you are in a hurry, it 
also allows for easy
 export/conversion to formats such as YAML, JSON, CSL, and XML (BibTeXML).")
     (license license:gpl3+)))
 
+(define-public ruby-unicode-emoji
+  (package
+    (name "ruby-unicode-emoji")
+    (version "4.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "unicode-emoji" version))
+       (sha256
+        (base32 "03zqn207zypycbz5m9mn7ym763wgpk7hcqbkpx02wrbm1wank7ji"))))
+    (build-system ruby-build-system)
+    (arguments
+     (list
+      #:test-target "spec"
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; The tests normally try to download the sources if they're not
+          ;; present; however, guix also packages some of the unicode test
+          ;; files that we can leverage instead
+          (add-after 'unpack 'use-guix-bundled-unicode-emoji
+            (lambda _
+              (let ((emoji (search-input-directory %build-inputs
+                                                   "share/unicode/emoji")))
+                (substitute* "spec/emoji_test_txt_spec.rb"
+                  (("\\_\\_dir\\_\\_\\, \"data/emoji\\-test\\.txt")
+                   (string-append "\"" emoji "/emoji-test.txt"))))
+              ;; Disable failing test (likely fails due to expecting
+              ;; unicode-emoji v17.0 spec, but guix currently providing v12.0)
+              (substitute* "Rakefile"
+                (("sh \"ruby spec.*")
+                 (string-append
+                  "sh \"ruby spec/unicode_emoji_spec.rb -v --show-skips\""
+                  "\n"
+                  ;; Disable tests
+                  "sh \"ruby spec/emoji_test_txt_spec.rb -v --show-skips" " "
+                  "-e '/REGEX_INCLUDE_MQE.*" ;; Regex continues
+                  "(0153|1115|1129|1841|1855|1966|1980|2001|2015)/'\""))))))))
+    (native-inputs (list unicode-emoji))
+    (home-page "https://github.com/janlelis/unicode-emoji";)
+    (synopsis "Provides Unicode Emoji data and regexes")
+    (description
+     "Provides Unicode Emoji data and regexes, incorporating the latest Unicode
+and Emoji standards.  Includes a categorized list of recommended Emoji.")
+    (license license:expat)))
+
 (define-public ruby-unicode-scripts
   (package
     (name "ruby-unicode-scripts")

Reply via email to