From patchwork Sun Feb 17 19:22:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christopher Baines X-Patchwork-Id: 1132 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 3A5F616C4B; Sun, 17 Feb 2019 19:25:41 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,UNPARSEABLE_RELAY, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id BF69916BFF for ; Sun, 17 Feb 2019 19:25:40 +0000 (GMT) Received: from localhost ([127.0.0.1]:45658 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gvS4K-0002Qf-9E for patchwork@mira.cbaines.net; Sun, 17 Feb 2019 14:25:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38389) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gvS30-0001G7-HW for guix-patches@gnu.org; Sun, 17 Feb 2019 14:24:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gvS2t-0007j4-Bs for guix-patches@gnu.org; Sun, 17 Feb 2019 14:24:15 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:52383) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gvS2r-0007gA-RW for guix-patches@gnu.org; Sun, 17 Feb 2019 14:24:11 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gvS2r-00077U-MI for guix-patches@gnu.org; Sun, 17 Feb 2019 14:24:09 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#34514] [PATCH 18/34] gnu: Add ruby-sassc. Resent-From: Christopher Baines Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 17 Feb 2019 19:24:09 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34514 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 34514@debbugs.gnu.org Received: via spool by 34514-submit@debbugs.gnu.org id=B34514.155043141127084 (code B ref 34514); Sun, 17 Feb 2019 19:24:09 +0000 Received: (at 34514) by debbugs.gnu.org; 17 Feb 2019 19:23:31 +0000 Received: from localhost ([127.0.0.1]:51615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gvS2E-00072g-P5 for submit@debbugs.gnu.org; Sun, 17 Feb 2019 14:23:31 -0500 Received: from li622-129.members.linode.com ([212.71.249.129]:47228 helo=mira.cbaines.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gvS21-0006yE-96 for 34514@debbugs.gnu.org; Sun, 17 Feb 2019 14:23:19 -0500 Received: from localhost (130.85.159.143.dyn.plus.net [143.159.85.130]) by mira.cbaines.net (Postfix) with ESMTPSA id C1DA916C62 for <34514@debbugs.gnu.org>; Sun, 17 Feb 2019 19:23:15 +0000 (GMT) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id e75803d5 for <34514@debbugs.gnu.org>; Sun, 17 Feb 2019 19:23:14 +0000 (UTC) From: Christopher Baines Date: Sun, 17 Feb 2019 19:22:58 +0000 Message-Id: <20190217192314.5666-18-mail@cbaines.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190217192314.5666-1-mail@cbaines.net> References: <87sgwm44a9.fsf@cbaines.net> <20190217192314.5666-1-mail@cbaines.net> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * gnu/packages/ruby.scm (ruby-sassc): New variable. --- gnu/packages/ruby.scm | 74 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index dbfd601d31..ab17c20d62 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7340,6 +7340,80 @@ the @file{spec} directory.") features that don't exist yet like variables, nesting, mixins and inheritance.") (license license:expat))) +(define-public ruby-sassc + (package + (name "ruby-sassc") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "sassc" version)) + (sha256 + (base32 + "0xw8wyr27108x4gbidvb71ngxvn00h6c11xsrxby4c6h92zs06dn")))) + (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; TODO: This would be better as a snippet, but the ruby-build-system + ;; doesn't seem to support that + (add-after 'unpack 'remove-libsass + (lambda _ + (delete-file-recursively "ext") + #t)) + (add-after 'unpack 'dont-check-the-libsass-version + (lambda _ + (substitute* "test/native_test.rb" + (("assert_equal.*Native\\.version") "")) + #t)) + (add-after 'unpack 'remove-git-from-gemspec + (lambda _ + (substitute* "sassc.gemspec" + (("`git ls-files -z`") "`find . -type f -print0 |sort -z`") + (("`git submodule --quiet foreach pwd`") "''")) + #t)) + (add-after 'unpack 'remove-extensions-from-gemspec + (lambda _ + (substitute* "sassc.gemspec" + (("\\[\"ext/Rakefile\"\\]") "[]")) + #t)) + (add-after 'unpack 'fix-Rakefile + (lambda _ + (substitute* "Rakefile" + (("test: 'libsass:compile'") ":test")) + #t)) + (add-after 'unpack 'remove-unnecessary-dependencies + (lambda _ + (substitute* "test/test_helper.rb" + (("require \"pry\"") "")) + #t)) + (add-before 'build 'patch-native.rb + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "lib/sassc/native.rb" + ((".*gem_root = spec.gem_dir") "") + (("ffi_lib .*\n") + (string-append + "ffi_lib '" (assoc-ref inputs "libsass") "/lib/libsass.so'"))))) + ;; The gemspec still references the libsass files, so just keep the + ;; one in the gem. + (delete 'extract-gemspec)))) + (propagated-inputs + `(("ruby-ffi" ,ruby-ffi) + ("ruby-rake" ,ruby-rake))) + (inputs + `(("libsass" ,libsass))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-minitest-around" ,ruby-minitest-around) + ("ruby-test-construct" ,ruby-test-construct))) + (synopsis "Use libsss from Ruby") + (description + "This library provides Ruby q@acronym{FFI, Foreign Function Interface} +bindings to the libsass library. This enables rendering +@acronym{SASS,Syntactically awesome style sheets} from Ruby code.") + (home-page "https://github.com/sass/sassc-ruby") + (license license:expat))) + (define-public ruby-jekyll-sass-converter (package (name "ruby-jekyll-sass-converter")