gnu: Add go-github-com-bep-golibsass.

* gnu/packages/golang.scm: (go-github-com-bep-golibsass): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Ryan Prior 2020-10-12 03:50:26 +00:00 committed by Ludovic Courtès
parent 719b9541ae
commit ba17af84c8
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

@ -58,6 +58,7 @@
#:use-module (gnu packages mp3)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@ -5874,3 +5875,61 @@ additions.")
"Package quicktest provides a collection of Go helpers for writing
tests.")
(license license:expat)))
(define-public go-github-com-bep-golibsass
(package
(name "go-github-com-bep-golibsass")
(version "0.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bep/golibsass")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "libsass_src")
#t))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/bep/golibsass/libsass"
#:unpack-path "github.com/bep/golibsass"
;; The dev build tag modifies the build to link to system libsass
;; instead of including the bundled one (which we remove.)
;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
#:build-flags '("-tags" "dev")
#:phases
(modify-phases %standard-phases
(add-before 'build 'generate-bindings
;; Generate bindings for system libsass, replacing the
;; pre-generated bindings.
(lambda* (#:key inputs unpack-path #:allow-other-keys)
(mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
(let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
(substitute* (string-append "src/" unpack-path "/gen/main.go")
(("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
(string-append "\"" libsass-src "\""))
(("../../libsass_src/src/")
libsass-src)))
(invoke "go" "generate" (string-append unpack-path "/gen"))
#t))
(replace 'check
(lambda* (#:key tests? import-path #:allow-other-keys)
(if tests?
(invoke "go" "test" import-path "-tags" "dev"))
#t)))))
(propagated-inputs
`(("libsass" ,libsass)))
(native-inputs
`(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
("libsass-src" ,(package-source libsass))))
(home-page "https://github.com/bep/golibsass")
(synopsis "Easy to use Go bindings for LibSass")
(description
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))