gnu: sassc: Update and improve the package.

Now that libsass is packaged, change the sassc package to build a dynamically
linked binary. Also update the version, and change the source to the Git
repository, rather than the archives from GitHub.

* gnu/packages/web.scm (sassc): Update to 3.5.0.
[source]: Change to the Git repository.
[arguments]: Tweak to link against libsass.
This commit is contained in:
Christopher Baines 2019-02-17 17:15:13 +00:00
parent 7fe1be1879
commit 8c15015779
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -1284,56 +1284,53 @@ (define-public libsass
(license l:expat))) (license l:expat)))
(define-public sassc (define-public sassc
;; libsass must be statically linked and it isn't included in the sassc (package
;; release tarballs, hence this odd package recipe. (name "sassc")
(let* ((version "3.4.5") (version "3.5.0")
(libsass (source (origin
(origin (method git-fetch)
(method url-fetch) (uri (git-reference
(uri (string-append (url "https://github.com/sass/sassc.git")
"https://github.com/sass/libsass/archive/" (commit version)))
version ".tar.gz")) (file-name (git-file-name name version))
(file-name (string-append "libsass-" version ".tar.gz")) (sha256
(sha256 (base32
(base32 "0jsfz1zg4gwk0dq8i92ll12axs3s70wsdsmdyi71zx8zmvib5nl6"))))
"1j22138l5ymqjfj5zan9d2hipa3ahjmifgpjahqy1smlg5sb837x"))))) (build-system gnu-build-system)
(package (arguments
(name "sassc") `(#:make-flags
(version version) (list "CC=gcc"
(source (origin (string-append "PREFIX=" (assoc-ref %outputs "out")))
(method url-fetch) ;; I don't believe sassc contains any tests
(uri (string-append "https://github.com/sass/sassc/archive/" #:tests? #f
version ".tar.gz")) #:phases
(file-name (string-append "sassc-" version ".tar.gz")) (modify-phases %standard-phases
(sha256 (add-after 'unpack 'patch-Makefile
(base32 (lambda _
"1xk4kmmvziz9sal3swpqa10q0s289xjpcz8aggmly8mvxvmngsi9")))) (substitute* "Makefile"
(build-system gnu-build-system) (("build-shared: \\$\\(RESOURCES\\) \\$\\(OBJECTS\\) \\$\\(LIB_SHARED\\)")
(arguments "build-shared: $(RESOURCES) $(OBJECTS)")
`(#:make-flags (("\\$\\(SASSC_EXE\\): libsass build")
(list "CC=gcc" "$(SASSC_EXE): build")
(string-append "PREFIX=" (assoc-ref %outputs "out"))) (("install: libsass-install-\\$\\(BUILD\\) \\\\")
#:test-target "test" "install: \\"))
;; FIXME: "make test" rebuilds the application and gets lost in a #t))
;; non-existing directory. ;; This phase fails for some reason
#:tests? #f (delete 'bootstrap)
#:phases ;; There is no configure script
(modify-phases %standard-phases (delete 'configure)
(delete 'bootstrap) (add-before 'build 'setup-environment
(delete 'configure) (lambda _
(add-after 'unpack 'unpack-libsass-and-set-path (setenv "BUILD" "shared")
(lambda* (#:key inputs #:allow-other-keys) (setenv "SASSC_VERSION" ,version)
(invoke "tar" "xvf" (assoc-ref inputs "libsass")) #t)))))
(setenv "SASS_LIBSASS_PATH" (inputs
(string-append (getcwd) "/libsass-" ,version)) `(("libsass" ,libsass)))
#t))))) (synopsis "CSS pre-processor")
(inputs (description "SassC is a compiler written in C for the CSS pre-processor
`(("libsass" ,libsass)))
(synopsis "CSS pre-processor")
(description "SassC is a compiler written in C for the CSS pre-processor
language known as SASS.") language known as SASS.")
(home-page "http://sass-lang.com/libsass") (home-page "http://sass-lang.com/libsass")
(license l:expat)))) (license l:expat)))
(define-public perl-apache-logformat-compiler (define-public perl-apache-logformat-compiler