From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:38559) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gvS3D-0001ak-Ad for guix-patches@gnu.org; Sun, 17 Feb 2019 14:24:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gvS34-0007u4-Sh for guix-patches@gnu.org; Sun, 17 Feb 2019 14:24:27 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:52394) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gvS2w-0007n4-VK for guix-patches@gnu.org; Sun, 17 Feb 2019 14:24:15 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gvS2w-00078l-QX for guix-patches@gnu.org; Sun, 17 Feb 2019 14:24:14 -0500 Subject: [bug#34514] [PATCH 27/34] gnu: ruby-listen: Enable running the tests. Resent-Message-ID: From: Christopher Baines Date: Sun, 17 Feb 2019 19:23:07 +0000 Message-Id: <20190217192314.5666-27-mail@cbaines.net> In-Reply-To: <20190217192314.5666-1-mail@cbaines.net> References: <87sgwm44a9.fsf@cbaines.net> <20190217192314.5666-1-mail@cbaines.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 34514@debbugs.gnu.org * gnu/packages/ruby.scm (ruby-listen)[source]: Switch to the Git repository, as this includes the tests. [arguments]: Set #:test-target and tweak the Rakefile to avoid requiring Rubocop unnecessarily. [native-inputs]: Add bundler and ruby-rspec for running the test suite. [inputs]: Add ruby-thor, as this is used for bin/listen. [propagated-inputs]: Add ruby-dep, as this is listed as a runtime dependency in the gemspec. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0323f89a1c..0c5fe2896b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4346,16 +4346,39 @@ a native C extension.") (version "3.1.5") (source (origin - (method url-fetch) - (uri (rubygems-uri "listen" version)) + ;; The gem does not include a Rakefile, so fetch from the Git + ;; repository. + (method git-fetch) + (uri (git-reference + (url "https://github.com/guard/listen.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx")))) + "1hqmkfa9f2xb5jlvqbafdxjd5ax75jm8gqj5nh3k22xq0kacsvgg")))) (build-system ruby-build-system) - (arguments '(#:tests? #f)) ; no tests + (arguments + `(#:test-target "spec" + #:phases + (modify-phases %standard-phases + (add-before 'check 'remove-unnecessary-dependencies' + (lambda _ + (substitute* "Rakefile" + ;; Rubocop is for code linting, and is unnecessary for running + ;; the tests. + ((".*rubocop.*") "")) + #t))))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (inputs + `(;; ruby-thor is used for the command line interface, and is referenced + ;; in the wrapper, and therefore just needs to be an input. + ("ruby-thor" ,ruby-thor))) (propagated-inputs - `(("ruby-rb-inotify" ,ruby-rb-inotify) - ("ruby-rb-fsevent" ,ruby-rb-fsevent))) + `(("ruby-rb-fsevent" ,ruby-rb-fsevent) + ("ruby-rb-inotify" ,ruby-rb-inotify) + ("ruby-dep" ,ruby-dep))) (synopsis "Listen to file modifications") (description "The Listen gem listens to file modifications and notifies you about the changes.") -- 2.20.1