diff --git a/recipes/sassc/all/conandata.yml b/recipes/sassc/all/conandata.yml new file mode 100644 index 0000000000000..656792813274c --- /dev/null +++ b/recipes/sassc/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "3.6.1": + sha256: 8cee391c49a102b4464f86fc40c4ceac3a2ada52a89c4c933d8348e3e4542a60 + url: https://github.com/sass/sassc/archive/3.6.1.tar.gz diff --git a/recipes/sassc/all/conanfile.py b/recipes/sassc/all/conanfile.py new file mode 100644 index 0000000000000..7723b3853e727 --- /dev/null +++ b/recipes/sassc/all/conanfile.py @@ -0,0 +1,61 @@ +from conans import ConanFile, AutoToolsBuildEnvironment, tools +from conans.errors import ConanInvalidConfiguration +import os + + +class SasscConan(ConanFile): + name = "sassc" + license = "MIT" + homepage = "https://sass-lang.com/libsass" + url = "https://github.com/conan-io/conan-center-index" + description = "libsass command line driver" + topics = ("Sass", "sassc", "compiler") + settings = "os", "compiler", "build_type", "arch" + + build_requires = "autoconf/2.69", "libtool/2.4.6" + + requires = "libsass/3.6.4" + + _autotools = None + + @property + def _source_subfolder(self): + return "source_subfolder" + + def config_options(self): + del self.settings.compiler.libcxx + del self.settings.compiler.cppstd + + def configure(self): + if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: + raise ConanInvalidConfiguration("sassc supports only Linux, FreeBSD and Macos at this time, contributions are welcomed") + + def source(self): + tools.get(**self.conan_data["sources"][self.version]) + extracted_dir = self.name + "-" + self.version + tools.rename(extracted_dir, self._source_subfolder) + + def _configure_autotools(self): + if self._autotools: + return self._autotools + self.run("autoreconf -fiv", run_environment=True) + self._autotools = AutoToolsBuildEnvironment(self) + self._autotools.configure(args=["--disable-tests"]) + return self._autotools + + def build(self): + with tools.chdir(self._source_subfolder): + tools.save(path="VERSION", content="%s" % self.version) + autotools = self._configure_autotools() + autotools.make() + + def package(self): + with tools.chdir(self._source_subfolder): + autotools = self._configure_autotools() + autotools.install() + self.copy("LICENSE", src=self._source_subfolder, dst="licenses") + + def package_info(self): + bin_path = os.path.join(self.package_folder, "bin") + self.output.info("Appending PATH env var with : {}".format(bin_path)) + self.env_info.PATH.append(bin_path) diff --git a/recipes/sassc/all/test_package/conanfile.py b/recipes/sassc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..70d62ab9bfc61 --- /dev/null +++ b/recipes/sassc/all/test_package/conanfile.py @@ -0,0 +1,9 @@ +from conans import ConanFile, tools + + +class LibsassTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + + def test(self): + if not tools.cross_building(self): + self.run("sassc --version", run_environment=True) diff --git a/recipes/sassc/config.yml b/recipes/sassc/config.yml new file mode 100644 index 0000000000000..ffadf2d2ef31f --- /dev/null +++ b/recipes/sassc/config.yml @@ -0,0 +1,3 @@ +versions: + "3.6.1": + folder: all