summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD14
-rw-r--r--python3.patch144
3 files changed, 29 insertions, 141 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ce0eb3b99ec..0639edeb3bb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,19 +1,21 @@
# Generated by mksrcinfo v8
-# Thu Feb 18 07:46:11 UTC 2016
+# Wed Oct 19 05:29:01 UTC 2016
pkgbase = deheader
pkgdesc = C and C++ file analyzer to determine which header enclusions can be removed while still allowing them to compile
- pkgver = 1.3
+ pkgver = 1.6
pkgrel = 1
url = http://www.catb.org/esr/deheader/
arch = any
license = BSD
+ makedepends = tar
depends = python
provides = deheader
- source = http://www.catb.org/~esr/deheader/deheader-1.3.tar.gz
+ noextract = deheader-1.6.tar.gz
+ source = http://www.catb.org/~esr/deheader/deheader-1.6.tar.gz
source = python3.patch
source = python2.patch
- md5sums = ea438ff8756f11270415c30719e23e4b
- md5sums = 3d1a3a4ca462dd934c4bb3aaab75b5c5
+ md5sums = d35e2a380d65cce47b518bae4ac2efea
+ md5sums = 1a3f51f2ef63632866b891fff00c784f
md5sums = 62edf5aa5ee0206632ea2b50c22dfeb7
pkgname = deheader
diff --git a/PKGBUILD b/PKGBUILD
index 8e51471d606..31f7650a2c9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,26 +3,32 @@
# Other Contributors : trontonic for man page & license fixes.
pkgname=deheader
-pkgver=1.3
+pkgver=1.6
pkgrel=1
pkgdesc='C and C++ file analyzer to determine which header enclusions can be removed while still allowing them to compile'
url='http://www.catb.org/esr/deheader/'
arch=('any')
-source=(http://www.catb.org/~esr/deheader/deheader-$pkgver.tar.gz
+source=(http://www.catb.org/~esr/deheader/deheader-${pkgver}.tar.gz
python3.patch
python2.patch)
-md5sums=('ea438ff8756f11270415c30719e23e4b'
- '3d1a3a4ca462dd934c4bb3aaab75b5c5'
+noextract=(deheader-${pkgver}.tar.gz)
+md5sums=('d35e2a380d65cce47b518bae4ac2efea'
+ '1a3f51f2ef63632866b891fff00c784f'
'62edf5aa5ee0206632ea2b50c22dfeb7')
#change to python2, if you don't want python3
#depends=('python2')
+makedepends=('tar')
depends=('python')
provides=('deheader')
license=('BSD')
+prepare () {
+ tar xf deheader-$pkgver.tar.gz
+}
+
build () {
pushd ${srcdir}/deheader-$pkgver
# Use this if you wish to stick to python2
diff --git a/python3.patch b/python3.patch
index 40863d92621..254203db4b5 100644
--- a/python3.patch
+++ b/python3.patch
@@ -1,140 +1,20 @@
--- ./deheader (original)
+++ ./deheader (refactored)
-@@ -31,7 +31,7 @@
+@@ -32,7 +32,7 @@
"""
# SPDX-License-Identifier: BSD-2-Clause
--import sys, os, getopt, time, re, operator, commands, subprocess
-+import sys, os, getopt, time, re, operator, subprocess, subprocess
+-from __future__ import print_function
++
- BATON_DEBUG = 1
- PROGRESS_DEBUG = 2
-@@ -1244,20 +1244,20 @@
- if not os.path.isdir(root):
- if excludes and excludes.search(root):
- if verbose > 1:
-- print "deheader: %s excluded" % root
-+ print("deheader: %s excluded" % root)
- elif InclusionMap.c_source(root):
- self.files.append(root)
- else:
-- print >>sys.stderr, "deheader: can't analyze %s" % root
-+ print("deheader: can't analyze %s" % root, file=sys.stderr)
- else:
- sublist = []
- for root, dirs, files in os.walk(root):
-- dirs = filter(lambda x: not x.startswith("."), dirs)
-+ dirs = [x for x in dirs if not x.startswith(".")]
- for name in files:
- path = os.path.join(root, name)
- if excludes and excludes.search(path):
- if verbose > 1:
-- print "deheader: %s excluded" % root
-+ print("deheader: %s excluded" % root)
- elif InclusionMap.c_source(path):
- sublist.append(path)
- sublist.sort()
-@@ -1280,15 +1280,15 @@
- if f is not False:
- if verbosity >= PROGRESS_DEBUG:
- name = trim(f)
-- print "deheader: %s includes %s" % (sourcefile, name)
-+ print("deheader: %s includes %s" % (sourcefile, name))
- if ignore and ignore.search(line):
- if verbosity >= PROGRESS_DEBUG:
-- print "deheader: ignoring %s (exclusion match with %s)." % (name, ignore.pattern)
-+ print("deheader: ignoring %s (exclusion match with %s)." % (name, ignore.pattern))
- continue
- if not conditions or conditions == ["S_SPLINT_S"]:
- includes.append(line)
- elif verbose > 1:
-- print "deheader: ignoring %s (conditional inclusion)" % name
-+ print("deheader: ignoring %s (conditional inclusion)" % name)
- for (r, c, h) in compiled:
- if c.search(line):
- if not set(h).issubset(set(seen)):
-@@ -1302,7 +1302,7 @@
- trimmedcount[ref] = trimmedcount.get(ref, 0) + 1
- for ref in trimmedcount:
- if trimmedcount[ref] > 1:
-- print "deheader: %s has more than one inclusion of %s" % (sourcefile, ref)
-+ print("deheader: %s has more than one inclusion of %s" % (sourcefile, ref))
- def forget(self, sourcefile, header):
- "Forget a header dependency."
- self.depends_on[sourcefile].remove(header)
-@@ -1367,7 +1367,7 @@
- if len(subdir) > 0:
- os.chdir(subdir)
- start = time.time()
-- (status, output) = commands.getstatusoutput(command)
-+ (status, output) = subprocess.getstatusoutput(command)
- end = time.time()
- os.chdir(olddir)
- if verbosity >= COMMAND_DEBUG or (showerrs and os.WIFEXITED(status) and os.WEXITSTATUS(status) != 0):
-@@ -1379,7 +1379,7 @@
- else:
- explain = "succeeded"
- if verbosity >= PROGRESS_DEBUG:
-- print "deheader: %s%s %s." % (source, msg, explain)
-+ print("deheader: %s%s %s." % (source, msg, explain))
- if os.path.exists(derived):
- os.remove(derived)
- elif os.path.exists("CMakeList.txt"):
-@@ -1406,7 +1406,7 @@
- for required in requirements:
- if required in header:
- if verbosity >= PROGRESS_DEBUG:
-- print "deheader: in %s, %s prevents uninclusion of %s" % (os.path.join(subdir, sourcefile), trigger, trim(header))
-+ print("deheader: in %s, %s prevents uninclusion of %s" % (os.path.join(subdir, sourcefile), trigger, trim(header)))
- retain += 1
- if not retain:
- saveit.remove_headers(unneeded + [header])
-@@ -1423,10 +1423,10 @@
- baton.end()
- # Missing-require detection. Can't be merged with duplicate-header
- # detection because this has to be done after unneeded headers are removed.
-- stillhere = map(trim, includes)
-+ stillhere = list(map(trim, includes))
- for (requirement, trigger) in requires:
- if not set(requirement).issubset(stillhere):
-- print "deheader: in %s, %s portability requires %s." % (os.path.join(subdir, sourcefile), trigger, ",".join(requirement))
-+ print("deheader: in %s, %s portability requires %s." % (os.path.join(subdir, sourcefile), trigger, ",".join(requirement)))
- return unneeded
-
- def deheader(sourcefile, maker, includes, requires, remove, verbose):
-@@ -1445,7 +1445,7 @@
- includes[:], requires, verbose, subdir=subdir)
- if unneeded:
- for line in unneeded:
-- print "deheader: remove %s from %s" % (trim(line), os.path.join(subdir, sourcefile))
-+ print("deheader: remove %s from %s" % (trim(line), os.path.join(subdir, sourcefile)))
- if remove:
- remove_it = SaveForModification(os.path.join(subdir, sourcefile))
- remove_it.remove_headers(unneeded)
-@@ -1453,7 +1453,7 @@
- del remove_it
- return Summary([sourcefile], includes, unneeded)
- else:
-- print >>sys.stderr, "deheader: basic compilation failed on %s" % (sourcefile,)
-+ print("deheader: basic compilation failed on %s" % (sourcefile,), file=sys.stderr)
- return Summary([sourcefile], includes, [])
+ import sys, os, getopt, time, re, operator, subprocess
- # After-action analysis starts here
-@@ -1501,7 +1501,7 @@
- elif switch in ('-v', '--verbose'):
- verbose += 1
- elif switch in ('-V', '--version'):
-- print "deheader", version
-+ print("deheader", version)
- raise SystemExit(0)
- elif switch in ('-x', '--exclude'):
- exclusions.append(val)
-@@ -1527,7 +1527,7 @@
- stats = Summary()
- for summary in summaries:
- stats = stats + summary
-- print "deheader: saw", stats
-+ print("deheader: saw", stats)
- raise SystemExit(0)
+@@ -41,7 +41,7 @@
+ try:
+ from subprocess import getstatusoutput
+ except ImportError:
+- from commands import getstatusoutput
++ from subprocess import getstatusoutput
- # End
+ BATON_DEBUG = 1
+ PROGRESS_DEBUG = 2