From 6a5fb9bf195acfd07b6142ab122050ea691584a1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 2 Mar 2023 13:09:25 -0500 Subject: gnu: Add ruby-hiredis. * gnu/packages/databases.scm (ruby-hiredis): New variable. * gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/packages/databases.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) (limited to 'gnu/packages/databases.scm') diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index e51ddd5bf2..a4560d40e3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2017 Kristofer Buffington ;;; Copyright © 2018 Amirouche Boubekki ;;; Copyright © 2018 Joshua Sierles, Nextjournal -;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer +;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2019 Jack Hill ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Gábor Boskovits @@ -2520,6 +2520,66 @@ protocol is supported.") (home-page "https://github.com/redis/hiredis") (license license:bsd-3))) +(define-public ruby-hiredis + (package + (name "ruby-hiredis") + (version "0.6.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/redis/hiredis-rb") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05y4g7frhym59m9x208zpvg2qvqvfjlgqmygxj8sqgl07n0ww1ks")) + (patches (search-patches + "ruby-hiredis-use-system-hiredis.patch")))) + (build-system ruby-build-system) + (arguments + (list + #:tests? #f ;require native extension + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-hiredis-include-directory + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ext/hiredis_ext/extconf.rb" + ;; Adjust the hiredis include directory. + (("\\$CFLAGS << \" -I/usr/include/hiredis\"") + (format #f "$CFLAGS << \" -I~a\"" + (search-input-directory inputs "include/hiredis")))))) + (add-after 'unpack 'disable-building-c-extension + (lambda _ + ;; FIXME: The produced native extension appears to segfault when + ;; run; disable building it until a solution is found (see: + ;; https://github.com/redis/hiredis-rb/issues/93). + (substitute* "ext/hiredis_ext/extconf.rb" + (("build_hiredis = true") + "build_hiredis = false")))) + ;; FIXME: Un-comment phase after the extension can be made to run + ;; without crashing (see above). + ;; (add-after 'build 'build-ext + ;; (lambda _ + ;; (setenv "CC" #$(cc-for-target)) + ;; (invoke "rake" "compile"))) + (add-before 'check 'start-redis + (lambda _ + (invoke "redis-server" "--daemonize" "yes"))) + (add-after 'install 'delete-mkmf.log + (lambda _ + ;; This build log captures non-deterministic file names (see: + ;; https://github.com/rubygems/rubygems/issues/6259). + (for-each delete-file (find-files #$output "^mkmf\\.log$"))))))) + (native-inputs (list redis ruby-rake-compiler)) + (inputs (list hiredis)) + (synopsis "Ruby wrapper for hiredis") + (description "@code{hiredis-rb} is a Ruby extension that wraps +@code{hiredis}, a minimalist C client for Redis. Both the synchronous +connection API and a separate protocol reader are supported. It is primarily +intended to speed up parsing multi bulk replies.") + (home-page "https://github.com/redis/hiredis-rb") + (license license:bsd-3))) + (define-public ruby-redis (package (name "ruby-redis") -- cgit v1.2.3 erico Beffa 2014-11-04gnu: Use version-major+minor in gnome and gtk....Eric Bavier 2014-11-02gnu: libart-lgpl: Update to 2.3.21....Andreas Enge 2014-10-26gnu: Some cleanup based on lint checkers....Eric Bavier 2014-10-20gnu: Add 'version-prefix' and 'version-major+minor'; use them....Ian Denhardt 2014-09-23Use #:prefix instead of #:renamer with 'symbol-prefix-proc'....Mark H Weaver 2014-09-13gnu: Adjust synopses as recommended by 'guix lint'....Ludovic Courtès 2014-07-26gnu: gnumeric: Adapt to glib "bin" split....Mark H Weaver 2014-07-26gnu: goffice: Adapt to glib "bin" split....Mark H Weaver 2014-07-25gnu: libpeas: Adjust to glib "bin" split....Mark H Weaver 2014-07-16gnu: Enable gnome-doc-utils tests...John Darrington 2014-07-14gnu: Synchronize synopses and descriptions with the Womb....Ludovic Courtès 2014-07-13Merge branch 'bug-17853'Ludovic Courtès 2014-07-02gnu: libbonobo: Skip failing test case....Eric Bavier 2014-07-02gnu: gnome: Version splitting and line wrapping....Eric Bavier 2014-07-02gnu: Adjust yet more packages to GLib "bin" split....Eric Bavier 2014-07-02gnu: Adjust more packages to GLib "bin" split....Ludovic Courtès 2014-06-30gnu: glib: Add "bin" output....Ludovic Courtès 2014-06-30gnu: Add goffice and gnumeric...John Darrington 2014-06-27gnu: Consolidate libjpeg, libpng, and libtiff into one module....David Thompson 2014-05-29gnu: libgnome: Correct source file name....Andreas Enge 2014-05-28gnu: Make gtk-glext depend on pangox-compat and remove workaround patch...John Darrington 2014-05-26gnu: Add gsegrafix and dependent libraries....John Darrington 2014-05-06gnu: Make $XDG_DATA_DIRS a search path variable for GLib....Ludovic Courtès 2014-05-06gnu: gobject-introspection is usually meant to be a native input....Ludovic Courtès 2014-05-06gnu: Add librsvg....Ludovic Courtès 2014-05-06gnu: Add libgsf....Ludovic Courtès 2014-05-06gnu: Add libcroco....Ludovic Courtès 2014-02-06gnu: Add Glade....John Darrington 2013-12-30gnu: mesa: Move out of xorg.scm and into gl.scm...John Darrington 2013-12-29gnu: gnome: Add new package gtkglext...John Darrington 2013-12-16gnu: Add gnome-desktop....Cyril Roelandt 2013-12-15gnu: Add libpeas....Cyril Roelandt 2013-12-15gnu: Move numerous "inputs" which should be "native-inputs"....John Darrington 2013-10-17gnu: evince: Set search path for MIME info....Ludovic Courtès 2013-10-17gnu: Add shared-mime-info....Ludovic Courtès 2013-10-13gnu: Add libgnome-keyring and Evince....Ludovic Courtès 2013-10-03gnu: gnome: Add brasero....Andreas Enge 2013-10-02gnu: Add hicolor-icon-theme....Andreas Enge 2013-10-02gnu: gnome: Add gnome-icon-theme....Andreas Enge 2013-10-02gnu: Add icon-naming-utils....Andreas Enge 2013-10-02gnu: gnome: Add gsettings-desktop-schemas....Andreas Enge 2013-10-02gnu: gnome: Add libnotify....Andreas Enge 2013-09-22gnu: Add gnome-doc-utils....Andreas Enge