diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm index 9aa3fe8233..72f2a7d84c 100644 --- a/gnu/packages/golang-web.scm +++ b/gnu/packages/golang-web.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Martin Becze ;;; Copyright © 2020 Martin Becze ;;; Copyright © 2020 Oleg Pykhalov +;;; Copyright © 2020 Ryan Prior ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2021, 2022 Efraim Flashner ;;; Copyright © 2022 Giacomo Leidi @@ -34,7 +35,8 @@ (define-module (gnu packages golang-web) #:use-module (guix git-download) #:use-module (gnu packages) #:use-module (gnu packages golang) - #:use-module (gnu packages golang-check)) + #:use-module (gnu packages golang-check) + #:use-module (gnu packages web)) ;;; Commentary: ;;; @@ -95,6 +97,63 @@ (define-public go-github-com-aymerick-douceur (description "This package provides a CSS parser and inliner.") (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 + (list 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))) + (define-public go-github-com-chris-ramon-douceur (package (name "go-github-com-chris-ramon-douceur") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 84dead6293..a49df748f7 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -10508,64 +10508,6 @@ (define-public go-github-com-gologme-log additions.") (license license:bsd-3)))) -(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 - (list 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))) - (define-public go-github-com-hashicorp-go-syslog (package (name "go-github-com-hashicorp-go-syslog")