Skip to content
Merged
8 changes: 8 additions & 0 deletions releases.json
Original file line number Diff line number Diff line change
Expand Up @@ -1437,6 +1437,14 @@
"1.6.17-2"
]
},
"libsass": {
"dependency_names": [
"libsass"
],
"versions": [
"3.6.4-1"
]
},
"libsndfile": {
"dependency_names": [
"sndfile"
Expand Down
9 changes: 9 additions & 0 deletions subprojects/libsass.wrap
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[wrap-file]
directory = libsass-3.6.4
source_url = https://github.com/sass/libsass/archive/refs/tags/3.6.4.tar.gz
source_filename = libsass-3.6.4.tar.gz
source_hash = f9484d9a6df60576e791566eab2f757a97fd414fce01dd41fc0a693ea5db2889
patch_directory = libsass

[provide]
libsass = libsass_dep
14 changes: 14 additions & 0 deletions subprojects/packagefiles/libsass/include/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
install_headers('sass.h', 'sass2scss.h')

version_conf_data = configuration_data()
version_conf_data.set('PACKAGE_VERSION', meson.project_version())

version_h = configure_file(
input: 'sass/version.h.in',
output: 'version.h',
configuration: version_conf_data)

install_headers(
'sass/base.h', 'sass/context.h', 'sass/functions.h', 'sass/values.h',
version_h,
subdir: 'sass')
18 changes: 18 additions & 0 deletions subprojects/packagefiles/libsass/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
project('libsass', 'c', 'cpp',
version: '3.6.4',
meson_version : '>= 0.48.0',
default_options: [
'c_std=c99',
'cpp_std=c++11',
'buildtype=debugoptimized',
])

add_project_arguments(
'-DLIBSASS_VERSION="@0@"'.format(meson.project_version()),
language: ['cpp'])

inc = include_directories('include')
winres_path = files(join_paths('res', 'resource.rc'))

subdir('include')
subdir('src')
114 changes: 114 additions & 0 deletions subprojects/packagefiles/libsass/src/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
cpp_sources = [
'ast.cpp',
'ast_values.cpp',
'ast_supports.cpp',
'ast_sel_cmp.cpp',
'ast_sel_unify.cpp',
'ast_sel_super.cpp',
'ast_sel_weave.cpp',
'ast_selectors.cpp',
'context.cpp',
'constants.cpp',
'fn_utils.cpp',
'fn_miscs.cpp',
'fn_maps.cpp',
'fn_lists.cpp',
'fn_colors.cpp',
'fn_numbers.cpp',
'fn_strings.cpp',
'fn_selectors.cpp',
'color_maps.cpp',
'environment.cpp',
'ast_fwd_decl.cpp',
'bind.cpp',
'file.cpp',
'util.cpp',
'util_string.cpp',
'json.cpp',
'units.cpp',
'values.cpp',
'plugins.cpp',
'source.cpp',
'position.cpp',
'lexer.cpp',
'parser.cpp',
'parser_selectors.cpp',
'prelexer.cpp',
'eval.cpp',
'eval_selectors.cpp',
'expand.cpp',
'listize.cpp',
'cssize.cpp',
'extender.cpp',
'extension.cpp',
'stylesheet.cpp',
'output.cpp',
'inspect.cpp',
'emitter.cpp',
'check_nesting.cpp',
'remove_placeholders.cpp',
'sass.cpp',
'sass_values.cpp',
'sass_context.cpp',
'sass_functions.cpp',
'sass2scss.cpp',
'backtrace.cpp',
'operators.cpp',
'ast2c.cpp',
'c2ast.cpp',
'to_value.cpp',
'source_map.cpp',
'error_handling.cpp',
'memory/allocator.cpp',
'memory/shared_ptr.cpp',
'utf8_string.cpp',
'base64vlq.cpp',
]

c_sources = [
'cencode.c',
]

sass_sources = cpp_sources + c_sources

if host_machine.system() == 'windows'
windows = import('windows')
sass_sources += [windows.compile_resources(winres_path)]
endif

if host_machine.system() != 'windows'
if meson.version().version_compare('>= 0.62')
dl_dep = dependency('dl')
else
dl_dep = cc.find_library('dl', required : false)
endif
else
dl_dep = declare_dependency()
endif

lib_args = []
if host_machine.system() == 'windows' and get_option('default_library') != 'static'
lib_args += ['-DADD_EXPORTS']
endif

libsass = library(
'sass',
sass_sources,
dependencies: [dl_dep],
c_args: lib_args,
cpp_args: lib_args,
include_directories: inc,
soversion: '1',
install: true)

libsass_dep = declare_dependency(
link_with: libsass,
include_directories: [inc])

pkg = import('pkgconfig')
pkg.generate(
libsass,
name: 'libsass',
description: 'A C implementation of a Sass compiler',
url: 'https://github.com/sass/libsass',
)