sassc 2.2.1 → 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/.travis.yml +2 -0
- data/CHANGELOG.md +18 -0
- data/Rakefile +1 -3
- data/ext/extconf.rb +13 -5
- data/ext/libsass/VERSION +1 -1
- data/ext/libsass/include/sass/base.h +2 -1
- data/ext/libsass/include/sass/context.h +4 -0
- data/ext/libsass/src/MurmurHash2.hpp +91 -0
- data/ext/libsass/src/ast.cpp +158 -168
- data/ext/libsass/src/ast.hpp +389 -230
- data/ext/libsass/src/ast_def_macros.hpp +18 -10
- data/ext/libsass/src/ast_fwd_decl.cpp +4 -3
- data/ext/libsass/src/ast_fwd_decl.hpp +98 -165
- data/ext/libsass/src/ast_helpers.hpp +292 -0
- data/ext/libsass/src/ast_sel_cmp.cpp +219 -732
- data/ext/libsass/src/ast_sel_super.cpp +539 -0
- data/ext/libsass/src/ast_sel_unify.cpp +207 -212
- data/ext/libsass/src/ast_sel_weave.cpp +616 -0
- data/ext/libsass/src/ast_selectors.cpp +594 -1026
- data/ext/libsass/src/ast_selectors.hpp +339 -385
- data/ext/libsass/src/ast_supports.cpp +36 -52
- data/ext/libsass/src/ast_supports.hpp +29 -29
- data/ext/libsass/src/ast_values.cpp +271 -84
- data/ext/libsass/src/ast_values.hpp +116 -107
- data/ext/libsass/src/backtrace.cpp +9 -9
- data/ext/libsass/src/backtrace.hpp +5 -5
- data/ext/libsass/src/base64vlq.cpp +2 -2
- data/ext/libsass/src/base64vlq.hpp +1 -1
- data/ext/libsass/src/bind.cpp +18 -18
- data/ext/libsass/src/bind.hpp +1 -1
- data/ext/libsass/src/c2ast.cpp +3 -3
- data/ext/libsass/src/c2ast.hpp +1 -1
- data/ext/libsass/src/cencode.c +4 -6
- data/ext/libsass/src/check_nesting.cpp +40 -41
- data/ext/libsass/src/check_nesting.hpp +6 -2
- data/ext/libsass/src/color_maps.cpp +14 -13
- data/ext/libsass/src/color_maps.hpp +1 -9
- data/ext/libsass/src/constants.cpp +5 -0
- data/ext/libsass/src/constants.hpp +6 -0
- data/ext/libsass/src/context.cpp +92 -119
- data/ext/libsass/src/context.hpp +41 -53
- data/ext/libsass/src/cssize.cpp +66 -149
- data/ext/libsass/src/cssize.hpp +17 -23
- data/ext/libsass/src/dart_helpers.hpp +199 -0
- data/ext/libsass/src/debugger.hpp +451 -295
- data/ext/libsass/src/emitter.cpp +15 -16
- data/ext/libsass/src/emitter.hpp +10 -12
- data/ext/libsass/src/environment.cpp +27 -27
- data/ext/libsass/src/environment.hpp +29 -24
- data/ext/libsass/src/error_handling.cpp +62 -41
- data/ext/libsass/src/error_handling.hpp +61 -51
- data/ext/libsass/src/eval.cpp +167 -281
- data/ext/libsass/src/eval.hpp +27 -29
- data/ext/libsass/src/eval_selectors.cpp +75 -0
- data/ext/libsass/src/expand.cpp +275 -222
- data/ext/libsass/src/expand.hpp +36 -16
- 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 +81 -72
- data/ext/libsass/src/file.hpp +28 -37
- data/ext/libsass/src/fn_colors.cpp +20 -18
- data/ext/libsass/src/fn_lists.cpp +30 -29
- data/ext/libsass/src/fn_maps.cpp +3 -3
- data/ext/libsass/src/fn_miscs.cpp +34 -46
- data/ext/libsass/src/fn_numbers.cpp +20 -13
- data/ext/libsass/src/fn_selectors.cpp +98 -128
- data/ext/libsass/src/fn_strings.cpp +47 -33
- data/ext/libsass/src/fn_utils.cpp +31 -29
- data/ext/libsass/src/fn_utils.hpp +17 -11
- data/ext/libsass/src/inspect.cpp +186 -148
- data/ext/libsass/src/inspect.hpp +31 -29
- data/ext/libsass/src/lexer.cpp +20 -82
- data/ext/libsass/src/lexer.hpp +5 -16
- data/ext/libsass/src/listize.cpp +23 -37
- data/ext/libsass/src/listize.hpp +8 -9
- data/ext/libsass/src/mapping.hpp +1 -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/{SharedPtr.cpp → shared_ptr.cpp} +2 -2
- data/ext/libsass/src/memory/{SharedPtr.hpp → shared_ptr.hpp} +55 -9
- data/ext/libsass/src/memory.hpp +12 -0
- data/ext/libsass/src/operation.hpp +71 -61
- data/ext/libsass/src/operators.cpp +19 -18
- data/ext/libsass/src/operators.hpp +11 -11
- data/ext/libsass/src/ordered_map.hpp +112 -0
- data/ext/libsass/src/output.cpp +45 -64
- data/ext/libsass/src/output.hpp +6 -6
- data/ext/libsass/src/parser.cpp +512 -700
- data/ext/libsass/src/parser.hpp +89 -97
- data/ext/libsass/src/parser_selectors.cpp +189 -0
- data/ext/libsass/src/permutate.hpp +164 -0
- data/ext/libsass/src/plugins.cpp +7 -7
- data/ext/libsass/src/plugins.hpp +8 -8
- data/ext/libsass/src/position.cpp +7 -26
- data/ext/libsass/src/position.hpp +44 -21
- data/ext/libsass/src/prelexer.cpp +6 -6
- data/ext/libsass/src/remove_placeholders.cpp +55 -56
- data/ext/libsass/src/remove_placeholders.hpp +21 -18
- data/ext/libsass/src/sass.cpp +16 -15
- data/ext/libsass/src/sass.hpp +10 -5
- data/ext/libsass/src/sass2scss.cpp +4 -4
- data/ext/libsass/src/sass_context.cpp +91 -122
- data/ext/libsass/src/sass_context.hpp +2 -2
- data/ext/libsass/src/sass_functions.cpp +1 -1
- data/ext/libsass/src/sass_values.cpp +8 -11
- 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 +22 -18
- data/ext/libsass/src/source_map.hpp +12 -9
- data/ext/libsass/src/stylesheet.cpp +22 -0
- data/ext/libsass/src/stylesheet.hpp +57 -0
- data/ext/libsass/src/to_value.cpp +2 -2
- data/ext/libsass/src/to_value.hpp +1 -1
- data/ext/libsass/src/units.cpp +24 -22
- data/ext/libsass/src/units.hpp +8 -8
- data/ext/libsass/src/utf8_string.cpp +9 -10
- data/ext/libsass/src/utf8_string.hpp +7 -6
- data/ext/libsass/src/util.cpp +48 -50
- data/ext/libsass/src/util.hpp +20 -21
- data/ext/libsass/src/util_string.cpp +111 -61
- data/ext/libsass/src/util_string.hpp +62 -8
- data/ext/libsass/src/values.cpp +12 -12
- data/lib/sassc/engine.rb +5 -3
- data/lib/sassc/functions_handler.rb +8 -8
- data/lib/sassc/native.rb +4 -6
- data/lib/sassc/script.rb +4 -4
- data/lib/sassc/version.rb +1 -1
- data/test/functions_test.rb +18 -1
- data/test/native_test.rb +4 -4
- metadata +29 -15
- data/ext/libsass/src/extend.cpp +0 -2132
- data/ext/libsass/src/extend.hpp +0 -86
- data/ext/libsass/src/node.cpp +0 -322
- data/ext/libsass/src/node.hpp +0 -118
- data/ext/libsass/src/paths.hpp +0 -71
- data/ext/libsass/src/sass_util.cpp +0 -152
- data/ext/libsass/src/sass_util.hpp +0 -256
- data/ext/libsass/src/subset_map.cpp +0 -58
- data/ext/libsass/src/subset_map.hpp +0 -76
- data/lib/sassc/native/lib_c.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75155de90eb3449ed2a1214ca6ab2b82ffe69b144c2a8eaf8a6a4fd522b58ea4
|
4
|
+
data.tar.gz: 8575ebe24a2d56a9bea0e4574ebd23753e283d3b34bf571489f318a357bce2b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae3eb9431fb5d9de9e1c1759844e1144aba73f59b7de40e1b06d77ba5567bc894a2f0a4ef2d3b6dcce9226044d52de5eeacb7759e715f3eb1bd4818b56b9876c
|
7
|
+
data.tar.gz: e4a07f5789ec2d9f4dbf04bfaf13b5d12224cf4ffd9f72721fac8edfd10eb2b7085af53d70248ce78112ee7af0ea06fb5e452388997eab810d07bd5a7de08a5c
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
- **2.4.0**
|
2
|
+
- [Update libsass to 3.6.4](https://github.com/sass/sassc-ruby/pull/199)
|
3
|
+
- [Use FFI::MemoryPointer instead of libc's malloc()](https://github.com/sass/sassc-ruby/pull/205)
|
4
|
+
- [Test against Ruby 2.7.0](https://github.com/sass/sassc-ruby/pull/193)
|
5
|
+
|
6
|
+
- **2.3.0**
|
7
|
+
- [Fix rake gem:native task](https://github.com/sass/sassc-ruby/pull/196)
|
8
|
+
- [disable lto flag for darwin + nix](https://github.com/sass/sassc-ruby/pull/166)
|
9
|
+
- [Sort input file list](https://github.com/sass/sassc-ruby/pull/178)
|
10
|
+
- [Set appropriate encoding for source_map](https://github.com/sass/sassc-ruby/pull/152)
|
11
|
+
- [allow passing functions directly](https://github.com/sass/sassc-ruby/pull/162)
|
12
|
+
- [always dispose data context](https://github.com/sass/sassc-ruby/pull/161)
|
13
|
+
- [Update libsass to 3.6.3](https://github.com/sass/sassc-ruby/pull/164)
|
14
|
+
- [Restore strip symbols](https://github.com/sass/sassc-ruby/pull/184)
|
15
|
+
- [Default --march-tune-native to false](https://github.com/sass/sassc-ruby/pull/158)
|
16
|
+
- [Fix compile issue on Mac OS X](https://github.com/sass/sassc-ruby/pull/174)
|
17
|
+
- [Test on TruffleRuby in TravisCI](https://github.com/sass/sassc-ruby/pull/171)
|
18
|
+
- [Use RbConfig::MAKEFILE_CONFIG['DLEXT'] instead of hardcoding extensions](https://github.com/sass/sassc-ruby/pull/173)
|
1
19
|
- **2.2.1**
|
2
20
|
- [Fix LoadError on some non-rvm environments](https://github.com/sass/sassc-ruby/pull/156)
|
3
21
|
- **2.2.0**
|
data/Rakefile
CHANGED
@@ -36,9 +36,7 @@ task 'gem:native' do
|
|
36
36
|
|
37
37
|
# The RUBY_CC_VERSION here doesn't matter for the final package.
|
38
38
|
# Only one version should be specified, as the shared library is Ruby-agnostic.
|
39
|
-
|
40
|
-
# g++-multilib is installed for 64->32-bit cross-compilation.
|
41
|
-
RakeCompilerDock.sh "sudo apt-get install -y g++-multilib && gem i rake bundler --no-document && bundle && "\
|
39
|
+
RakeCompilerDock.sh "gem i rake bundler --no-document && bundle && "\
|
42
40
|
"rake clean && rake cross native gem MAKE='nice make -j`nproc`' "\
|
43
41
|
"RUBY_CC_VERSION=2.6.0 CLEAN=1"
|
44
42
|
end
|
data/ext/extconf.rb
CHANGED
@@ -19,13 +19,17 @@ if enable_config('static-stdlib', false)
|
|
19
19
|
$LDFLAGS << ' -static-libgcc -static-libstdc++'
|
20
20
|
end
|
21
21
|
|
22
|
-
|
23
|
-
if enable_config('march-tune-native', true)
|
22
|
+
if enable_config('march-tune-native', false)
|
24
23
|
$CFLAGS << ' -march=native -mtune=native'
|
25
24
|
$CXXFLAGS << ' -march=native -mtune=native'
|
26
25
|
end
|
27
26
|
|
28
|
-
|
27
|
+
# darwin nix clang doesn't support lto
|
28
|
+
# disable -lto flag for darwin + nix
|
29
|
+
# see: https://github.com/sass/sassc-ruby/issues/148
|
30
|
+
enable_lto_by_default = (Gem::Platform.local.os == "darwin" && !ENV['NIX_CC'].nil?)
|
31
|
+
|
32
|
+
if enable_config('lto', enable_lto_by_default)
|
29
33
|
$CFLAGS << ' -flto'
|
30
34
|
$CXXFLAGS << ' -flto'
|
31
35
|
$LDFLAGS << ' -flto'
|
@@ -56,10 +60,14 @@ $INCFLAGS << " -I$(srcdir)/libsass/include"
|
|
56
60
|
$VPATH << "$(srcdir)/libsass/src"
|
57
61
|
Dir.chdir(__dir__) do
|
58
62
|
$VPATH += Dir['libsass/src/*/'].map { |p| "$(srcdir)/#{p}" }
|
59
|
-
$srcs = Dir['libsass/src/**/*.{c,cpp}']
|
63
|
+
$srcs = Dir['libsass/src/**/*.{c,cpp}'].sort
|
60
64
|
end
|
61
65
|
|
62
|
-
|
66
|
+
# libsass.bundle malformed object (unknown load command 7) on Mac OS X
|
67
|
+
# See https://github.com/sass/sassc-ruby/pull/174
|
68
|
+
if enable_config('strip', RbConfig::CONFIG['host_os'].downcase !~ /darwin/)
|
69
|
+
MakeMakefile::LINK_SO << "\nstrip -x $@"
|
70
|
+
end
|
63
71
|
|
64
72
|
# Don't link libruby.
|
65
73
|
$LIBRUBYARG = nil
|
data/ext/libsass/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.6.
|
1
|
+
3.6.4
|
@@ -125,6 +125,9 @@ ADDAPI char** ADDCALL sass_context_get_included_files (struct Sass_Context* ctx)
|
|
125
125
|
// Getters for options include path array
|
126
126
|
ADDAPI size_t ADDCALL sass_option_get_include_path_size(struct Sass_Options* options);
|
127
127
|
ADDAPI const char* ADDCALL sass_option_get_include_path(struct Sass_Options* options, size_t i);
|
128
|
+
// Plugin paths to load dynamic libraries work the same
|
129
|
+
ADDAPI size_t ADDCALL sass_option_get_plugin_path_size(struct Sass_Options* options);
|
130
|
+
ADDAPI const char* ADDCALL sass_option_get_plugin_path(struct Sass_Options* options, size_t i);
|
128
131
|
|
129
132
|
// Calculate the size of the stored null terminated array
|
130
133
|
ADDAPI size_t ADDCALL sass_context_get_included_files_size (struct Sass_Context* ctx);
|
@@ -134,6 +137,7 @@ ADDAPI char* ADDCALL sass_context_take_error_json (struct Sass_Context* ctx);
|
|
134
137
|
ADDAPI char* ADDCALL sass_context_take_error_text (struct Sass_Context* ctx);
|
135
138
|
ADDAPI char* ADDCALL sass_context_take_error_message (struct Sass_Context* ctx);
|
136
139
|
ADDAPI char* ADDCALL sass_context_take_error_file (struct Sass_Context* ctx);
|
140
|
+
ADDAPI char* ADDCALL sass_context_take_error_src (struct Sass_Context* ctx);
|
137
141
|
ADDAPI char* ADDCALL sass_context_take_output_string (struct Sass_Context* ctx);
|
138
142
|
ADDAPI char* ADDCALL sass_context_take_source_map_string (struct Sass_Context* ctx);
|
139
143
|
ADDAPI char** ADDCALL sass_context_take_included_files (struct Sass_Context* ctx);
|
@@ -0,0 +1,91 @@
|
|
1
|
+
//-----------------------------------------------------------------------------
|
2
|
+
// MurmurHash2 was written by Austin Appleby, and is placed in the public
|
3
|
+
// domain. The author hereby disclaims copyright to this source code.
|
4
|
+
//-----------------------------------------------------------------------------
|
5
|
+
// LibSass only needs MurmurHash2, so we made this header only
|
6
|
+
//-----------------------------------------------------------------------------
|
7
|
+
|
8
|
+
#ifndef _MURMURHASH2_H_
|
9
|
+
#define _MURMURHASH2_H_
|
10
|
+
|
11
|
+
//-----------------------------------------------------------------------------
|
12
|
+
// Platform-specific functions and macros
|
13
|
+
|
14
|
+
// Microsoft Visual Studio
|
15
|
+
|
16
|
+
#if defined(_MSC_VER) && (_MSC_VER < 1600)
|
17
|
+
|
18
|
+
typedef unsigned char uint8_t;
|
19
|
+
typedef unsigned int uint32_t;
|
20
|
+
typedef unsigned __int64 uint64_t;
|
21
|
+
|
22
|
+
// Other compilers
|
23
|
+
|
24
|
+
#else // defined(_MSC_VER)
|
25
|
+
|
26
|
+
#include <stdint.h>
|
27
|
+
|
28
|
+
#endif // !defined(_MSC_VER)
|
29
|
+
|
30
|
+
//-----------------------------------------------------------------------------
|
31
|
+
|
32
|
+
inline uint32_t MurmurHash2 ( const void * key, int len, uint32_t seed )
|
33
|
+
{
|
34
|
+
// 'm' and 'r' are mixing constants generated offline.
|
35
|
+
// They're not really 'magic', they just happen to work well.
|
36
|
+
|
37
|
+
const uint32_t m = 0x5bd1e995;
|
38
|
+
const int r = 24;
|
39
|
+
|
40
|
+
// Initialize the hash to a 'random' value
|
41
|
+
|
42
|
+
uint32_t h = seed ^ len;
|
43
|
+
|
44
|
+
// Mix 4 bytes at a time into the hash
|
45
|
+
|
46
|
+
const unsigned char * data = (const unsigned char *)key;
|
47
|
+
|
48
|
+
while(len >= 4)
|
49
|
+
{
|
50
|
+
uint32_t k = *(uint32_t*)data;
|
51
|
+
|
52
|
+
k *= m;
|
53
|
+
k ^= k >> r;
|
54
|
+
k *= m;
|
55
|
+
|
56
|
+
h *= m;
|
57
|
+
h ^= k;
|
58
|
+
|
59
|
+
data += 4;
|
60
|
+
len -= 4;
|
61
|
+
}
|
62
|
+
|
63
|
+
// Handle the last few bytes of the input array
|
64
|
+
|
65
|
+
switch(len)
|
66
|
+
{
|
67
|
+
case 3:
|
68
|
+
h ^= data[2] << 16;
|
69
|
+
/* fall through */
|
70
|
+
case 2:
|
71
|
+
h ^= data[1] << 8;
|
72
|
+
/* fall through */
|
73
|
+
case 1:
|
74
|
+
h ^= data[0];
|
75
|
+
h *= m;
|
76
|
+
};
|
77
|
+
|
78
|
+
// Do a few final mixes of the hash to ensure the last few
|
79
|
+
// bytes are well-incorporated.
|
80
|
+
|
81
|
+
h ^= h >> 13;
|
82
|
+
h *= m;
|
83
|
+
h ^= h >> 15;
|
84
|
+
|
85
|
+
return h;
|
86
|
+
}
|
87
|
+
|
88
|
+
//-----------------------------------------------------------------------------
|
89
|
+
|
90
|
+
#endif // _MURMURHASH2_H_
|
91
|
+
|