From 2f66c70f1db876743518e24edc4af987ee3fb4f6 Mon Sep 17 00:00:00 2001 From: Chris Mc Date: Mon, 18 Jul 2022 03:23:40 -0700 Subject: [PATCH] (#11709) libnfnetlink: add v1.0.2 + modernize --- recipes/libnfnetlink/all/conandata.yml | 3 +++ recipes/libnfnetlink/all/conanfile.py | 25 ++++++++++++++----------- recipes/libnfnetlink/config.yml | 2 ++ 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/recipes/libnfnetlink/all/conandata.yml b/recipes/libnfnetlink/all/conandata.yml index 457c91b844d87..b5ce8a9c9adc1 100644 --- a/recipes/libnfnetlink/all/conandata.yml +++ b/recipes/libnfnetlink/all/conandata.yml @@ -2,3 +2,6 @@ sources: "1.0.1": sha256: f270e19de9127642d2a11589ef2ec97ef90a649a74f56cf9a96306b04817b51a url: https://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-1.0.1.tar.bz2 + "1.0.2": + sha256: b064c7c3d426efb4786e60a8e6859b82ee2f2c5e49ffeea640cfe4fe33cbc376 + url: https://www.netfilter.org/projects/libnfnetlink/files/libnfnetlink-1.0.2.tar.bz2 diff --git a/recipes/libnfnetlink/all/conanfile.py b/recipes/libnfnetlink/all/conanfile.py index 78ea9aac4ff4b..10540d39fbf9c 100644 --- a/recipes/libnfnetlink/all/conanfile.py +++ b/recipes/libnfnetlink/all/conanfile.py @@ -1,8 +1,9 @@ import os +import functools from conans import ConanFile, tools, AutoToolsBuildEnvironment from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.29.1" +required_conan_version = ">=1.43.0" class LibnfnetlinkConan(ConanFile): name = "libnfnetlink" @@ -14,36 +15,35 @@ class LibnfnetlinkConan(ConanFile): settings = "os", "compiler", "build_type", "arch" options = {"shared": [True, False], "fPIC": [True, False]} default_options = {"shared": False, "fPIC": True} - _autotools = None @property def _source_subfolder(self): return "source_subfolder" def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + tools.get(**self.conan_data["sources"][self.version], + destination=self._source_subfolder, strip_root=True) - def configure(self): + def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration("libnfnetlink is only supported on Linux") + + def configure(self): if self.options.shared: del self.options.fPIC del self.settings.compiler.libcxx del self.settings.compiler.cppstd + @functools.lru_cache(1) def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) + autotools = AutoToolsBuildEnvironment(self) conf_args = [] if self.options.shared: conf_args.extend(["--enable-shared", "--disable-static"]) else: conf_args.extend(["--disable-shared", "--enable-static"]) - self._autotools.configure(configure_dir=self._source_subfolder, args=conf_args) - return self._autotools + autotools.configure(configure_dir=self._source_subfolder, args=conf_args) + return autotools def build(self): autotools = self._configure_autotools() @@ -61,4 +61,7 @@ def package(self): def package_info(self): self.cpp_info.libs = ["nfnetlink"] + self.cpp_info.set_property("pkg_config_name", "libnfnetlink") + + # TODO: to remove in conan v2 once pkg_config generator is removed self.cpp_info.names["pkg_config"] = "libnfnetlink" diff --git a/recipes/libnfnetlink/config.yml b/recipes/libnfnetlink/config.yml index 395fa2f83ab2a..94db826314106 100644 --- a/recipes/libnfnetlink/config.yml +++ b/recipes/libnfnetlink/config.yml @@ -1,3 +1,5 @@ versions: 1.0.1: folder: all + 1.0.2: + folder: all