Subject: Re: [bug#34514] [PATCH 05/34] gnu: Add ruby-rbnacl.

From: Christopher Baines <[email-masked]>
Date: Tue, 19 Feb 2019 22:20:16 +0000

Ricardo Wurmus <[email-masked]> writes:

> Christopher Baines <[email-masked]> writes:
>
>> * gnu/packages/ruby.scm (ruby-rbnacl): New variable.
> […]
>> +         (add-after 'unpack 'remove-unnecessary-dependencies
>> +           (lambda _
>> +             ;; Coveralls relates to a network service, and Rubocop to code
>> +             ;; linting and both are unnecessary to run the tests
>> +             (substitute* "Gemfile"
>> +               ((".*rubocop.*") "\n")
>> +               ((".*guard-rspec.*") "\n")
>> +               ((".*coveralls.*") "\n"))
>> +             (substitute* "spec/spec_helper.rb"
>> +               (("require \"coveralls\"") "")
>> +               (("Coveralls.wear!") ""))))
>
> Please end this phase with #T as substitute* has no defined return value.

Ah, yes, I've tweaked the patch.

>> +         (add-after 'unpack 'use-libsodium-from-store
>> +           (lambda* (#:key inputs #:allow-other-keys)
>> +             (substitute* '("lib/rbnacl/init.rb"
>> +                            "lib/rbnacl/sodium.rb")
>> +               (("\"sodium\", \"libsodium\\.so\\.18\", \"libsodium\\.so\\.23\"")
>> +                (string-append "\""
>> +                               (assoc-ref inputs "libsodium") "/lib/libsodium.so"
>> +                               "\"")))))
>
> Same here.
>
> This regexp looks brittle.  Can we do without the “18” and “23”?

Sure, I've replaced it by "ffi_lib \\[.+\\]". That should do the trick
without being specific about the filenames.