You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CSS::Sass provides a perl interface to LibSass, a nearly complete Sass
compiler written in C++. It is currently at ruby sass 3.4 feature parity and
heading towards 3.5 compatibility. It can compile .scss and .sass files.
Installation
Manual installation:
git clone https://github.com/sass/libsass
cd libsass
# disable plugins if you have problems compiling
perl Makefile.PL --no-plugins
make -j4 verbose=1
make test verbose=1
make install verbose=1
Standard CPAN:
cpan CSS::Sass
CPAN-Minus*:
cpanm CSS::Sass
CPAN-Minus* directly via github:
cpanm git://github.com/sass/perl-libsass.git
(*) CPAN-Minus may not be installed by default, but there is a good
chance your distribution has a package for it:
# example for ubuntu:
apt install cpanminus
On windows I recommend Strawberry Perl.
Tip: Use dmake -PX instead of make -jX for manual installs.
Build Options
Since we need LibSass for perl-libsass, we need to compile the sources
when building CSS::Sass. LibSass can be compiled in different ways and
Makefile.PL knows some switches to support most common use cases:
$ perl Makefile.PL --help
CSS::Sass Makefile.PL end-user options:
--sassc Install optional sassc cli utility
--plugins Install optional libsass plugins (default)
--library Install libsass library (auto-enabled)
--native-watcher Depend on optimized file watcher module
--help This help screen
The following options are for developers only:
--debug Build libsass in debug mode
--profiling Enable gcov profiling switches
--compiler Skips compiler autodetection (passed to CppGuess)
--skip-manifest Skips manifest generation (would need git repo)
--skip-version Skips generating libsass/VERSION (would need git repo)
--update-deps Update libsass and specs to latest master (needs git repo)
--checkout-deps Checkout submodules at linked commit (needs git repo)
--get-versions Show versions of all perl package (.pm) files
--set-versions Set versions of all perl package (.pm) files
--patch-gcc44 Patch libsass for gcc44 compatibility
--skip-git Do not try to use anything git related
You may use environment variables to set any option
Prefix them with `PSASS_` and write all in uppercase
e.g. --native-watcher becomes PSASS_NATIVE_WATCHER
-v, --version print version
-h, --help print this help
-w, --watch start watchdog mode
-p, --precision=int precision for float output
--indent=string set indent string used for output
--linefeed=type linefeed used for output [auto|unix|win|none]
-o, --output-file=file output file to write result to
-t, --output-style=style output style [expanded|nested|compressed|compact]
-P, --plugin-path=path plugin load path (repeatable)
-I, --include-path=path sass include path (repeatable)
-c, --source-comments enable source debug comments
-l, --line-comments synonym for --source-comments
--line-numbers synonym for --source-comments
-e, --source-map-embed embed source-map in mapping url
-s, --source-map-contents include original contents
-m, --source-map-file=file create and write source-map to file
--source-map-file-urls create file urls for source paths
--source-map-root=. specific root for relative paths
--no-source-map-url omit sourceMappingUrl from output
--benchmark print benchmark for compilation time
Plugins may be pre-installed by CSS::Sass or from 3rd parties.
There are some options available for each known plugin.
--all-plugins enables all known plugins
--list-plugin print list of all known plugins
--[name]-plugin enables the plugin with [name]
--no-[name]-plugin disabled the plugin with [name]