summaryrefslogtreecommitdiffstats
path: root/node_modules/node-sass/src/libsass/contrib
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/node-sass/src/libsass/contrib
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/node-sass/src/libsass/contrib')
-rw-r--r--node_modules/node-sass/src/libsass/contrib/libsass.spec66
-rw-r--r--node_modules/node-sass/src/libsass/contrib/plugin.cpp60
2 files changed, 126 insertions, 0 deletions
diff --git a/node_modules/node-sass/src/libsass/contrib/libsass.spec b/node_modules/node-sass/src/libsass/contrib/libsass.spec
new file mode 100644
index 0000000..a83d5f0
--- /dev/null
+++ b/node_modules/node-sass/src/libsass/contrib/libsass.spec
@@ -0,0 +1,66 @@
+Name: libsass
+Version: %{version}
+Release: 1%{?dist}
+Summary: A C/C++ implementation of a Sass compiler
+
+License: MIT
+URL: http://libsass.org
+Source0: %{name}-%{version}.tar.gz
+
+BuildRequires: gcc-c++ >= 4.7
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+
+
+%description
+LibSass is a C/C++ port of the Sass engine. The point is to be simple, fast, and easy to integrate.
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+
+%prep
+%setup -q
+autoreconf --force --install
+
+
+%build
+%configure --disable-static \
+ --disable-tests \
+ --enable-shared
+
+make %{?_smp_mflags}
+
+
+%install
+%make_install
+find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+
+%files
+%doc Readme.md LICENSE
+%{_libdir}/*.so.*
+
+%files devel
+%doc
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
+
+
+%changelog
+* Tue Feb 10 2015 Gawain Lynch <gawain.lynch@gmail.com> - 3.1.0-1
+- Initial SPEC file
+
diff --git a/node_modules/node-sass/src/libsass/contrib/plugin.cpp b/node_modules/node-sass/src/libsass/contrib/plugin.cpp
new file mode 100644
index 0000000..2f67bb3
--- /dev/null
+++ b/node_modules/node-sass/src/libsass/contrib/plugin.cpp
@@ -0,0 +1,60 @@
+#include <cstring>
+#include <iostream>
+#include <stdint.h>
+#include <sass.h>
+
+// gcc: g++ -shared plugin.cpp -o plugin.so -fPIC -Llib -lsass
+// mingw: g++ -shared plugin.cpp -o plugin.dll -Llib -lsass
+
+extern "C" const char* ADDCALL libsass_get_version() {
+ return libsass_version();
+}
+
+union Sass_Value* custom_function(const union Sass_Value* s_args, Sass_Function_Entry cb, struct Sass_Compiler* comp)
+{
+ // get context/option struct associated with this compiler
+ struct Sass_Context* ctx = sass_compiler_get_context(comp);
+ struct Sass_Options* opts = sass_compiler_get_options(comp);
+ // get the cookie from function descriptor
+ void* cookie = sass_function_get_cookie(cb);
+ // we actually abuse the void* to store an "int"
+ return sass_make_number((intptr_t)cookie, "px");
+}
+
+extern "C" Sass_Function_List ADDCALL libsass_load_functions()
+{
+ // allocate a custom function caller
+ Sass_Function_Entry c_func =
+ sass_make_function("foo()", custom_function, (void*)42);
+ // create list of all custom functions
+ Sass_Function_List fn_list = sass_make_function_list(1);
+ // put the only function in this plugin to the list
+ sass_function_set_list_entry(fn_list, 0, c_func);
+ // return the list
+ return fn_list;
+}
+
+Sass_Import_List custom_importer(const char* cur_path, Sass_Importer_Entry cb, struct Sass_Compiler* comp)
+{
+ // get the cookie from importer descriptor
+ void* cookie = sass_importer_get_cookie(cb);
+ // create a list to hold our import entries
+ Sass_Import_List incs = sass_make_import_list(1);
+ // create our only import entry (route path back)
+ incs[0] = sass_make_import_entry(cur_path, 0, 0);
+ // return imports
+ return incs;
+}
+
+extern "C" Sass_Importer_List ADDCALL libsass_load_importers()
+{
+ // allocate a custom function caller
+ Sass_Importer_Entry c_imp =
+ sass_make_importer(custom_importer, - 99, (void*)42);
+ // create list of all custom functions
+ Sass_Importer_List imp_list = sass_make_importer_list(1);
+ // put the only function in this plugin to the list
+ sass_importer_set_list_entry(imp_list, 0, c_imp);
+ // return the list
+ return imp_list;
+}