summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorbartus2019-08-06 23:48:05 +0200
committerbartus2019-08-06 23:48:05 +0200
commit13d1e2b13dc36501bdeb1be929f65df5e4ea0b86 (patch)
tree58e8cb43c1f4130c0c8623aaf86cbe0a2a942530
parent32471cea1e7cfa336d3418b640af46673e4bacc0 (diff)
downloadaur-13d1e2b13dc36501bdeb1be929f65df5e4ea0b86.tar.gz
Copy Arch PKGBUILD
upgpkg: scons 3.1.0-1 Upgrading to 3.1.0 and creating a split package (scons with python2 dependencies is tracked in python2-scons, until it is dropped eventually). Building from general source tarball by emulating a 'release'. Running tests in check() for python and python2. Separating build and packaging steps. Patching python2 version to be installable side-by-side with python version.
-rw-r--r--.SRCINFO35
-rw-r--r--PKGBUILD144
2 files changed, 145 insertions, 34 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 33c7ed4296d8..2eea146a0600 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,17 +1,32 @@
-# Generated by mksrcinfo v8
-# Sat Oct 21 13:20:24 UTC 2017
-pkgbase = python2-scons
+pkgbase = scons
pkgdesc = Extensible Python-based build utility
- pkgver = 3.0.0
+ pkgver = 3.1.0
pkgrel = 1
- url = http://scons.org
+ url = https://scons.org
arch = any
license = MIT
- depends = python2
- provides = scons
- conflicts = scons
- source = http://downloads.sourceforge.net/sourceforge/scons/scons-3.0.0.tar.gz
- md5sums = 1c99878d0eaf9b768b50721e913142d3
+ checkdepends = clang
+ checkdepends = dmd
+ checkdepends = gdc
+ checkdepends = ldc
+ checkdepends = nasm
+ checkdepends = python-lxml
+ checkdepends = python-pytest
+ checkdepends = python-virtualenv
+ checkdepends = python2-lxml
+ checkdepends = python2-pytest
+ checkdepends = python2-virtualenv
+ checkdepends = swig
+ checkdepends = zip
+ makedepends = python-setuptools
+ makedepends = python2-setuptools
+ depends = python
+ source = scons-3.1.0.tar.gz::https://github.com/scons/scons/archive/3.1.0.tar.gz
+ sha512sums = 3894d17bca02b9aa5426c70d894b8ecfcf3db2b20254b848209c31d8413a8cd1c2a7b2a87ef9bcfe5555980beb2815f62cdbe185098a64ae8b3506c41c867463
+
+pkgname = scons
+ depends = python
pkgname = python2-scons
+ depends = python2
diff --git a/PKGBUILD b/PKGBUILD
index 04e7eb194024..913bbf9d5ee9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,38 +1,134 @@
-# $Id$
-# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Maintainer : bartus <arch-user-repoᘓbartus.33mail.com>
+# Contributor: David Runge <dave@sleepmap.de>
+# Contributor: Ray Rashif <schiv@archlinux.org>
# Contributor: damir <damir@archlinux.org>
# Contributor: Lukas Sabota <punkrockguy318@comcast.net>
# Contributor: Brice Carpentier <brice@dlfp.org>
-# Contributor: Bernhard Walle <bernhard@bwalle.de>
-# reminder: scons moving to py3 any time soon
-
-pkgname=python2-scons
-_pkgname=scons
-pkgver=3.0.0
+pkgbase=scons
+pkgname=(scons python2-scons)
+pkgver=3.1.0
pkgrel=1
pkgdesc="Extensible Python-based build utility"
arch=('any')
-url="http://scons.org"
+url="https://scons.org"
license=('MIT')
-depends=('python2')
-conflicts=('scons')
-provides=('scons')
-source=("http://downloads.sourceforge.net/sourceforge/$_pkgname/$_pkgname-$pkgver.tar.gz")
-md5sums=('1c99878d0eaf9b768b50721e913142d3')
+depends=('python')
+makedepends=('python-setuptools' 'python2-setuptools')
+# potential additions include ipkg, rpm
+checkdepends=('clang' 'dmd' 'gdc' 'ldc' 'nasm' 'python-lxml' 'python-pytest'
+'python-virtualenv' 'python2-lxml' 'python2-pytest' 'python2-virtualenv' 'swig'
+'zip')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/${pkgname}/${pkgname}/archive/${pkgver}.tar.gz")
+sha512sums=('3894d17bca02b9aa5426c70d894b8ecfcf3db2b20254b848209c31d8413a8cd1c2a7b2a87ef9bcfe5555980beb2815f62cdbe185098a64ae8b3506c41c867463')
-package() {
- cd "$srcdir/$_pkgname-$pkgver"
+prepare() {
+ (
+ cd "${pkgbase}-${pkgver}"
+ local _copyright='Copyright (c) 2001 - 2019 The SCons Foundation'
+ local _date_of_release="$(grep "RELEASE ${pkgver}" src/CHANGES.txt | cut -d ',' -f2)"
+ local _date="$(date -d "${_date_of_release}" +'%Y-%m-%d %H:%M:%S')"
+ # copy scripts to correct locations and change their globals
+ for _script in scons{,ign,-time,-configure-cache}; do
+ cp -v "src/script/${_script}.py" "src/script/${_script}"
+ sed -e "s|__COPYRIGHT__|${_copyright}|g" \
+ -e "s|__FILE__|/src/script/${_script}|g" \
+ -e 's/__REVISION__/none/g' \
+ -e "s|__DATE__|${_date}|g" \
+ -e 's/__BUILDSYS__/none/g' \
+ -e 's/__DEVELOPER__/none/g' \
+ -e "s/__VERSION__/${pkgver}/g" \
+ -i "src/script/${_script}"
+ done
+ sed -e "s|__COPYRIGHT__|${_copyright}|g" \
+ -e 's|__FILE__|/src/setup.py|g' \
+ -e 's/__REVISION__/none/g' \
+ -e "s|__DATE__|${_date}|g" \
+ -e 's/__BUILDSYS__/none/g' \
+ -e 's/__DEVELOPER__/none/g' \
+ -e "s/__VERSION__/${pkgver}/g" \
+ -i "src/setup.py"
+ )
+ # we need to copy all sources, because using build with python2 and python3
+ # would otherwise overwrite the build created first
+ cp -av "${pkgbase}-${pkgver}" "${pkgname[1]}-${pkgver}"
+ (
+ # fix shebang for python2 version
+ cd "${pkgname[1]}-${pkgver}"
+ sed -e 's/env python/env python2/' \
+ -i src/script/*
+ sed -e 's/python/python2/' \
+ -i src/engine/SCons/Tool/docbook/docbook-xsl-*/extensions/xslt.py
+ )
+}
- python2 setup.py install --standard-lib \
- --prefix=/usr \
- --install-data=/usr/share \
+build() {
+ (
+ cd "${pkgbase}-${pkgver}"
+ # build man page and move to src directory
+ python bootstrap.py doc/SConscript
+ mv -v build/doc/man/* src/
+ cd src
+ python setup.py build
+ )
+ (
+ cd "${pkgname[1]}-${pkgver}"
+ # build man page and move to src directory
+ python2 bootstrap.py doc/SConscript
+ mv -v build/doc/man/* src/
+ cd src
+ python2 setup.py build
+ )
+}
+
+check() {
+ (
+ cd "${pkgbase}-${pkgver}"
+ python runtest.py -a -t || msg "Tests passing with 'NO RESULT' count as failed."
+ )
+ (
+ cd "${pkgname[1]}-${pkgver}"
+ python2 runtest.py -a -t || msg "Tests passing with 'NO RESULT' count as failed."
+ )
+}
+
+package_scons() {
+ depends=('python')
+ cd "${pkgname}-${pkgver}/src"
+ python setup.py install --prefix=/usr \
+ --skip-build \
--optimize=1 \
+ --standard-lib \
+ --install-data=/usr/share \
--root="$pkgdir"
-
- install -Dm644 LICENSE.txt \
- "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
- sed -i 's#/usr/bin/env python#/usr/bin/env python2#' "$pkgdir/usr/bin/scons"
+ install -vDm 644 LICENSE.txt -t "${pkgdir}/usr/share/licenses/${pkgname}/"
+ install -vDm 644 {CHANGES,README,RELEASE}.txt \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/"
+ # removing Windows only script
+ rm -vf "${pkgdir}/usr/bin/scons"*.bat
}
-# vim:set ts=2 sw=2 et:
+package_python2-scons() {
+ depends=('python2')
+ cd "${pkgname}-${pkgver}/src"
+ python2 setup.py install --prefix=/usr \
+ --skip-build \
+ --optimize=1 \
+ --standard-lib \
+ --install-data=/usr/share \
+ --root="$pkgdir"
+ install -vDm 644 LICENSE.txt -t "${pkgdir}/usr/share/licenses/${pkgname}/"
+ install -vDm 644 {CHANGES,README,RELEASE}.txt \
+ -t "${pkgdir}/usr/share/doc/${pkgname}/"
+ # removing Windows only script
+ rm -vf "${pkgdir}/usr/bin/scons"*.bat
+ # moving files so scons and python2-scons don't conflict
+ for _man_page in scons{,ign,-time}; do
+ mv -v "${pkgdir}/usr/share/man/man1/${_man_page}".1 \
+ "${pkgdir}/usr/share/man/man1/${_man_page}2".1
+ done
+ for _bin in scons{,ign,-configure-cache,-time}; do
+ mv -v "${pkgdir}/usr/bin/${_bin}"{,2}
+ mv -v "${pkgdir}/usr/bin/${_bin}-${pkgver}" "${pkgdir}/usr/bin/${_bin}2-${pkgver}"
+ done
+}