diff options
author | rillig <rillig@pkgsrc.org> | 2019-11-18 07:50:51 +0000 |
---|---|---|
committer | rillig <rillig@pkgsrc.org> | 2019-11-18 07:50:51 +0000 |
commit | 05fc931e6d0b70c464fce757d1e741d42fffb29c (patch) | |
tree | 1f482a9972ec61de4948a85c557d036f7c3274ee /pkgtools/url2pkg | |
parent | 6ad54d1a75ee911aa47ee6d3e86ef56309620300 (diff) | |
download | pkgsrc-05fc931e6d0b70c464fce757d1e741d42fffb29c.tar.gz |
pkgtools/url2pkg: update to 19.3.7
Changes since 19.3.6:
Detect whether the package uses GNU Make, based on the top-level
Makefile.
Diffstat (limited to 'pkgtools/url2pkg')
-rw-r--r-- | pkgtools/url2pkg/Makefile | 4 | ||||
-rw-r--r-- | pkgtools/url2pkg/files/url2pkg.py | 18 | ||||
-rw-r--r-- | pkgtools/url2pkg/files/url2pkg_test.py | 12 |
3 files changed, 28 insertions, 6 deletions
diff --git a/pkgtools/url2pkg/Makefile b/pkgtools/url2pkg/Makefile index 8fd61e52f5e..b12a59ca712 100644 --- a/pkgtools/url2pkg/Makefile +++ b/pkgtools/url2pkg/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.109 2019/11/14 20:03:47 rillig Exp $ +# $NetBSD: Makefile,v 1.110 2019/11/18 07:50:51 rillig Exp $ -PKGNAME= url2pkg-19.3.6 +PKGNAME= url2pkg-19.3.7 CATEGORIES= pkgtools MAINTAINER= rillig@NetBSD.org diff --git a/pkgtools/url2pkg/files/url2pkg.py b/pkgtools/url2pkg/files/url2pkg.py index 8fd89ff1e39..ec2ea38b8e3 100644 --- a/pkgtools/url2pkg/files/url2pkg.py +++ b/pkgtools/url2pkg/files/url2pkg.py @@ -1,5 +1,5 @@ #! @PYTHONBIN@ -# $NetBSD: url2pkg.py,v 1.26 2019/11/14 20:03:47 rillig Exp $ +# $NetBSD: url2pkg.py,v 1.27 2019/11/18 07:50:51 rillig Exp $ # Copyright (c) 2019 The NetBSD Foundation, Inc. # All rights reserved. @@ -47,7 +47,7 @@ import re import subprocess import sys from pathlib import Path -from typing import Any, Callable, Dict, List, NamedTuple, Optional, Tuple, Union +from typing import Any, Callable, Dict, List, NamedTuple, Optional, Set, Tuple, Union class Var(NamedTuple): @@ -603,6 +603,9 @@ class Adjuster: # All these files will be included at the bottom of the Makefile. includes: List[str] + # the tools for USE_TOOLS. Examples are sed, echo, printf, perl5. + tools: Set[str] + # a list of variable assignments that will make up the fourth # paragraph of the package Makefile, where the build configuration # takes place. @@ -642,6 +645,7 @@ class Adjuster: self.bl3_lines = [] self.includes = [] self.build_vars = [] + self.tools = set() self.extra_vars = [] self.todos = [] self.pkgname_prefix = '' @@ -817,6 +821,10 @@ class Adjuster: if self.wrksrc_isfile('CMakeLists.txt'): self.build_vars.append(Var('USE_CMAKE', '=', 'yes')) + def adjust_gnu_make(self): + if self.wrksrc_isfile('Makefile') and self.wrksrc_grep('Makefile', r'^(?:ifeq|ifdef)\b'): + self.tools.add('gmake') + def adjust_meson(self): if self.wrksrc_isfile('meson.build'): self.includes.append('../../devel/meson/build.mk') @@ -1042,7 +1050,10 @@ class Adjuster: depend_vars.extend(Var('TEST_DEPENDS', '+=', d) for d in self.test_depends) lines.add_vars(*depend_vars) - lines.add_vars(*self.build_vars) + build_vars = self.build_vars + if self.tools: + build_vars.append(Var('USE_TOOLS', '+=', ' '.join(sorted(self.tools)))) + lines.add_vars(*build_vars) lines.add_vars(*self.extra_vars) lines.add(*self.bl3_lines) @@ -1074,6 +1085,7 @@ class Adjuster: self.adjust_descr() self.adjust_configure() self.adjust_cmake() + self.adjust_gnu_make() self.adjust_meson() self.adjust_gconf2_schemas() self.adjust_libtool() diff --git a/pkgtools/url2pkg/files/url2pkg_test.py b/pkgtools/url2pkg/files/url2pkg_test.py index 4fc0e779a60..83001dd7589 100644 --- a/pkgtools/url2pkg/files/url2pkg_test.py +++ b/pkgtools/url2pkg/files/url2pkg_test.py @@ -1,4 +1,4 @@ -# $NetBSD: url2pkg_test.py,v 1.24 2019/10/28 20:17:24 rillig Exp $ +# $NetBSD: url2pkg_test.py,v 1.25 2019/11/18 07:50:51 rillig Exp $ import pytest from url2pkg import * @@ -889,6 +889,16 @@ def test_Adjuster_adjust_cmake(tmp_path: Path): assert str_vars(adjuster.build_vars) == ['USE_CMAKE=yes'] +def test_Adjuster_adjust_gnu_make(tmp_path: Path): + adjuster = Adjuster(g, '', Lines()) + adjuster.abs_wrksrc = tmp_path + (tmp_path / 'Makefile').write_text('ifdef HAVE_STDIO_H') + + adjuster.adjust_gnu_make() + + assert adjuster.tools == {'gmake'} + + def test_Adjuster_adjust_configure__none(tmp_path: Path): adjuster = Adjuster(g, '', Lines()) adjuster.abs_wrksrc = tmp_path |