summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorfelics2019-05-15 12:45:39 +0200
committerfelics2019-05-15 12:45:39 +0200
commit9eae7b18bd5c769d7c4da9cd21a6c172ce1c2644 (patch)
tree2e9c983b5c165712dc36366d68ee592b159cc783
downloadaur-9eae7b18bd5c769d7c4da9cd21a6c172ce1c2644.tar.gz
Initial Commit
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD115
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}"/*
+}