sassc 1.11.4 → 1.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +2 -2
- data/CODE_OF_CONDUCT.md +10 -0
- data/README.md +4 -1
- data/ext/libsass/.editorconfig +1 -1
- data/ext/libsass/.github/CONTRIBUTING.md +7 -7
- data/ext/libsass/.github/ISSUE_TEMPLATE.md +31 -6
- data/ext/libsass/.gitignore +3 -0
- data/ext/libsass/.travis.yml +37 -18
- data/ext/libsass/GNUmakefile.am +23 -37
- data/ext/libsass/Makefile +10 -6
- data/ext/libsass/Makefile.conf +3 -0
- data/ext/libsass/Readme.md +68 -63
- data/ext/libsass/appveyor.yml +7 -3
- data/ext/libsass/configure.ac +10 -14
- data/ext/libsass/docs/api-context-internal.md +29 -21
- data/ext/libsass/docs/api-context.md +26 -6
- data/ext/libsass/docs/api-doc.md +49 -16
- data/ext/libsass/docs/api-function-example.md +1 -1
- data/ext/libsass/docs/api-function.md +31 -7
- data/ext/libsass/docs/api-importer.md +19 -19
- data/ext/libsass/docs/api-value.md +4 -2
- data/ext/libsass/docs/build-on-windows.md +4 -4
- data/ext/libsass/docs/build-with-mingw.md +3 -3
- data/ext/libsass/docs/build.md +9 -9
- data/ext/libsass/docs/custom-functions-internal.md +10 -8
- data/ext/libsass/docs/implementations.md +20 -8
- data/ext/libsass/docs/unicode.md +16 -10
- data/ext/libsass/include/sass/base.h +0 -3
- data/ext/libsass/include/sass/context.h +20 -2
- data/ext/libsass/include/sass/functions.h +31 -0
- data/ext/libsass/include/sass/values.h +3 -1
- data/ext/libsass/include/sass/version.h +1 -1
- data/ext/libsass/include/sass/version.h.in +1 -1
- data/ext/libsass/include/sass2scss.h +1 -1
- data/ext/libsass/res/resource.rc +6 -6
- data/ext/libsass/script/ci-build-libsass +10 -5
- data/ext/libsass/script/ci-build-plugin +62 -0
- data/ext/libsass/script/ci-install-compiler +1 -1
- data/ext/libsass/script/ci-install-deps +4 -7
- data/ext/libsass/script/ci-report-coverage +13 -3
- data/ext/libsass/script/tap-driver +1 -1
- data/ext/libsass/script/tap-runner +1 -1
- data/ext/libsass/src/GNUmakefile.am +1 -1
- data/ext/libsass/src/ast.cpp +537 -762
- data/ext/libsass/src/ast.hpp +377 -419
- data/ext/libsass/src/ast_def_macros.hpp +26 -1
- data/ext/libsass/src/ast_fwd_decl.cpp +29 -0
- data/ext/libsass/src/ast_fwd_decl.hpp +94 -21
- data/ext/libsass/src/b64/encode.h +3 -1
- data/ext/libsass/src/backtrace.cpp +46 -0
- data/ext/libsass/src/backtrace.hpp +7 -54
- data/ext/libsass/src/bind.cpp +72 -50
- data/ext/libsass/src/bind.hpp +0 -1
- data/ext/libsass/src/cencode.c +6 -0
- data/ext/libsass/src/check_nesting.cpp +157 -135
- data/ext/libsass/src/check_nesting.hpp +11 -10
- data/ext/libsass/src/color_maps.cpp +10 -6
- data/ext/libsass/src/color_maps.hpp +6 -8
- data/ext/libsass/src/constants.cpp +4 -3
- data/ext/libsass/src/constants.hpp +4 -3
- data/ext/libsass/src/context.cpp +110 -47
- data/ext/libsass/src/context.hpp +11 -1
- data/ext/libsass/src/cssize.cpp +105 -94
- data/ext/libsass/src/cssize.hpp +4 -5
- data/ext/libsass/src/debugger.hpp +247 -244
- data/ext/libsass/src/emitter.cpp +30 -6
- data/ext/libsass/src/emitter.hpp +7 -0
- data/ext/libsass/src/environment.cpp +67 -16
- data/ext/libsass/src/environment.hpp +28 -7
- data/ext/libsass/src/error_handling.cpp +92 -64
- data/ext/libsass/src/error_handling.hpp +64 -43
- data/ext/libsass/src/eval.cpp +494 -544
- data/ext/libsass/src/eval.hpp +17 -23
- data/ext/libsass/src/expand.cpp +182 -154
- data/ext/libsass/src/expand.hpp +4 -5
- data/ext/libsass/src/extend.cpp +299 -291
- data/ext/libsass/src/extend.hpp +46 -11
- data/ext/libsass/src/file.cpp +103 -36
- data/ext/libsass/src/file.hpp +21 -4
- data/ext/libsass/src/functions.cpp +561 -312
- data/ext/libsass/src/functions.hpp +8 -5
- data/ext/libsass/src/inspect.cpp +108 -53
- data/ext/libsass/src/inspect.hpp +5 -2
- data/ext/libsass/src/lexer.cpp +15 -7
- data/ext/libsass/src/lexer.hpp +13 -4
- data/ext/libsass/src/listize.cpp +3 -2
- data/ext/libsass/src/listize.hpp +0 -1
- data/ext/libsass/src/memory/SharedPtr.cpp +16 -18
- data/ext/libsass/src/memory/SharedPtr.hpp +47 -43
- data/ext/libsass/src/node.cpp +34 -38
- data/ext/libsass/src/node.hpp +6 -8
- data/ext/libsass/src/operation.hpp +2 -2
- data/ext/libsass/src/operators.cpp +240 -0
- data/ext/libsass/src/operators.hpp +30 -0
- data/ext/libsass/src/output.cpp +22 -20
- data/ext/libsass/src/parser.cpp +719 -358
- data/ext/libsass/src/parser.hpp +57 -22
- data/ext/libsass/src/plugins.cpp +28 -10
- data/ext/libsass/src/position.cpp +21 -3
- data/ext/libsass/src/position.hpp +2 -1
- data/ext/libsass/src/prelexer.cpp +104 -19
- data/ext/libsass/src/prelexer.hpp +10 -3
- data/ext/libsass/src/remove_placeholders.cpp +9 -10
- data/ext/libsass/src/remove_placeholders.hpp +1 -5
- data/ext/libsass/src/sass.cpp +62 -4
- data/ext/libsass/src/sass.hpp +5 -2
- data/ext/libsass/src/sass_context.cpp +96 -58
- data/ext/libsass/src/sass_context.hpp +7 -5
- data/ext/libsass/src/sass_functions.cpp +63 -1
- data/ext/libsass/src/sass_functions.hpp +19 -1
- data/ext/libsass/src/sass_util.cpp +3 -3
- data/ext/libsass/src/sass_util.hpp +4 -4
- data/ext/libsass/src/sass_values.cpp +42 -39
- data/ext/libsass/src/sass_values.hpp +2 -1
- data/ext/libsass/src/source_map.cpp +16 -18
- data/ext/libsass/src/subset_map.cpp +6 -8
- data/ext/libsass/src/subset_map.hpp +6 -6
- data/ext/libsass/src/to_c.cpp +2 -2
- data/ext/libsass/src/to_value.cpp +8 -3
- data/ext/libsass/src/to_value.hpp +1 -0
- data/ext/libsass/src/units.cpp +349 -45
- data/ext/libsass/src/units.hpp +39 -22
- data/ext/libsass/src/utf8/checked.h +7 -0
- data/ext/libsass/src/utf8/unchecked.h +7 -0
- data/ext/libsass/src/utf8_string.cpp +1 -1
- data/ext/libsass/src/util.cpp +139 -45
- data/ext/libsass/src/util.hpp +4 -7
- data/ext/libsass/src/values.cpp +15 -23
- data/ext/libsass/win/libsass.sln +13 -2
- data/ext/libsass/win/libsass.sln.DotSettings +9 -0
- data/ext/libsass/win/libsass.targets +3 -0
- data/ext/libsass/win/libsass.vcxproj.filters +9 -0
- data/lib/sassc/version.rb +1 -1
- data/sassc.gemspec +1 -1
- data/test/native_test.rb +1 -1
- metadata +11 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ab44abdb4f517313bbeca4618c3c5263c5a2ce18f80344b53cad2a13abca571c
|
4
|
+
data.tar.gz: e3a28dae62d1fe1ea9c4f97ee67c8952081facad4816c80d0e55b72b414476a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c564ec31e5a8f3e3d13390803acbe204f4033160f2881a5b69b200e1e6c24995e1b0f9e22959dd14c2481fd6b8ccc3f0c3fc692030cbe10c5e077614a1476e4
|
7
|
+
data.tar.gz: '09be01e502cf20d52ced8e4e975c8a2327403b51b99c76a9121bc24d821158ff6f016e2779f632fa94f2db3fb7a71d40fcada1f8ecdbb39ae08f82ec4eaf3c10'
|
data/.travis.yml
CHANGED
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
Sass is more than a technology; Sass is driven by the community of individuals
|
2
|
+
that power its development and use every day. As a community, we want to embrace
|
3
|
+
the very differences that have made our collaboration so powerful, and work
|
4
|
+
together to provide the best environment for learning, growing, and sharing of
|
5
|
+
ideas. It is imperative that we keep Sass a fun, welcoming, challenging, and
|
6
|
+
fair place to play.
|
7
|
+
|
8
|
+
[The full community guidelines can be found on the Sass website.][link]
|
9
|
+
|
10
|
+
[link]: http://sass-lang.com/community-guidelines
|
data/README.md
CHANGED
@@ -6,7 +6,7 @@ This gem combines the speed of `libsass`, the [Sass C implementation](https://gi
|
|
6
6
|
|
7
7
|
### libsass Version
|
8
8
|
|
9
|
-
[3.4
|
9
|
+
[3.5.4](https://github.com/sass/libsass/releases/tag/3.5.4)
|
10
10
|
|
11
11
|
## Installation
|
12
12
|
|
@@ -48,6 +48,9 @@ This gem is maintained by [Ryan Boland](https://ryanboland.com)
|
|
48
48
|
and [awesome contributors](https://github.com/bolandrm/sassc-ruby/graphs/contributors).
|
49
49
|
|
50
50
|
## Changelog
|
51
|
+
- **1.12.0**
|
52
|
+
- [Update Libsass to 3.5.4](https://github.com/sass/sassc-ruby/pull/78)
|
53
|
+
- [bundler is a development dependency](https://github.com/sass/sassc-ruby/pull/51)
|
51
54
|
- **1.11.4**
|
52
55
|
- Fix `Value::List` related issue with sass 3.5.0
|
53
56
|
- **1.11.3**
|
data/ext/libsass/.editorconfig
CHANGED
@@ -5,18 +5,18 @@
|
|
5
5
|
The following is a set of guidelines for contributing to LibSass, which is hosted in the [Sass Organization](https://github.com/sass) on GitHub.
|
6
6
|
These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
|
7
7
|
|
8
|
-
LibSass is a library that implements a [sass language]
|
8
|
+
LibSass is a library that implements a [sass language][8] compiler. As such it does not directly interface with end users (frontend developers).
|
9
9
|
For direct contributions to the LibSass code base you will need to have at least a rough idea of C++, we will not lie about that.
|
10
10
|
But there are other ways to contribute to the progress of LibSass. All contributions are done via github pull requests.
|
11
11
|
|
12
|
-
You can also contribute to the LibSass [documentation]
|
12
|
+
You can also contribute to the LibSass [documentation][9] or provide additional [spec tests][10] (and we will gladly point you in the
|
13
13
|
direction for corners that lack test coverage). Foremost we rely on good and concise bug reports for issues the spec tests do not yet catch.
|
14
14
|
|
15
15
|
## Precheck: My Sass isn't compiling
|
16
|
-
- [ ] Check if you can reproduce the issue via [SourceMap Inspector]
|
17
|
-
- [ ] Validate official ruby sass compiler via [SassMeister]
|
18
|
-
- [ ] Search for similar issue in [LibSass]
|
19
|
-
- [ ] Optionally test your code directly with [sass]
|
16
|
+
- [ ] Check if you can reproduce the issue via [SourceMap Inspector][5] (updated regularly).
|
17
|
+
- [ ] Validate official ruby sass compiler via [SassMeister][6] produces your expected result.
|
18
|
+
- [ ] Search for similar issue in [LibSass][1] and [node-sass][2] (include closed tickets)
|
19
|
+
- [ ] Optionally test your code directly with [sass][7] or [sassc][3] ([installer][4])
|
20
20
|
|
21
21
|
## Precheck: My build/install fails
|
22
22
|
- [ ] Problems with building or installing libsass should be directed to implementors first!
|
@@ -47,7 +47,7 @@ direction for corners that lack test coverage). Foremost we rely on good and con
|
|
47
47
|
## What makes a code test case
|
48
48
|
|
49
49
|
Important is that someone else can get the test case up and running to reproduce it locally. For this
|
50
|
-
we urge you to verify that your sample yields the expected result by testing it via [SassMeister]
|
50
|
+
we urge you to verify that your sample yields the expected result by testing it via [SassMeister][6]
|
51
51
|
or directly via ruby sass or node-sass (or any other libsass implementor) before submitting your bug
|
52
52
|
report. Once you verified all of the above, you may use the template below to file your bug report.
|
53
53
|
|
@@ -1,29 +1,54 @@
|
|
1
|
-
|
1
|
+
[todo]: # (Title: Be as meaningful as possible)
|
2
|
+
[todo]: # (Title: Try to use 60 or less chars)
|
3
|
+
|
4
|
+
[todo]: # (This is only a template!)
|
5
|
+
[todo]: # (remove unneeded bits)
|
6
|
+
[todo]: # (use github preview!)
|
7
|
+
|
8
|
+
## input.scss
|
9
|
+
|
10
|
+
[todo]: # (always test and report with scss syntax)
|
11
|
+
[todo]: # (use sass only when results differ from scss)
|
2
12
|
|
3
|
-
input.scss
|
4
13
|
```scss
|
5
14
|
test {
|
6
15
|
content: bar
|
7
16
|
}
|
8
17
|
```
|
9
18
|
|
10
|
-
|
19
|
+
## Actual results
|
20
|
+
|
21
|
+
[todo]: # (update version info!)
|
22
|
+
|
23
|
+
[libsass 3.X.y][1]
|
11
24
|
```css
|
12
25
|
test {
|
13
26
|
content: bar; }
|
14
27
|
```
|
15
28
|
|
16
|
-
|
29
|
+
## Expected result
|
30
|
+
|
31
|
+
[todo]: # (update version info!)
|
32
|
+
|
33
|
+
ruby sass 3.X.y
|
17
34
|
```css
|
18
35
|
test {
|
19
36
|
content: bar; }
|
20
37
|
```
|
21
38
|
|
39
|
+
[todo]: # (update version info!)
|
40
|
+
[todo]: # (example for node-sass!)
|
41
|
+
|
22
42
|
version info:
|
23
43
|
```cmd
|
24
44
|
$ node-sass --version
|
25
|
-
node-sass 3.
|
26
|
-
libsass 3.
|
45
|
+
node-sass 3.X.y (Wrapper) [JavaScript]
|
46
|
+
libsass 3.X.y (Sass Compiler) [C/C++]
|
27
47
|
```
|
28
48
|
|
49
|
+
[todo]: # (Go to http://libsass.ocbnet.ch/srcmap)
|
50
|
+
[todo]: # (Enter your SCSS code and hit compile)
|
51
|
+
[todo]: # (Click `bookmark` and replace the url)
|
52
|
+
[todo]: # (link is used in actual results above)
|
53
|
+
|
29
54
|
[1]: http://libsass.ocbnet.ch/srcmap/#dGVzdCB7CiAgY29udGVudDogYmFyOyB9Cg==
|
data/ext/libsass/.gitignore
CHANGED
data/ext/libsass/.travis.yml
CHANGED
@@ -1,13 +1,6 @@
|
|
1
1
|
language: cpp
|
2
2
|
sudo: false
|
3
3
|
|
4
|
-
os:
|
5
|
-
- linux
|
6
|
-
- osx
|
7
|
-
|
8
|
-
compiler:
|
9
|
-
- gcc
|
10
|
-
- clang
|
11
4
|
|
12
5
|
# don't create redundant code coverage reports
|
13
6
|
# - AUTOTOOLS=yes COVERAGE=yes BUILD=static
|
@@ -19,27 +12,53 @@ compiler:
|
|
19
12
|
# this will still catch all coding errors!
|
20
13
|
# - AUTOTOOLS=yes COVERAGE=no BUILD=static
|
21
14
|
|
22
|
-
env:
|
23
|
-
- AUTOTOOLS=no COVERAGE=no BUILD=shared
|
24
|
-
- AUTOTOOLS=no COVERAGE=yes BUILD=static
|
25
|
-
- AUTOTOOLS=yes COVERAGE=no BUILD=shared
|
26
|
-
|
27
15
|
# currenty there are various issues when
|
28
16
|
# built with coverage, clang and autotools
|
29
17
|
# - AUTOTOOLS=yes COVERAGE=yes BUILD=shared
|
30
18
|
|
31
19
|
matrix:
|
32
|
-
|
33
|
-
-
|
34
|
-
|
20
|
+
include :
|
21
|
+
- os: linux
|
22
|
+
compiler: gcc
|
23
|
+
env: AUTOTOOLS=no COVERAGE=yes BUILD=static
|
35
24
|
- os: linux
|
25
|
+
compiler: g++-5
|
26
|
+
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared
|
27
|
+
addons:
|
28
|
+
apt:
|
29
|
+
sources:
|
30
|
+
- ubuntu-toolchain-r-test
|
31
|
+
packages:
|
32
|
+
- g++-5
|
33
|
+
- os: linux
|
34
|
+
compiler: clang++-3.7
|
35
|
+
env: AUTOTOOLS=no COVERAGE=yes BUILD=static
|
36
|
+
addons:
|
37
|
+
apt:
|
38
|
+
sources:
|
39
|
+
- ubuntu-toolchain-r-test
|
40
|
+
- llvm-toolchain-precise-3.7
|
41
|
+
packages:
|
42
|
+
- clang-3.7
|
43
|
+
- os: linux
|
44
|
+
compiler: clang
|
45
|
+
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared
|
46
|
+
- os: osx
|
47
|
+
compiler: clang
|
36
48
|
env: AUTOTOOLS=no COVERAGE=no BUILD=shared
|
37
49
|
- os: osx
|
38
|
-
compiler:
|
50
|
+
compiler: clang
|
51
|
+
env: AUTOTOOLS=no COVERAGE=yes BUILD=static
|
39
52
|
- os: osx
|
40
|
-
|
53
|
+
compiler: clang
|
54
|
+
env: AUTOTOOLS=yes COVERAGE=no BUILD=shared
|
41
55
|
|
42
|
-
script:
|
56
|
+
script:
|
57
|
+
- ./script/ci-build-libsass
|
58
|
+
- ./script/ci-build-plugin math
|
59
|
+
- ./script/ci-build-plugin glob
|
60
|
+
- ./script/ci-build-plugin digest
|
61
|
+
- ./script/ci-build-plugin tests
|
43
62
|
before_install: ./script/ci-install-deps
|
44
63
|
install: ./script/ci-install-compiler
|
45
64
|
after_success: ./script/ci-report-coverage
|
data/ext/libsass/GNUmakefile.am
CHANGED
@@ -4,7 +4,7 @@ AM_COPT = -Wall -O2
|
|
4
4
|
AM_COVLDFLAGS =
|
5
5
|
|
6
6
|
if ENABLE_COVERAGE
|
7
|
-
AM_COPT = -
|
7
|
+
AM_COPT = -Wall -O1 -fno-omit-frame-pointer --coverage
|
8
8
|
AM_COVLDFLAGS += -lgcov
|
9
9
|
endif
|
10
10
|
|
@@ -25,63 +25,49 @@ else
|
|
25
25
|
AM_CXXFLAGS += -std=c++0x
|
26
26
|
endif
|
27
27
|
|
28
|
+
TEST_EXTENSIONS = .rb
|
29
|
+
|
28
30
|
if ENABLE_TESTS
|
29
31
|
|
30
|
-
|
32
|
+
SASS_SASSC_PATH ?= $(top_srcdir)/sassc
|
33
|
+
SASS_SPEC_PATH ?= $(top_srcdir)/sass-spec
|
31
34
|
|
35
|
+
noinst_PROGRAMS = tester
|
32
36
|
tester_LDADD = src/libsass.la
|
33
|
-
tester_SOURCES = $(SASS_SASSC_PATH)/sassc.c
|
34
|
-
tester_VERSION ?= `cd "$(SASS_SASSC_PATH)" && ./version.sh`
|
35
|
-
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(tester_VERSION)\""
|
36
|
-
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(tester_VERSION)\""
|
37
37
|
tester_LDFLAGS = $(AM_LDFLAGS)
|
38
|
+
nodist_tester_SOURCES = $(SASS_SASSC_PATH)/sassc.c
|
39
|
+
SASS_SASSC_VERSION ?= `cd "$(SASS_SASSC_PATH)" && ./version.sh`
|
40
|
+
tester_CFLAGS = $(AM_CFLAGS) -DSASSC_VERSION="\"$(SASS_SASSC_VERSION)\""
|
41
|
+
tester_CXXFLAGS = $(AM_CXXFLAGS) -DSASSC_VERSION="\"$(SASS_SASSC_VERSION)\""
|
38
42
|
|
39
43
|
if ENABLE_COVERAGE
|
40
44
|
nodist_EXTRA_tester_SOURCES = non-existent-file-to-force-CXX-linking.cxx
|
41
45
|
endif
|
42
46
|
|
43
|
-
|
44
|
-
|
47
|
+
TESTS = $(SASS_SPEC_PATH)/sass-spec.rb
|
48
|
+
RB_LOG_COMPILER = ./script/tap-runner
|
49
|
+
AM_RB_LOG_FLAGS = $(RUBY)
|
45
50
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
$(SASS_SPEC_PATH)/spec/extends \
|
51
|
-
$(SASS_SPEC_PATH)/spec/libsass \
|
52
|
-
$(SASS_SPEC_PATH)/spec/libsass-closed-issues \
|
53
|
-
$(SASS_SPEC_PATH)/spec/maps \
|
54
|
-
$(SASS_SPEC_PATH)/spec/misc \
|
55
|
-
$(SASS_SPEC_PATH)/spec/regressions \
|
56
|
-
$(SASS_SPEC_PATH)/spec/scss \
|
57
|
-
$(SASS_SPEC_PATH)/spec/scss-tests \
|
58
|
-
$(SASS_SPEC_PATH)/spec/types
|
59
|
-
|
60
|
-
SASS_TEST_FLAGS = -V 3.4 --impl libsass
|
61
|
-
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) ./script/tap-driver
|
62
|
-
AM_LOG_FLAGS = -c ./tester $(LOG_FLAGS)
|
63
|
-
if USE_TAP
|
64
|
-
AM_LOG_FLAGS += -t
|
65
|
-
SASS_TEST_FLAGS += -t | tapout
|
66
|
-
LOG_COMPILER = ./script/tap-runner $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
|
67
|
-
else
|
68
|
-
LOG_COMPILER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
|
69
|
-
endif
|
51
|
+
SASS_TEST_FLAGS = -V 3.5 --impl libsass
|
52
|
+
SASS_TEST_FLAGS += -r $(SASS_SPEC_PATH)
|
53
|
+
SASS_TEST_FLAGS += -c $(top_srcdir)/tester$(EXEEXT)
|
54
|
+
AM_TESTS_ENVIRONMENT = TEST_FLAGS='$(SASS_TEST_FLAGS)'
|
70
55
|
|
71
56
|
SASS_TESTER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb
|
72
|
-
SASS_TESTER += -c $(SASS_LIBSASS_PATH)/tester$(EXEEXT)
|
73
57
|
|
74
58
|
test:
|
75
|
-
$(SASS_TESTER) $(
|
59
|
+
$(SASS_TESTER) $(SASS_TEST_FLAGS)
|
76
60
|
|
77
61
|
test_build:
|
78
|
-
$(SASS_TESTER) $(
|
62
|
+
$(SASS_TESTER) $(SASS_TEST_FLAGS)
|
79
63
|
|
80
64
|
test_full:
|
81
|
-
$(SASS_TESTER) --run-todo $(
|
65
|
+
$(SASS_TESTER) --run-todo $(SASS_TEST_FLAGS)
|
82
66
|
|
83
67
|
test_probe:
|
84
|
-
$(SASS_TESTER) --probe-todo $(
|
68
|
+
$(SASS_TESTER) --probe-todo $(SASS_TEST_FLAGS)
|
69
|
+
|
70
|
+
.PHONY: test test_build test_full test_probe
|
85
71
|
|
86
72
|
endif
|
87
73
|
|
data/ext/libsass/Makefile
CHANGED
@@ -15,10 +15,14 @@ INSTALL ?= install
|
|
15
15
|
CFLAGS ?= -Wall
|
16
16
|
CXXFLAGS ?= -Wall
|
17
17
|
LDFLAGS ?= -Wall
|
18
|
-
|
18
|
+
ifeq "x$(COVERAGE)" "x"
|
19
19
|
CFLAGS += -O2
|
20
20
|
CXXFLAGS += -O2
|
21
21
|
LDFLAGS += -O2
|
22
|
+
else
|
23
|
+
CFLAGS += -O1 -fno-omit-frame-pointer
|
24
|
+
CXXFLAGS += -O1 -fno-omit-frame-pointer
|
25
|
+
LDFLAGS += -O1 -fno-omit-frame-pointer
|
22
26
|
endif
|
23
27
|
LDFLAGS += -Wl,-undefined,error
|
24
28
|
CAT ?= $(if $(filter $(OS),Windows_NT),type,cat)
|
@@ -295,7 +299,7 @@ install-shared: $(DESTDIR)$(PREFIX)/lib/libsass.so \
|
|
295
299
|
install-headers
|
296
300
|
|
297
301
|
$(SASSC_BIN): $(BUILD)
|
298
|
-
$(MAKE) -C $(SASS_SASSC_PATH)
|
302
|
+
$(MAKE) -C $(SASS_SASSC_PATH) build-$(BUILD)-dev
|
299
303
|
|
300
304
|
sassc: $(SASSC_BIN)
|
301
305
|
$(SASSC_BIN) -v
|
@@ -305,16 +309,16 @@ version: $(SASSC_BIN)
|
|
305
309
|
$(SASSC_BIN) -v
|
306
310
|
|
307
311
|
test: $(SASSC_BIN)
|
308
|
-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.
|
312
|
+
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.5 -c $(SASSC_BIN) --impl libsass $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
|
309
313
|
|
310
314
|
test_build: $(SASSC_BIN)
|
311
|
-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.
|
315
|
+
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.5 -c $(SASSC_BIN) --impl libsass $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
|
312
316
|
|
313
317
|
test_full: $(SASSC_BIN)
|
314
|
-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.
|
318
|
+
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.5 -c $(SASSC_BIN) --impl libsass --run-todo $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
|
315
319
|
|
316
320
|
test_probe: $(SASSC_BIN)
|
317
|
-
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.
|
321
|
+
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -V 3.5 -c $(SASSC_BIN) --impl libsass --probe-todo $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
|
318
322
|
|
319
323
|
clean-objects: lib
|
320
324
|
-$(RM) lib/*.a lib/*.so lib/*.dll lib/*.la
|
data/ext/libsass/Makefile.conf
CHANGED
@@ -13,6 +13,7 @@ SOURCES = \
|
|
13
13
|
functions.cpp \
|
14
14
|
color_maps.cpp \
|
15
15
|
environment.cpp \
|
16
|
+
ast_fwd_decl.cpp \
|
16
17
|
bind.cpp \
|
17
18
|
file.cpp \
|
18
19
|
util.cpp \
|
@@ -40,6 +41,8 @@ SOURCES = \
|
|
40
41
|
sass_context.cpp \
|
41
42
|
sass_functions.cpp \
|
42
43
|
sass2scss.cpp \
|
44
|
+
backtrace.cpp \
|
45
|
+
operators.cpp \
|
43
46
|
to_c.cpp \
|
44
47
|
to_value.cpp \
|
45
48
|
source_map.cpp \
|
data/ext/libsass/Readme.md
CHANGED
@@ -1,95 +1,100 @@
|
|
1
|
-
LibSass
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
[![
|
8
|
-
[![
|
9
|
-
[![Coverage Status](https://img.shields.io/coveralls/sass/libsass.svg)](https://coveralls.io/r/sass/libsass?branch=feature%2Ftest-travis-ci-3)
|
10
|
-
[![
|
11
|
-
|
12
|
-
https://
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
https://github.com/sass/
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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.
|
22
36
|
|
23
37
|
About
|
24
38
|
-----
|
25
39
|
|
26
|
-
LibSass is a C
|
27
|
-
|
28
|
-
|
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.
|
29
43
|
|
30
44
|
Developing
|
31
45
|
----------
|
32
46
|
|
33
|
-
As
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
LibSass repository. When developing LibSass, it is best to actually
|
39
|
-
checkout SassC and develop in that directory with the SassC spec
|
40
|
-
and tests there.
|
41
|
-
|
42
|
-
We even run Travis tests for SassC!
|
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!
|
43
52
|
|
44
|
-
|
53
|
+
Testing
|
45
54
|
-------
|
46
55
|
|
47
|
-
Since LibSass is a pure library, tests are run through the [
|
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.
|
48
61
|
|
49
|
-
|
62
|
+
Building
|
63
|
+
--------
|
50
64
|
|
51
|
-
|
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.
|
52
69
|
|
53
|
-
|
54
|
-
with `gdb`, `lldb` and others. E.g.: use `$ DEBUG=1 ./script/spec` to run the tests with
|
55
|
-
a debug build.
|
70
|
+
See the [build docs for further instructions](docs/build.md)!
|
56
71
|
|
57
|
-
|
72
|
+
Compatibility
|
58
73
|
-------------
|
59
74
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
[
|
64
|
-
to your favorite programing language.
|
65
|
-
|
66
|
-
If you want to build or interface with LibSass, we recommend to check out the
|
67
|
-
documentation pages about [building LibSass](docs/build.md) and
|
68
|
-
the [C-API documentation](docs/api-doc.md).
|
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).
|
69
79
|
|
70
80
|
About Sass
|
71
81
|
----------
|
72
82
|
|
73
|
-
Sass is a CSS pre-processor language to add on exciting, new,
|
74
|
-
|
75
|
-
and by far the most mature and up to date codebase.
|
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.
|
76
85
|
|
77
|
-
Sass was originally
|
78
|
-
|
79
|
-
|
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]).
|
80
89
|
|
81
90
|
For more information about Sass itself, please visit http://sass-lang.com
|
82
91
|
|
83
|
-
Initial development of
|
92
|
+
Initial development of LibSass by Aaron Leung and Hampton Catlin was supported by [Moovweb](http://www.moovweb.com).
|
84
93
|
|
85
94
|
Licensing
|
86
95
|
---------
|
87
96
|
|
88
|
-
Our MIT license is designed to be as simple
|
89
|
-
|
90
|
-
sass2scss was originally written by [Marcel Greter][@mgreter]
|
91
|
-
and he happily agreed to have it merged into the project.
|
92
|
-
|
97
|
+
Our [MIT license](LICENSE) is designed to be as simple and liberal as possible.
|
93
98
|
|
94
99
|
[@hcatlin]: https://github.com/hcatlin
|
95
100
|
[@akhleung]: https://github.com/akhleung
|