-
Notifications
You must be signed in to change notification settings - Fork 0
/
conanfile.py
44 lines (36 loc) · 1.67 KB
/
conanfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from conans import ConanFile, tools, AutoToolsBuildEnvironment
import os
class M4Conan(ConanFile):
name = "m4_installer"
version = "1.4.18"
description = "GNU M4 is an implementation of the traditional Unix macro processor"
topics = ("conan", "m4", "macro", "macro processor")
url = "https://github.com/zinnion/conan-m4_installer"
homepage = "https://www.gnu.org/software/m4/"
author = "Mauro Delazeri <mauro@zinnion.com>"
license = "GPL-3.0-only"
exports = ["LICENSE.md"]
exports_sources = ["secure_snprintf.patch", "msvc.patch"]
settings = "os_build", "arch_build", "compiler"
_source_subfolder = "source_subfolder"
_build_subfolder = "build_subfolder"
def source(self):
source_url = "http://ftp.gnu.org/gnu/m4/m4-%s.tar.bz2" % self.version
tools.get(source_url, sha256="6640d76b043bc658139c8903e293d5978309bf0f408107146505eca701e67cf6")
os.rename("m4-" + self.version, self._source_subfolder)
tools.patch(patch_file="secure_snprintf.patch", base_path=self._source_subfolder)
def build(self):
with tools.chdir(self._source_subfolder):
env_build = AutoToolsBuildEnvironment(self)
env_build.configure()
env_build.make()
env_build.install()
def package(self):
self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder)
def package_id(self):
del self.info.settings.compiler
def package_info(self):
self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))
self.env_info.M4 = os.path.join(self.package_folder, "bin", "m4").replace("\\", "/")