sassc 2.0.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
-
[](https://travis-ci.org/sass/libsass "Travis CI")
|
|
8
|
-
[](https://ci.appveyor.com/project/sass/libsass/branch/master "Appveyor CI")
|
|
9
|
-
[](https://coveralls.io/r/sass/libsass?branch=feature%2Ftest-travis-ci-3 "Code coverage of spec tests")
|
|
10
|
-
[](http://isitmaintained.com/project/sass/libsass "Percentage of issues still open")
|
|
11
|
-
[](http://isitmaintained.com/project/sass/libsass "Average time to resolve an issue")
|
|
12
|
-
[](https://www.bountysource.com/trackers/283068-libsass?utm_source=283068&utm_medium=shield&utm_campaign=TRACKER_BADGE "Bountysource")
|
|
13
|
-
[](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
|
-
|