[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
19/23: gnu: Add ruby-sassc.
From: |
guix-commits |
Subject: |
19/23: gnu: Add ruby-sassc. |
Date: |
Mon, 4 Mar 2019 15:33:37 -0500 (EST) |
cbaines pushed a commit to branch master
in repository guix.
commit 9efc888d97afef7ed921aede7cc8a9275faeaf9e
Author: Christopher Baines <address@hidden>
Date: Sun Feb 17 17:16:49 2019 +0000
gnu: Add ruby-sassc.
* gnu/packages/ruby.scm (ruby-sassc): New variable.
---
gnu/packages/ruby.scm | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 3adacfe..b3c1980 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7415,6 +7415,81 @@ 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.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "sassc" version))
+ (sha256
+ (base32
+ "1sr4825rlwsrl7xrsm0sgalcpf5zgp4i56dbi3qxfa9lhs8r6zh4"))))
+ (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'")))
+ #t))
+ ;; 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 address@hidden, Foreign Function Interface}
+bindings to the libsass library. This enables rendering
address@hidden,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")
- 14/23: gnu: Add ruby-omniauth-oauth2., (continued)
- 14/23: gnu: Add ruby-omniauth-oauth2., guix-commits, 2019/03/04
- 15/23: gnu: Add ruby-test-construct., guix-commits, 2019/03/04
- 09/23: gnu: Add ruby-oauth2., guix-commits, 2019/03/04
- 13/23: gnu: Add ruby-with-advisory-lock., guix-commits, 2019/03/04
- 16/23: gnu: Add ruby-minitest-around., guix-commits, 2019/03/04
- 22/23: gnu: Add ruby-haml., guix-commits, 2019/03/04
- 20/23: gnu: Add ruby-markaby., guix-commits, 2019/03/04
- 23/23: gnu: Add ruby-tilt., guix-commits, 2019/03/04
- 17/23: gnu: Add libsass., guix-commits, 2019/03/04
- 18/23: gnu: sassc: Update and improve the package., guix-commits, 2019/03/04
- 19/23: gnu: Add ruby-sassc.,
guix-commits <=
- 21/23: gnu: Add ruby-temple., guix-commits, 2019/03/04