diff options
author | felics | 2019-05-15 12:45:39 +0200 |
---|---|---|
committer | felics | 2019-05-15 12:45:39 +0200 |
commit | 9eae7b18bd5c769d7c4da9cd21a6c172ce1c2644 (patch) | |
tree | 2e9c983b5c165712dc36366d68ee592b159cc783 | |
download | aur-9eae7b18bd5c769d7c4da9cd21a6c172ce1c2644.tar.gz |
Initial Commit
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | PKGBUILD | 115 |
2 files changed, 141 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..e0d5fee98c1a --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,26 @@ +pkgbase = nodejs-carto-git + pkgdesc = Mapbox carto: Translates Carto MML/ CartoCSS to Mapnik XML or a JSON variant of Mapnik XML. + pkgver = 1.2.0+2+r1945.20190213.13a3962 + pkgrel = 1 + url = https://vis4.net/chromajs/ + arch = any + license = apache + makedepends = npm + makedepends = python-sphinx + makedepends = python-sphinx_rtd_theme + makedepends = texinfo + makedepends = texlive-bin + depends = mapnik + depends = nodejs + provides = carto=1.2.0+2+r1945.20190213.13a3962 + provides = nodejs-carto=1.2.0+2+r1945.20190213.13a3962 + provides = carto-git=1.2.0+2+r1945.20190213.13a3962 + conflicts = carto + conflicts = nodejs-carto + conflicts = carto-git + options = !strip + source = carto::git+git://github.com/mapbox/carto.git + sha256sums = SKIP + +pkgname = nodejs-carto-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..0c18a9de0d17 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,115 @@ +# Maintainer: dreieck + +_pkgorigname=carto +_pkgname="${_pkgorigname}" +pkgname="nodejs-${_pkgname}-git" +pkgdesc="Mapbox carto: Translates Carto MML/ CartoCSS to Mapnik XML or a JSON variant of Mapnik XML." +pkgver=1.2.0+2+r1945.20190213.13a3962 +pkgrel=1 +arch=('any') +license=('apache') +url="https://vis4.net/chromajs/" +depends=( + 'mapnik' + 'nodejs' +) +makedepends=( + 'npm' + 'python-sphinx' # For making documentation. + 'python-sphinx_rtd_theme' # For making documentation. + 'texinfo' # For making documentation. + 'texlive-bin' # For making documentation. +) +provides=( + "${_pkgname}=${pkgver}" + "nodejs-${_pkgname}=${pkgver}" + "${_pkgname}-git=${pkgver}" + # "${_pkgname}-doc=${pkgver}" + # "nodejs-${_pkgname}-doc=${pkgver}" + # "${_pkgname}-git-doc=${pkgver}" + # "nodejs-${_pkgname}-git-doc=${pkgver}" +) +conflicts=( + "${_pkgname}" + "nodejs-${_pkgname}" + "${_pkgname}-git" + # "${_pkgname}-doc" + # "nodejs-${_pkgname}-doc" + # "${_pkgname}-git-doc" + # "nodejs-${_pkgname}-git-doc" +) +options=('!strip') # Do not attempt to strip, since there is no ELF binary anyway, so strip will just take needless time. +source=( + "${_pkgorigname}::git+git://github.com/mapbox/${_pkgorigname}.git" +) +sha256sums=( + 'SKIP' +) + +pkgver() { + cd "${srcdir}/${_pkgorigname}" + + _ver="$(git describe --tags | sed -E 's|\-g[0-9a-fA-F]*$||' | sed 's|^v||' | tr '-' '+')" + _rev="$(git rev-list --count HEAD)" + _hash="$(git rev-parse --short HEAD)" + _date="$(git log -n 1 --format=tformat:%ci | awk '{print $1}' | tr -d '-')" + + if [ -n "${_ver}" ]; then + printf '%s' "${_ver}+r${_rev}.${_date}.${_hash}" + fi +} + +prepare() { + cd "${srcdir}/${_pkgorigname}" + msg2 "Downloading node-dependencies by running 'npm install' into a temporary directory ..." + _carto_tmp="$(mktemp -d "${srcdir}/tmp_XXXX")" + npm install -g --prefix "${_carto_tmp}" --cache "${srcdir}/.npm-cache" --production --no-optional + rm -Rf "${_carto_tmp}" +} + +build() { + cd "${srcdir}/${_pkgorigname}/docs" + + msg2 "Building documentation ..." + msg2 "· make man:"; make man + msg2 "· make info:"; make info + msg2 "· make text:"; make text + # msg2 "· make dirhtml:"; make dirhtml + msg2 "· make latexpdf:"; make latexpdf + + msg2 "compressing pdf, manpage and info file ..." + rm -f "_build/man/carto.1.gz"; gzip -v -9 "_build/man/carto.1" + rm -f "_build/texinfo/carto.info.gz"; gzip -v -9 "_build/texinfo/carto.info" + rm -f "_build/latex/carto.pdf.xz"; xz -v -9 "_build/latex/carto.pdf" +} + +package() { + cd "${srcdir}/${_pkgorigname}" + + msg2 "Running 'npm pack', and 'npm install' on the result ..." + npm install --user root -g --prefix "$pkgdir"/usr --cache "${srcdir}/.npm-cache" --production --no-optional "$(npm pack -g --prefix "$pkgdir"/usr --cache "${srcdir}/.npm-cache" --production --no-optional | tail -n 1)" + + msg2 "Remving unneeded files from '/usr/lib/node_modules/carto/' ..." + rm -rf "${pkgdir}/usr/lib/node_modules/carto"/{docs,man,carto-*.tgz} + rm -rf "${pkgdir}/usr/share/man/man1/carto.1" + + # Non-deterministic race in npm gives 777 permissions to random directories. + # See http://github.com/npm/npm/issues/9359 for details. + msg2 "Fixing permissions of directories due to a possible race condition in 'npm' ..." + find "${pkgdir}"/usr -type d -exec chmod 755 {} + + + for _docfile in CHANGELOG.md CONTRIBUTING.md README.md; do + install -D -v -m644 "${_docfile}" "${pkgdir}/usr/share/doc/${_pkgname}/${_docfile}" + done + install -D -v -m644 "docs/_build/man/carto.1.gz" "${pkgdir}/usr/share/man/man1/carto.1.gz" + install -D -v -m644 "docs/_build/texinfo/carto.info.gz" "${pkgdir}/usr/share/info/carto.info.gz" + printf "%s\n" "Copying 'docs/_build/text' -> '${pkgdir}/usr/share/doc/${_pkgname}/text' ..."; cp -r "docs/_build/text" "${pkgdir}/usr/share/doc/${_pkgname}/text"; chmod -R a+Xr "${pkgdir}/usr/share/doc/${_pkgname}/text" + # printf "%s\n" "Copying 'docs/_build/dirhtml' -> '${pkgdir}/usr/share/doc/${_pkgname}/html' ..."; cp -r "docs/_build/dirhtml" "${pkgdir}/usr/share/doc/${_pkgname}/html" + install -D -v -m644 "docs/_build/latex/carto.pdf.xz" "${pkgdir}/usr/share/doc/${_pkgname}/carto.pdf.xz" + install -d -v -m755 "${pkgdir}/usr/share/doc/${_pkgname}/html"; printf '%s\n' 'http://cartocss.readthedocs.io/en/latest/' > "${pkgdir}/usr/share/doc/${_pkgname}/html/html_doc.url" + + install -D -v -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.md" + + msg2 "Fixing ownership ..." + chown -R root:root "${pkgdir}"/* +} |