sassc 2.0.0 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.gitmodules +1 -1
- data/.travis.yml +9 -3
- data/CHANGELOG.md +36 -0
- data/CODE_OF_CONDUCT.md +1 -1
- data/README.md +1 -1
- data/Rakefile +43 -7
- data/ext/depend +4 -0
- data/ext/extconf.rb +92 -0
- data/ext/libsass/VERSION +1 -0
- data/ext/libsass/include/sass/base.h +9 -1
- data/ext/libsass/include/sass/context.h +5 -1
- data/ext/libsass/src/MurmurHash2.hpp +91 -0
- data/ext/libsass/src/ast.cpp +755 -2028
- data/ext/libsass/src/ast.hpp +492 -2477
- data/ext/libsass/src/{to_c.cpp → ast2c.cpp} +22 -16
- data/ext/libsass/src/ast2c.hpp +39 -0
- data/ext/libsass/src/ast_def_macros.hpp +70 -10
- data/ext/libsass/src/ast_fwd_decl.cpp +5 -3
- data/ext/libsass/src/ast_fwd_decl.hpp +107 -296
- data/ext/libsass/src/ast_helpers.hpp +292 -0
- data/ext/libsass/src/ast_sel_cmp.cpp +396 -0
- data/ext/libsass/src/ast_sel_super.cpp +539 -0
- data/ext/libsass/src/ast_sel_unify.cpp +275 -0
- data/ext/libsass/src/ast_sel_weave.cpp +616 -0
- data/ext/libsass/src/ast_selectors.cpp +1043 -0
- data/ext/libsass/src/ast_selectors.hpp +522 -0
- data/ext/libsass/src/ast_supports.cpp +114 -0
- data/ext/libsass/src/ast_supports.hpp +121 -0
- data/ext/libsass/src/ast_values.cpp +1154 -0
- data/ext/libsass/src/ast_values.hpp +498 -0
- data/ext/libsass/src/backtrace.cpp +11 -7
- data/ext/libsass/src/backtrace.hpp +5 -5
- data/ext/libsass/src/base64vlq.cpp +5 -2
- data/ext/libsass/src/base64vlq.hpp +1 -1
- data/ext/libsass/src/bind.cpp +35 -34
- data/ext/libsass/src/bind.hpp +3 -1
- data/ext/libsass/src/c2ast.cpp +64 -0
- data/ext/libsass/src/c2ast.hpp +14 -0
- data/ext/libsass/src/cencode.c +4 -6
- data/ext/libsass/src/check_nesting.cpp +83 -88
- data/ext/libsass/src/check_nesting.hpp +39 -34
- data/ext/libsass/src/color_maps.cpp +168 -164
- data/ext/libsass/src/color_maps.hpp +152 -160
- data/ext/libsass/src/constants.cpp +20 -0
- data/ext/libsass/src/constants.hpp +19 -0
- data/ext/libsass/src/context.cpp +104 -121
- data/ext/libsass/src/context.hpp +43 -55
- data/ext/libsass/src/cssize.cpp +103 -188
- data/ext/libsass/src/cssize.hpp +45 -51
- data/ext/libsass/src/dart_helpers.hpp +199 -0
- data/ext/libsass/src/debugger.hpp +524 -361
- data/ext/libsass/src/emitter.cpp +26 -26
- data/ext/libsass/src/emitter.hpp +20 -18
- data/ext/libsass/src/environment.cpp +41 -27
- data/ext/libsass/src/environment.hpp +33 -22
- data/ext/libsass/src/error_handling.cpp +92 -94
- data/ext/libsass/src/error_handling.hpp +73 -50
- data/ext/libsass/src/eval.cpp +380 -515
- data/ext/libsass/src/eval.hpp +64 -57
- data/ext/libsass/src/eval_selectors.cpp +75 -0
- data/ext/libsass/src/expand.cpp +322 -263
- data/ext/libsass/src/expand.hpp +55 -39
- data/ext/libsass/src/extender.cpp +1188 -0
- data/ext/libsass/src/extender.hpp +399 -0
- data/ext/libsass/src/extension.cpp +43 -0
- data/ext/libsass/src/extension.hpp +89 -0
- data/ext/libsass/src/file.cpp +134 -88
- data/ext/libsass/src/file.hpp +28 -37
- data/ext/libsass/src/fn_colors.cpp +596 -0
- data/ext/libsass/src/fn_colors.hpp +85 -0
- data/ext/libsass/src/fn_lists.cpp +285 -0
- data/ext/libsass/src/fn_lists.hpp +34 -0
- data/ext/libsass/src/fn_maps.cpp +94 -0
- data/ext/libsass/src/fn_maps.hpp +30 -0
- data/ext/libsass/src/fn_miscs.cpp +244 -0
- data/ext/libsass/src/fn_miscs.hpp +40 -0
- data/ext/libsass/src/fn_numbers.cpp +227 -0
- data/ext/libsass/src/fn_numbers.hpp +45 -0
- data/ext/libsass/src/fn_selectors.cpp +205 -0
- data/ext/libsass/src/fn_selectors.hpp +35 -0
- data/ext/libsass/src/fn_strings.cpp +268 -0
- data/ext/libsass/src/fn_strings.hpp +34 -0
- data/ext/libsass/src/fn_utils.cpp +158 -0
- data/ext/libsass/src/fn_utils.hpp +62 -0
- data/ext/libsass/src/inspect.cpp +253 -266
- data/ext/libsass/src/inspect.hpp +72 -74
- data/ext/libsass/src/json.cpp +2 -2
- data/ext/libsass/src/lexer.cpp +25 -84
- data/ext/libsass/src/lexer.hpp +5 -16
- data/ext/libsass/src/listize.cpp +27 -43
- data/ext/libsass/src/listize.hpp +14 -11
- data/ext/libsass/src/mapping.hpp +1 -0
- data/ext/libsass/src/memory.hpp +12 -0
- data/ext/libsass/src/memory/allocator.cpp +48 -0
- data/ext/libsass/src/memory/allocator.hpp +138 -0
- data/ext/libsass/src/memory/config.hpp +20 -0
- data/ext/libsass/src/memory/memory_pool.hpp +186 -0
- data/ext/libsass/src/memory/shared_ptr.cpp +33 -0
- data/ext/libsass/src/memory/shared_ptr.hpp +332 -0
- data/ext/libsass/src/operation.hpp +193 -143
- data/ext/libsass/src/operators.cpp +56 -29
- data/ext/libsass/src/operators.hpp +11 -11
- data/ext/libsass/src/ordered_map.hpp +112 -0
- data/ext/libsass/src/output.cpp +59 -75
- data/ext/libsass/src/output.hpp +15 -22
- data/ext/libsass/src/parser.cpp +662 -818
- data/ext/libsass/src/parser.hpp +96 -100
- data/ext/libsass/src/parser_selectors.cpp +189 -0
- data/ext/libsass/src/permutate.hpp +164 -0
- data/ext/libsass/src/plugins.cpp +12 -8
- data/ext/libsass/src/plugins.hpp +8 -8
- data/ext/libsass/src/position.cpp +10 -26
- data/ext/libsass/src/position.hpp +44 -21
- data/ext/libsass/src/prelexer.cpp +14 -8
- data/ext/libsass/src/prelexer.hpp +9 -9
- data/ext/libsass/src/remove_placeholders.cpp +59 -57
- data/ext/libsass/src/remove_placeholders.hpp +20 -18
- data/ext/libsass/src/sass.cpp +25 -18
- data/ext/libsass/src/sass.hpp +22 -14
- data/ext/libsass/src/sass2scss.cpp +49 -18
- data/ext/libsass/src/sass_context.cpp +104 -132
- data/ext/libsass/src/sass_context.hpp +2 -2
- data/ext/libsass/src/sass_functions.cpp +7 -4
- data/ext/libsass/src/sass_functions.hpp +1 -1
- data/ext/libsass/src/sass_values.cpp +26 -21
- data/ext/libsass/src/settings.hpp +19 -0
- data/ext/libsass/src/source.cpp +69 -0
- data/ext/libsass/src/source.hpp +95 -0
- data/ext/libsass/src/source_data.hpp +32 -0
- data/ext/libsass/src/source_map.cpp +27 -20
- data/ext/libsass/src/source_map.hpp +14 -11
- data/ext/libsass/src/stylesheet.cpp +22 -0
- data/ext/libsass/src/stylesheet.hpp +57 -0
- data/ext/libsass/src/to_value.cpp +24 -22
- data/ext/libsass/src/to_value.hpp +18 -22
- data/ext/libsass/src/units.cpp +28 -22
- data/ext/libsass/src/units.hpp +9 -8
- data/ext/libsass/src/utf8/checked.h +12 -10
- data/ext/libsass/src/utf8/core.h +3 -0
- data/ext/libsass/src/utf8_string.cpp +12 -10
- data/ext/libsass/src/utf8_string.hpp +7 -6
- data/ext/libsass/src/util.cpp +97 -107
- data/ext/libsass/src/util.hpp +74 -30
- data/ext/libsass/src/util_string.cpp +125 -0
- data/ext/libsass/src/util_string.hpp +73 -0
- data/ext/libsass/src/values.cpp +33 -24
- data/ext/libsass/src/values.hpp +2 -2
- data/lib/sassc.rb +24 -0
- data/lib/sassc/engine.rb +7 -5
- data/lib/sassc/functions_handler.rb +11 -13
- data/lib/sassc/native.rb +10 -9
- data/lib/sassc/native/native_functions_api.rb +0 -5
- data/lib/sassc/script.rb +4 -6
- data/lib/sassc/version.rb +1 -1
- data/sassc.gemspec +32 -12
- data/test/engine_test.rb +32 -2
- data/test/functions_test.rb +38 -1
- data/test/native_test.rb +4 -4
- metadata +95 -109
- data/ext/Rakefile +0 -3
- data/ext/libsass/.editorconfig +0 -15
- data/ext/libsass/.gitattributes +0 -2
- data/ext/libsass/.github/CONTRIBUTING.md +0 -65
- data/ext/libsass/.github/ISSUE_TEMPLATE.md +0 -54
- data/ext/libsass/.gitignore +0 -85
- data/ext/libsass/.travis.yml +0 -64
- data/ext/libsass/COPYING +0 -25
- data/ext/libsass/GNUmakefile.am +0 -88
- data/ext/libsass/INSTALL +0 -1
- data/ext/libsass/LICENSE +0 -25
- data/ext/libsass/Makefile +0 -351
- data/ext/libsass/Makefile.conf +0 -55
- data/ext/libsass/Readme.md +0 -104
- data/ext/libsass/SECURITY.md +0 -10
- data/ext/libsass/appveyor.yml +0 -91
- data/ext/libsass/configure.ac +0 -138
- data/ext/libsass/contrib/libsass.spec +0 -66
- data/ext/libsass/docs/README.md +0 -20
- data/ext/libsass/docs/api-context-example.md +0 -45
- data/ext/libsass/docs/api-context-internal.md +0 -163
- data/ext/libsass/docs/api-context.md +0 -295
- data/ext/libsass/docs/api-doc.md +0 -215
- data/ext/libsass/docs/api-function-example.md +0 -67
- data/ext/libsass/docs/api-function-internal.md +0 -8
- data/ext/libsass/docs/api-function.md +0 -74
- data/ext/libsass/docs/api-importer-example.md +0 -112
- data/ext/libsass/docs/api-importer-internal.md +0 -20
- data/ext/libsass/docs/api-importer.md +0 -86
- data/ext/libsass/docs/api-value-example.md +0 -55
- data/ext/libsass/docs/api-value-internal.md +0 -76
- data/ext/libsass/docs/api-value.md +0 -154
- data/ext/libsass/docs/build-on-darwin.md +0 -27
- data/ext/libsass/docs/build-on-gentoo.md +0 -55
- data/ext/libsass/docs/build-on-windows.md +0 -139
- data/ext/libsass/docs/build-shared-library.md +0 -35
- data/ext/libsass/docs/build-with-autotools.md +0 -78
- data/ext/libsass/docs/build-with-makefiles.md +0 -68
- data/ext/libsass/docs/build-with-mingw.md +0 -107
- data/ext/libsass/docs/build-with-visual-studio.md +0 -90
- data/ext/libsass/docs/build.md +0 -97
- data/ext/libsass/docs/compatibility-plan.md +0 -48
- data/ext/libsass/docs/contributing.md +0 -17
- data/ext/libsass/docs/custom-functions-internal.md +0 -122
- data/ext/libsass/docs/dev-ast-memory.md +0 -223
- data/ext/libsass/docs/implementations.md +0 -56
- data/ext/libsass/docs/plugins.md +0 -47
- data/ext/libsass/docs/setup-environment.md +0 -68
- data/ext/libsass/docs/source-map-internals.md +0 -51
- data/ext/libsass/docs/trace.md +0 -26
- data/ext/libsass/docs/triage.md +0 -17
- data/ext/libsass/docs/unicode.md +0 -39
- data/ext/libsass/extconf.rb +0 -6
- data/ext/libsass/include/sass/version.h.in +0 -12
- data/ext/libsass/m4/.gitkeep +0 -0
- data/ext/libsass/m4/m4-ax_cxx_compile_stdcxx_11.m4 +0 -167
- data/ext/libsass/res/resource.rc +0 -35
- data/ext/libsass/script/bootstrap +0 -13
- data/ext/libsass/script/branding +0 -10
- data/ext/libsass/script/ci-build-libsass +0 -134
- data/ext/libsass/script/ci-build-plugin +0 -62
- data/ext/libsass/script/ci-install-compiler +0 -6
- data/ext/libsass/script/ci-install-deps +0 -20
- data/ext/libsass/script/ci-report-coverage +0 -42
- data/ext/libsass/script/spec +0 -5
- data/ext/libsass/script/tap-driver +0 -652
- data/ext/libsass/script/tap-runner +0 -1
- data/ext/libsass/script/test-leaks.pl +0 -103
- data/ext/libsass/src/GNUmakefile.am +0 -54
- data/ext/libsass/src/extend.cpp +0 -2130
- data/ext/libsass/src/extend.hpp +0 -86
- data/ext/libsass/src/functions.cpp +0 -2234
- data/ext/libsass/src/functions.hpp +0 -198
- data/ext/libsass/src/memory/SharedPtr.cpp +0 -114
- data/ext/libsass/src/memory/SharedPtr.hpp +0 -206
- data/ext/libsass/src/node.cpp +0 -319
- data/ext/libsass/src/node.hpp +0 -118
- data/ext/libsass/src/paths.hpp +0 -71
- data/ext/libsass/src/sass_util.cpp +0 -149
- data/ext/libsass/src/sass_util.hpp +0 -256
- data/ext/libsass/src/subset_map.cpp +0 -55
- data/ext/libsass/src/subset_map.hpp +0 -76
- data/ext/libsass/src/support/libsass.pc.in +0 -11
- data/ext/libsass/src/to_c.hpp +0 -39
- data/ext/libsass/test/test_node.cpp +0 -94
- data/ext/libsass/test/test_paths.cpp +0 -28
- data/ext/libsass/test/test_selector_difference.cpp +0 -25
- data/ext/libsass/test/test_specificity.cpp +0 -25
- data/ext/libsass/test/test_subset_map.cpp +0 -472
- data/ext/libsass/test/test_superselector.cpp +0 -69
- data/ext/libsass/test/test_unification.cpp +0 -31
- data/ext/libsass/version.sh +0 -10
- data/ext/libsass/win/libsass.sln +0 -39
- data/ext/libsass/win/libsass.sln.DotSettings +0 -9
- data/ext/libsass/win/libsass.targets +0 -118
- data/ext/libsass/win/libsass.vcxproj +0 -188
- data/ext/libsass/win/libsass.vcxproj.filters +0 -357
- data/lib/sassc/native/lib_c.rb +0 -21
- data/lib/tasks/libsass.rb +0 -33
data/ext/libsass/Makefile.conf
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
# this is merely a common Makefile multiple implementers can use
|
2
|
-
# bigger files (in terms of compile time) tend to go to the top,
|
3
|
-
# so they don't end up as the last compile unit when compiling
|
4
|
-
# in parallel. But we also want to mix them a little too avoid
|
5
|
-
# heavy RAM usage peaks. Other than that the order is arbitrary.
|
6
|
-
|
7
|
-
|
8
|
-
SOURCES = \
|
9
|
-
ast.cpp \
|
10
|
-
node.cpp \
|
11
|
-
context.cpp \
|
12
|
-
constants.cpp \
|
13
|
-
functions.cpp \
|
14
|
-
color_maps.cpp \
|
15
|
-
environment.cpp \
|
16
|
-
ast_fwd_decl.cpp \
|
17
|
-
bind.cpp \
|
18
|
-
file.cpp \
|
19
|
-
util.cpp \
|
20
|
-
json.cpp \
|
21
|
-
units.cpp \
|
22
|
-
values.cpp \
|
23
|
-
plugins.cpp \
|
24
|
-
position.cpp \
|
25
|
-
lexer.cpp \
|
26
|
-
parser.cpp \
|
27
|
-
prelexer.cpp \
|
28
|
-
eval.cpp \
|
29
|
-
expand.cpp \
|
30
|
-
listize.cpp \
|
31
|
-
cssize.cpp \
|
32
|
-
extend.cpp \
|
33
|
-
output.cpp \
|
34
|
-
inspect.cpp \
|
35
|
-
emitter.cpp \
|
36
|
-
check_nesting.cpp \
|
37
|
-
remove_placeholders.cpp \
|
38
|
-
sass.cpp \
|
39
|
-
sass_util.cpp \
|
40
|
-
sass_values.cpp \
|
41
|
-
sass_context.cpp \
|
42
|
-
sass_functions.cpp \
|
43
|
-
sass2scss.cpp \
|
44
|
-
backtrace.cpp \
|
45
|
-
operators.cpp \
|
46
|
-
to_c.cpp \
|
47
|
-
to_value.cpp \
|
48
|
-
source_map.cpp \
|
49
|
-
subset_map.cpp \
|
50
|
-
error_handling.cpp \
|
51
|
-
memory/SharedPtr.cpp \
|
52
|
-
utf8_string.cpp \
|
53
|
-
base64vlq.cpp
|
54
|
-
|
55
|
-
CSOURCES = cencode.c
|
data/ext/libsass/Readme.md
DELETED
@@ -1,104 +0,0 @@
|
|
1
|
-
LibSass - Sass compiler written in C++
|
2
|
-
======================================
|
3
|
-
|
4
|
-
Currently maintained by Marcel Greter ([@mgreter]) and Michael Mifsud ([@xzyfer])
|
5
|
-
Originally created by Aaron Leung ([@akhleung]) and Hampton Catlin ([@hcatlin])
|
6
|
-
|
7
|
-
[![Unix CI](https://travis-ci.org/sass/libsass.svg?branch=master)](https://travis-ci.org/sass/libsass "Travis CI")
|
8
|
-
[![Windows CI](https://ci.appveyor.com/api/projects/status/github/sass/libsass?svg=true)](https://ci.appveyor.com/project/sass/libsass/branch/master "Appveyor CI")
|
9
|
-
[![Coverage Status](https://img.shields.io/coveralls/sass/libsass.svg)](https://coveralls.io/r/sass/libsass?branch=feature%2Ftest-travis-ci-3 "Code coverage of spec tests")
|
10
|
-
[![Percentage of issues still open](http://isitmaintained.com/badge/open/sass/libsass.svg)](http://isitmaintained.com/project/sass/libsass "Percentage of issues still open")
|
11
|
-
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/sass/libsass.svg)](http://isitmaintained.com/project/sass/libsass "Average time to resolve an issue")
|
12
|
-
[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=283068)](https://www.bountysource.com/trackers/283068-libsass?utm_source=283068&utm_medium=shield&utm_campaign=TRACKER_BADGE "Bountysource")
|
13
|
-
[![Join us](https://libsass-slack.herokuapp.com/badge.svg)](https://libsass-slack.herokuapp.com/ "Slack communication channels")
|
14
|
-
|
15
|
-
|
16
|
-
[LibSass](https://github.com/sass/libsass "LibSass GitHub Project") is just a library!
|
17
|
-
If you want to use LibSass to compile Sass, you need an implementer. Some
|
18
|
-
implementations are only bindings into other programming languages. But most also
|
19
|
-
ship with a command line interface (CLI) you can use directly. There is also
|
20
|
-
[SassC](https://github.com/sass/sassc), which is the official lightweight
|
21
|
-
CLI tool built by the same people as LibSass.
|
22
|
-
|
23
|
-
### Excerpt of "sanctioned" implementations:
|
24
|
-
|
25
|
-
- https://github.com/sass/node-sass (Node.js)
|
26
|
-
- https://github.com/sass/perl-libsass (Perl)
|
27
|
-
- https://github.com/sass/libsass-python (Python)
|
28
|
-
- https://github.com/wellington/go-libsass (Go)
|
29
|
-
- https://github.com/sass/sassc-ruby (Ruby)
|
30
|
-
- https://github.com/sass/libsass-net (C#)
|
31
|
-
- https://github.com/medialize/sass.js (JS)
|
32
|
-
- https://github.com/bit3/jsass (Java)
|
33
|
-
|
34
|
-
This list does not say anything about the quality of either the listed or not listed [implementations](docs/implementations.md)!
|
35
|
-
The authors of the listed projects above are just known to work regularly together with LibSass developers.
|
36
|
-
|
37
|
-
About
|
38
|
-
-----
|
39
|
-
|
40
|
-
LibSass is a C++ port of the original Ruby Sass CSS compiler with a [C API](docs/api-doc.md).
|
41
|
-
We coded LibSass with portability and efficiency in mind. You can expect LibSass to be a lot
|
42
|
-
faster than Ruby Sass and on par or faster than the best alternative CSS compilers around.
|
43
|
-
|
44
|
-
Developing
|
45
|
-
----------
|
46
|
-
|
47
|
-
As noted above, the LibSass repository does not contain any binaries or other way to execute
|
48
|
-
LibSass. Therefore, you need an implementer to develop LibSass. Easiest is to start with
|
49
|
-
the official [SassC](http://github.com/sass/sassc) CLI wrapper. It is *guaranteed* to compile
|
50
|
-
with the latest code in LibSass master, since it is also used in the CI process. There is no
|
51
|
-
limitation here, as you may use any other LibSass implementer to test your LibSass branch!
|
52
|
-
|
53
|
-
Testing
|
54
|
-
-------
|
55
|
-
|
56
|
-
Since LibSass is a pure library, tests are run through the [Sass-Spec](https://github.com/sass/sass-spec)
|
57
|
-
project using the [SassC](http://github.com/sass/sassc) CLI wrapper. To run the tests against LibSass while
|
58
|
-
developing, you can run `./script/spec`. This will clone SassC and Sass-Spec under the project folder and
|
59
|
-
then run the Sass-Spec test suite. You may want to update the clones to ensure you have the latest version.
|
60
|
-
Note that the scripts in the `./script` folder are mainly intended for our CI needs.
|
61
|
-
|
62
|
-
Building
|
63
|
-
--------
|
64
|
-
|
65
|
-
To build LibSass you need GCC 4.6+ or Clang/LLVM. If your OS is older, you may need to upgrade
|
66
|
-
them first (or install clang as an alternative). On Windows, you need MinGW with GCC 4.6+ or VS 2013
|
67
|
-
Update 4+. It is also possible to build LibSass with Clang/LLVM on Windows with various build chains
|
68
|
-
and/or command line interpreters.
|
69
|
-
|
70
|
-
See the [build docs for further instructions](docs/build.md)!
|
71
|
-
|
72
|
-
Compatibility
|
73
|
-
-------------
|
74
|
-
|
75
|
-
Current LibSass 3.4 should be compatible with Sass 3.4. Please refer to the [sass compatibility
|
76
|
-
page](http://sass-compatibility.github.io/) for a more detailed comparison. But note that there
|
77
|
-
are still a few incomplete edges which we are aware of. Otherwise LibSass has reached a good level
|
78
|
-
of stability, thanks to our ever growing [Sass-Spec test suite](https://github.com/sass/sass-spec).
|
79
|
-
|
80
|
-
About Sass
|
81
|
-
----------
|
82
|
-
|
83
|
-
Sass is a CSS pre-processor language to add on exciting, new, awesome features to CSS. Sass was
|
84
|
-
the first language of its kind and by far the most mature and up to date codebase.
|
85
|
-
|
86
|
-
Sass was originally conceived of by the co-creator of this library, Hampton Catlin ([@hcatlin]).
|
87
|
-
Most of the language has been the result of years of work by Natalie Weizenbaum ([@nex3]) and
|
88
|
-
Chris Eppstein ([@chriseppstein]).
|
89
|
-
|
90
|
-
For more information about Sass itself, please visit http://sass-lang.com
|
91
|
-
|
92
|
-
Initial development of LibSass by Aaron Leung and Hampton Catlin was supported by [Moovweb](http://www.moovweb.com).
|
93
|
-
|
94
|
-
Licensing
|
95
|
-
---------
|
96
|
-
|
97
|
-
Our [MIT license](LICENSE) is designed to be as simple and liberal as possible.
|
98
|
-
|
99
|
-
[@hcatlin]: https://github.com/hcatlin
|
100
|
-
[@akhleung]: https://github.com/akhleung
|
101
|
-
[@chriseppstein]: https://github.com/chriseppstein
|
102
|
-
[@nex3]: https://github.com/nex3
|
103
|
-
[@mgreter]: https://github.com/mgreter
|
104
|
-
[@xzyfer]: https://github.com/xzyfer
|
data/ext/libsass/SECURITY.md
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
Serious about security
|
2
|
-
======================
|
3
|
-
|
4
|
-
The LibSass team recognizes the important contributions the security research
|
5
|
-
community can make. We therefore encourage reporting security issues with the
|
6
|
-
code contained in this repository.
|
7
|
-
|
8
|
-
If you believe you have discovered a security vulnerability, please report it at
|
9
|
-
https://hackerone.com/libsass instead of GitHub.
|
10
|
-
|
data/ext/libsass/appveyor.yml
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
os: Visual Studio 2013
|
2
|
-
|
3
|
-
environment:
|
4
|
-
CTEST_OUTPUT_ON_FAILURE: 1
|
5
|
-
ruby_version: 22-x64
|
6
|
-
TargetPath: sassc/bin/sassc.exe
|
7
|
-
matrix:
|
8
|
-
- Compiler: msvc
|
9
|
-
Config: Release
|
10
|
-
Platform: Win32
|
11
|
-
- Compiler: msvc
|
12
|
-
Config: Debug
|
13
|
-
Platform: Win32
|
14
|
-
- Compiler: msvc
|
15
|
-
Config: Release
|
16
|
-
Platform: Win64
|
17
|
-
- Compiler: mingw
|
18
|
-
Build: static
|
19
|
-
- Compiler: mingw
|
20
|
-
Build: shared
|
21
|
-
|
22
|
-
cache:
|
23
|
-
- C:\Ruby%ruby_version%\lib\ruby\gems
|
24
|
-
- C:\mingw64
|
25
|
-
|
26
|
-
install:
|
27
|
-
- git clone https://github.com/sass/sassc.git
|
28
|
-
- git clone https://github.com/sass/sass-spec.git
|
29
|
-
- set PATH=C:\Ruby%ruby_version%\bin;%PATH%
|
30
|
-
- ps: |
|
31
|
-
if(!(gem which minitest 2>$nul)) { gem install minitest --no-ri --no-rdoc }
|
32
|
-
if ($env:Compiler -eq "mingw" -AND -Not (Test-Path "C:\mingw64")) {
|
33
|
-
# Install MinGW.
|
34
|
-
$file = "x86_64-4.9.2-release-win32-seh-rt_v4-rev3.7z"
|
35
|
-
wget https://bintray.com/artifact/download/drewwells/generic/$file -OutFile $file
|
36
|
-
&7z x -oC:\ $file > $null
|
37
|
-
}
|
38
|
-
- set PATH=C:\mingw64\bin;%PATH%
|
39
|
-
- set CC=gcc
|
40
|
-
|
41
|
-
build_script:
|
42
|
-
- ps: |
|
43
|
-
if ($env:Compiler -eq "mingw") {
|
44
|
-
mingw32-make -j4 sassc
|
45
|
-
} else {
|
46
|
-
msbuild /m:4 /p:"Configuration=$env:Config;Platform=$env:Platform" sassc\win\sassc.sln
|
47
|
-
}
|
48
|
-
|
49
|
-
# print the branding art
|
50
|
-
mv script/branding script/branding.ps1
|
51
|
-
script/branding.ps1
|
52
|
-
|
53
|
-
# print the version info
|
54
|
-
&$env:TargetPath -v
|
55
|
-
ruby -v
|
56
|
-
|
57
|
-
test_script:
|
58
|
-
- ps: |
|
59
|
-
$PRNR = $env:APPVEYOR_PULL_REQUEST_NUMBER
|
60
|
-
if ($PRNR) {
|
61
|
-
echo "Fetching info for PR $PRNR"
|
62
|
-
wget https://api.github.com/repos/sass/libsass/pulls/$PRNR -OutFile pr.json
|
63
|
-
$json = cat pr.json -Raw
|
64
|
-
$SPEC_PR = [regex]::match($json,'sass\/sass-spec(#|\/pull\/)([0-9]+)').Groups[2].Value
|
65
|
-
if ($SPEC_PR) {
|
66
|
-
echo "Checkout sass spec PR $SPEC_PR"
|
67
|
-
git -C sass-spec fetch -q -u origin pull/$SPEC_PR/head:ci-spec-pr-$SPEC_PR
|
68
|
-
git -C sass-spec checkout -q --force ci-spec-pr-$SPEC_PR
|
69
|
-
}
|
70
|
-
}
|
71
|
-
$env:TargetPath = Join-Path $pwd.Path $env:TargetPath
|
72
|
-
If (Test-Path "$env:TargetPath") {
|
73
|
-
ruby sass-spec/sass-spec.rb -V 3.5 --probe-todo --impl libsass -c $env:TargetPath -s sass-spec/spec
|
74
|
-
if(-not($?)) {
|
75
|
-
echo "sass-spec tests failed"
|
76
|
-
exit 1
|
77
|
-
}
|
78
|
-
} else {
|
79
|
-
echo "spec runner not found (compile error?)"
|
80
|
-
exit 1
|
81
|
-
}
|
82
|
-
Write-Host "Explicitly testing the case when cwd has Cyrillic characters: " -nonewline
|
83
|
-
# See comments in gh-1774 for details.
|
84
|
-
cd sass-spec/spec/libsass/Sáss-UŢF8/
|
85
|
-
&$env:TargetPath ./input.scss 2>&1>$null
|
86
|
-
if(-not($?)) {
|
87
|
-
echo "Failed!"
|
88
|
-
exit 1
|
89
|
-
} else {
|
90
|
-
echo "Success!"
|
91
|
-
}
|
data/ext/libsass/configure.ac
DELETED
@@ -1,138 +0,0 @@
|
|
1
|
-
# -*- Autoconf -*-
|
2
|
-
# Process this file with autoconf to produce a configure script.
|
3
|
-
|
4
|
-
AC_PREREQ([2.61])
|
5
|
-
|
6
|
-
AC_INIT([libsass], m4_esyscmd_s([./version.sh]), [support@moovweb.com])
|
7
|
-
AC_CONFIG_SRCDIR([src/ast.hpp])
|
8
|
-
AC_CONFIG_MACRO_DIR([m4])
|
9
|
-
AC_CONFIG_HEADERS([src/config.h])
|
10
|
-
AC_CONFIG_FILES([include/sass/version.h])
|
11
|
-
AC_CONFIG_AUX_DIR([script])
|
12
|
-
# These are flags passed to automake
|
13
|
-
# Though they look like gcc flags!
|
14
|
-
AM_INIT_AUTOMAKE([foreign parallel-tests -Wall])
|
15
|
-
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
|
16
|
-
|
17
|
-
# Checks for programs.
|
18
|
-
AC_PROG_CC
|
19
|
-
AC_PROG_CXX
|
20
|
-
AC_LANG_PUSH([C])
|
21
|
-
AC_LANG_PUSH([C++])
|
22
|
-
AC_GNU_SOURCE
|
23
|
-
# Check fails on Travis, but it works fine
|
24
|
-
# AX_CXX_COMPILE_STDCXX_11([ext],[optional])
|
25
|
-
AC_CHECK_TOOL([AR], [ar], [false])
|
26
|
-
AC_CHECK_TOOL([DLLTOOL], [dlltool], [false])
|
27
|
-
AC_CHECK_TOOL([DLLWRAP], [dllwrap], [false])
|
28
|
-
AC_CHECK_TOOL([WINDRES], [windres], [false])
|
29
|
-
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
30
|
-
LT_INIT([dlopen])
|
31
|
-
|
32
|
-
# Checks for header files.
|
33
|
-
AC_CHECK_HEADERS([unistd.h])
|
34
|
-
|
35
|
-
# Checks for typedefs, structures, and compiler characteristics.
|
36
|
-
AC_TYPE_SIZE_T
|
37
|
-
|
38
|
-
# Checks for library functions.
|
39
|
-
AC_FUNC_MALLOC
|
40
|
-
AC_CHECK_FUNCS([floor getcwd strtol])
|
41
|
-
|
42
|
-
# Checks for testing.
|
43
|
-
AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests], [enable testing the build]),
|
44
|
-
[enable_tests="$enableval"], [enable_tests=no])
|
45
|
-
|
46
|
-
AS_CASE([$host], [*-*-mingw*], [is_mingw32=yes], [is_mingw32=no])
|
47
|
-
AM_CONDITIONAL(COMPILER_IS_MINGW32, test "x$is_mingw32" = "xyes")
|
48
|
-
|
49
|
-
dnl The dlopen() function is in the C library for *BSD and in
|
50
|
-
dnl libdl on GLIBC-based systems
|
51
|
-
if test "x$is_mingw32" != "xyes"; then
|
52
|
-
AC_SEARCH_LIBS([dlopen], [dl dld], [], [
|
53
|
-
AC_MSG_ERROR([unable to find the dlopen() function])
|
54
|
-
])
|
55
|
-
fi
|
56
|
-
|
57
|
-
if test "x$enable_tests" = "xyes"; then
|
58
|
-
AC_PROG_CC
|
59
|
-
AC_PROG_AWK
|
60
|
-
# test need minitest gem
|
61
|
-
AC_PATH_PROG(RUBY, [ruby])
|
62
|
-
AC_PATH_PROG(TAPOUT, [tapout])
|
63
|
-
AC_REQUIRE_AUX_FILE([tap-driver])
|
64
|
-
AC_REQUIRE_AUX_FILE([tap-runner])
|
65
|
-
AC_ARG_WITH(sassc-dir,
|
66
|
-
AS_HELP_STRING([--with-sassc-dir=<dir>], [specify directory of sassc sources for testing (default: sassc)]),
|
67
|
-
[sassc_dir="$withval"], [sassc_dir="sassc"])
|
68
|
-
AC_CHECK_FILE([$sassc_dir/sassc.c], [], [
|
69
|
-
AC_MSG_ERROR([Unable to find sassc directory.
|
70
|
-
You must clone the sassc repository in this directory or specify
|
71
|
-
the --with-sassc-dir=<dir> argument.
|
72
|
-
])
|
73
|
-
])
|
74
|
-
SASS_SASSC_PATH=$sassc_dir
|
75
|
-
AC_SUBST(SASS_SASSC_PATH)
|
76
|
-
|
77
|
-
AC_ARG_WITH(sass-spec-dir,
|
78
|
-
AS_HELP_STRING([--with-sass-spec-dir=<dir>], [specify directory of sass-spec for testing (default: sass-spec)]),
|
79
|
-
[sass_spec_dir="$withval"], [sass_spec_dir="sass-spec"])
|
80
|
-
AC_CHECK_FILE([$sass_spec_dir/sass-spec.rb], [], [
|
81
|
-
AC_MSG_ERROR([Unable to find sass-spec directory.
|
82
|
-
You must clone the sass-spec repository in this directory or specify
|
83
|
-
the --with-sass-spec-dir=<dir> argument.
|
84
|
-
])
|
85
|
-
])
|
86
|
-
# Automake doesn't like its tests in an absolute path, so we make it relative.
|
87
|
-
case $sass_spec_dir in
|
88
|
-
/*)
|
89
|
-
SASS_SPEC_PATH=`$RUBY -e "require 'pathname'; puts Pathname.new('$sass_spec_dir').relative_path_from(Pathname.new('$PWD')).to_s"`
|
90
|
-
;;
|
91
|
-
*)
|
92
|
-
SASS_SPEC_PATH="$sass_spec_dir"
|
93
|
-
;;
|
94
|
-
esac
|
95
|
-
AC_SUBST(SASS_SPEC_PATH)
|
96
|
-
|
97
|
-
# TODO: Remove this when automake requirements are 1.12+
|
98
|
-
AC_MSG_CHECKING([whether we can use TAP mode])
|
99
|
-
tmp=`$AWK '/TEST_LOG_DRIVER/' $srcdir/GNUmakefile.in`
|
100
|
-
if test "x$tmp" != "x"; then
|
101
|
-
use_tap=yes
|
102
|
-
else
|
103
|
-
use_tap=no
|
104
|
-
fi
|
105
|
-
AC_MSG_RESULT([$use_tap])
|
106
|
-
|
107
|
-
fi
|
108
|
-
|
109
|
-
AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "xyes")
|
110
|
-
AM_CONDITIONAL(USE_TAP, test "x$use_tap" = "xyes")
|
111
|
-
|
112
|
-
AC_ARG_ENABLE([coverage],
|
113
|
-
[AS_HELP_STRING([--enable-coverage],
|
114
|
-
[enable coverage report for test suite])],
|
115
|
-
[enable_cov=$enableval],
|
116
|
-
[enable_cov=no])
|
117
|
-
|
118
|
-
if test "x$enable_cov" = "xyes"; then
|
119
|
-
|
120
|
-
AC_CHECK_PROG(GCOV, gcov, gcov)
|
121
|
-
|
122
|
-
# Remove all optimization flags from C[XX]FLAGS
|
123
|
-
changequote({,})
|
124
|
-
CFLAGS=`echo "$CFLAGS -O1 -fno-omit-frame-pointer" | $SED -e 's/-O[0-9]*//g'`
|
125
|
-
CXXFLAGS=`echo "$CXXFLAGS -O1 -fno-omit-frame-pointer" | $SED -e 's/-O[0-9]*//g'`
|
126
|
-
changequote([,])
|
127
|
-
|
128
|
-
AC_SUBST(GCOV)
|
129
|
-
fi
|
130
|
-
|
131
|
-
AM_CONDITIONAL(ENABLE_COVERAGE, test "x$enable_cov" = "xyes")
|
132
|
-
|
133
|
-
AC_SUBST(PACKAGE_VERSION)
|
134
|
-
|
135
|
-
AC_MSG_NOTICE([Building libsass ($VERSION)])
|
136
|
-
|
137
|
-
AC_CONFIG_FILES([GNUmakefile src/GNUmakefile src/support/libsass.pc])
|
138
|
-
AC_OUTPUT
|
@@ -1,66 +0,0 @@
|
|
1
|
-
Name: libsass
|
2
|
-
Version: %{version}
|
3
|
-
Release: 1%{?dist}
|
4
|
-
Summary: A C/C++ implementation of a Sass compiler
|
5
|
-
|
6
|
-
License: MIT
|
7
|
-
URL: http://libsass.org
|
8
|
-
Source0: %{name}-%{version}.tar.gz
|
9
|
-
|
10
|
-
BuildRequires: gcc-c++ >= 4.7
|
11
|
-
BuildRequires: autoconf
|
12
|
-
BuildRequires: automake
|
13
|
-
BuildRequires: libtool
|
14
|
-
|
15
|
-
|
16
|
-
%description
|
17
|
-
LibSass is a C/C++ port of the Sass engine. The point is to be simple, fast, and easy to integrate.
|
18
|
-
|
19
|
-
%package devel
|
20
|
-
Summary: Development files for %{name}
|
21
|
-
Requires: %{name}%{?_isa} = %{version}-%{release}
|
22
|
-
|
23
|
-
|
24
|
-
%description devel
|
25
|
-
The %{name}-devel package contains libraries and header files for
|
26
|
-
developing applications that use %{name}.
|
27
|
-
|
28
|
-
|
29
|
-
%prep
|
30
|
-
%setup -q
|
31
|
-
autoreconf --force --install
|
32
|
-
|
33
|
-
|
34
|
-
%build
|
35
|
-
%configure --disable-static \
|
36
|
-
--disable-tests \
|
37
|
-
--enable-shared
|
38
|
-
|
39
|
-
make %{?_smp_mflags}
|
40
|
-
|
41
|
-
|
42
|
-
%install
|
43
|
-
%make_install
|
44
|
-
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
45
|
-
|
46
|
-
|
47
|
-
%post -p /sbin/ldconfig
|
48
|
-
|
49
|
-
%postun -p /sbin/ldconfig
|
50
|
-
|
51
|
-
|
52
|
-
%files
|
53
|
-
%doc Readme.md LICENSE
|
54
|
-
%{_libdir}/*.so.*
|
55
|
-
|
56
|
-
%files devel
|
57
|
-
%doc
|
58
|
-
%{_includedir}/*
|
59
|
-
%{_libdir}/*.so
|
60
|
-
%{_libdir}/pkgconfig/*.pc
|
61
|
-
|
62
|
-
|
63
|
-
%changelog
|
64
|
-
* Tue Feb 10 2015 Gawain Lynch <gawain.lynch@gmail.com> - 3.1.0-1
|
65
|
-
- Initial SPEC file
|
66
|
-
|