1{ lib
2, stdenv
3, fetchFromGitHub
4, autoreconfHook
5, testers
6
7# for passthru.tests
8, gtk3
9, gtk4
10, sassc
11}:
12
13stdenv.mkDerivation (finalAttrs: {
14 pname = "libsass";
15 version = "3.6.6"; # also check sassc for updates
16
17 src = fetchFromGitHub {
18 owner = "sass";
19 repo = "libsass";
20 rev = finalAttrs.version;
21 hash = "sha256-FkLL3OAJXDptRQY6ZkYbss2pcc40f/wasIvEIyHRQFo=";
22 # Remove unicode file names which leads to different checksums on HFS+
23 # vs. other filesystems because of unicode normalisation.
24 postFetch = ''
25 rm -r $out/test/e2e/unicode-pwd
26 '';
27 };
28
29 preConfigure = ''
30 export LIBSASS_VERSION=${finalAttrs.version}
31 '';
32
33 nativeBuildInputs = [ autoreconfHook ];
34
35 passthru.tests = {
36 inherit gtk3 gtk4 sassc;
37 pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
38 };
39
40 meta = with lib; {
41 description = "C/C++ implementation of a Sass compiler";
42 homepage = "https://github.com/sass/libsass";
43 license = licenses.mit;
44 maintainers = with maintainers; [ codyopel offline ];
45 pkgConfigModules = [ "libsass" ];
46 platforms = platforms.unix;
47 };
48})