summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps')
-rw-r--r--www-apps/isso/Manifest6
-rw-r--r--www-apps/isso/files/isso.confd29
-rw-r--r--www-apps/isso/files/isso.initd33
-rw-r--r--www-apps/isso/isso-0.12.2.ebuild162
-rw-r--r--www-apps/isso/isso-9999.ebuild162
-rw-r--r--www-apps/isso/metadata.xml9
6 files changed, 401 insertions, 0 deletions
diff --git a/www-apps/isso/Manifest b/www-apps/isso/Manifest
new file mode 100644
index 0000000..7ef3f7f
--- /dev/null
+++ b/www-apps/isso/Manifest
@@ -0,0 +1,6 @@
+AUX isso.confd 1016 BLAKE2B 9882ace197b012396d0e485133be4919bb305eab26c6e6e6a28b4832082c517fba5cd43615a31822ee5c71dfc6fdebc3cfed81390d79f205708583882f4635ae SHA512 bbc3b7b2be587a9ff9a2332bdcf1624e2ce6e79c2be9ff07e855a5ced4c4d29d051a71934c341d771527152f4fc5b68f45d5c72f45a46fe8fbf8b2fbd7d62cb1
+AUX isso.initd 901 BLAKE2B 100943e7bd8332954d59a84f65967e1bfb9e875c493a0c21f0859c1917f25d5501b8afbd89e5ffd97e5d234a0af53f700e9c27e8df72c7ab2ab14b317a5c0bf9 SHA512 910dbeff557385fd758f38453f2e728e7b923cba469fe8bae6ed1e56a4e0a09042aa3b2fea80b66feb445520caf13d3997093cff8194985da90f017f0aef144a
+DIST isso-0.12.2.tar.gz 258559 BLAKE2B 56c8f0d29448653e6c8bf7a4f6a35833b535c0add2c417ef237b1ae3925b34325204ad9ffe47d3b4ef41207a1dab7f24959549810916f0029c49ab6c8e3c4941 SHA512 bf5df6be0c504a64b6d0cdf67ea25b8bf478503795c0c2637daa05f97be0ac308bd4d7092d6c552283847a19b7746478e7083ebe1f577aca2fab5a3cb5fa936e
+EBUILD isso-0.12.2.ebuild 4411 BLAKE2B 1db1fcd7561bdf5cc5e6ad211fbaaec9eb7b340889ed821263ea1f76c0cde7d210b6ea37d3e73d890cd7791738e4a7e2ebfa17ab987b55ea9e9152b97e626958 SHA512 644d5ab83821624d00ec176290e9ba38c2bcfbbdf478d43543f146b20956513b5f7c96cff679f69dfbbdb3c50c0d7dce9bdb74852f6c11c3c569eaf59865e357
+EBUILD isso-9999.ebuild 4406 BLAKE2B 1e8b06600a1f4f6edecc4bd6a556894102cf7b7109286467100dbfe737d93d1db201ead0a6e0d9e83929fce0799fdb9e796e8a9a14c1be86ffff9643b0fc10de SHA512 c7fb691f94bc9a09bb4f40bf305994b431673037c7242b47ab02e28607fa92ab2e4d736eb914736fe7ff72a8a142a60dbebe5924c778065f8c94d76d51979c5d
+MISC metadata.xml 424 BLAKE2B ec6330b5739b707ab65716ae8850bab260462d9c0327378d4d58463db5f5d0c9c2841d2981e640af64cee75bd528fa2c8a87ca938cf90b3c701bc4837b753e4c SHA512 1334ced03462b9e20001ad78820de0ddeb418c9c3a713706eb414e41a8e1e517a56d3886a920ee3b5613ae61b92e999b18df0a2112e0ff9df4410c4e8d1e2387
diff --git a/www-apps/isso/files/isso.confd b/www-apps/isso/files/isso.confd
new file mode 100644
index 0000000..5b6837c
--- /dev/null
+++ b/www-apps/isso/files/isso.confd
@@ -0,0 +1,29 @@
+#!/sbin/runscript
+# By eroen, 2014
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+
+### These are default values for /etc/init.d/isso .
+
+# If you wish to run several instances, you might prefer to create a symlink to
+# the isso init script named isso.<instancename> in /etc/init.d/ and copy the
+# configuration file to /etc/isso.<instancename>.conf .
+#ISSO_CONF="/etc/isso.conf"
+#ISSO_LOG="/var/log/isso.log"
+#ISSO_USER="isso:isso"
+
+### End of default values.
+
+
+# If your isso instance needs to be accessible or can only reach your website
+# over the network, you should ensure a network interface is up when it is
+# started.
+#rc_need=${rc_need} net.eth0
+
+# If your website is hosted on the same box the isso instance runs on, you need
+# to ensure the webserver is up before isso is started.
+#rc_need=${rc_need} lighttpd
+
+# vim: ft=gentoo-conf-d
diff --git a/www-apps/isso/files/isso.initd b/www-apps/isso/files/isso.initd
new file mode 100644
index 0000000..2b0b858
--- /dev/null
+++ b/www-apps/isso/files/isso.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# By eroen, 2014
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+
+ISSO_CONF=${ISSO_CONF:-"/etc/${RC_SVCNAME}.conf"}
+ISSO_LOG=${ISSO_LOG:-"/var/log/${RC_SVCNAME}.log"}
+ISSO_USER=${ISSO_USER:-"${RC_SVCNAME%%.*}:${RC_SVCNAME%%.*}"}
+
+description="lightweight Disqus alternative"
+start_stop_daemon_args="--user ${ISSO_USER} --stderr ${ISSO_LOG}"
+command=/usr/bin/${RC_SVCNAME%%.*}
+command_args="-c ${ISSO_CONF} run"
+command_background=true
+pidfile="/var/run/${RC_SVCNAME}.pid"
+required_files="${ISSO_CONF}"
+
+depend() {
+ need localmount
+ after bootmisc
+
+ use mta
+ after net apache lighttpd nginx
+}
+
+start_pre() {
+ checkpath -f -o "${ISSO_USER}" "${ISSO_LOG}"
+ checkpath -W "${ISSO_LOG}"
+}
+
+# vim: set ft=gentoo-init-d
diff --git a/www-apps/isso/isso-0.12.2.ebuild b/www-apps/isso/isso-0.12.2.ebuild
new file mode 100644
index 0000000..964449d
--- /dev/null
+++ b/www-apps/isso/isso-0.12.2.ebuild
@@ -0,0 +1,162 @@
+# By eroen, 2014
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# $Header: $
+
+EAPI=5
+# setup.py disallows 30 31 32
+# setup.py documents support 26 27 33
+# dev-python/html5lib -34
+# dev-python/itsdangerous -34
+# dev-python/misaka -26 -33 -34
+# dev-python/werkzeug -34
+# dev-python/configparser -26
+# dev-python/ipaddr -26
+PYTHON_COMPAT=( python2_7 )
+
+if [[ $PV == *9999* ]]; then
+ inherit user distutils-r1 git-r3
+ EGIT_REPO_URI=https://github.com/posativ/${PN}.git
+ JS_REPO_URIS=( https://github.com/jrburke/almond.git
+ https://github.com/jrburke/r.js.git
+ https://github.com/requirejs/text.git )
+ VCS_DEPEND="dev-vcs/git[curl]"
+else
+ inherit user distutils-r1
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="lightweight Disqus alternative"
+HOMEPAGE="http://posativ.org/isso/ https://pypi.python.org/pypi/isso/ https://github.com/posativ/isso/"
+# BSD: pbkdf2.js sha1.js crypto.py?
+LICENSE="MIT BSD"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE=""
+if [[ ${PV} == *9999* ]]; then
+ IUSE+=" debug doc test"
+ DOCS=( README.md CHANGES.rst docs/{contribute.rst,faq.rst} )
+else
+ DOCS=( )
+fi
+
+LIBDEPEND="dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ >=dev-python/misaka-2.0[${PYTHON_USEDEP}]
+ <dev-python/misaka-3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep \
+ "dev-python/configparser[$(python_gen_usedep 'python2*')]
+ >=dev-python/ipaddr-2.1[$(python_gen_usedep 'python2*')]
+ >=dev-python/werkzeug-0.8[$(python_gen_usedep 'python2*')]
+ dev-python/bleach[$(python_gen_usedep 'python2*')]" \
+ 'python2*')"
+HDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+if [[ ${PV} == *9999* ]]; then
+ HDEPEND+=" ${VCS_DEPEND}
+ dev-ruby/sass
+ net-libs/nodejs
+ doc? ( dev-python/sphinx )"
+fi
+DEPEND="${HDEPEND}"
+if [[ ${PV} == *9999* ]]; then
+ DEPEND+=" test? ( dev-python/nose[${PYTHON_USEDEP}]
+ ${LIBDEPEND} )"
+fi
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${LIBDEPEND}"
+
+pkg_setup() {
+ enewuser ${PN}
+}
+
+src_fetch() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_fetch
+ for EGIT_REPO_URI in "${JS_REPO_URIS[@]}"; do (
+ unset ${PN}_LIVE_REPO
+ git-r3_src_fetch
+ ); done
+ else
+ default
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ for EGIT_REPO_URI in "${JS_REPO_URIS[@]}"; do (
+ unset ${PN}_LIVE_REPO;
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${EGIT_REPO_URI##*/} git-r3_src_unpack
+ ); done
+ mkdir -p "${S}"/isso/js/components/{requirejs-text,almond} || die
+ cp "${WORKDIR}"/text.git/text.js "${S}"/isso/js/components/requirejs-text/ || die
+ cp "${WORKDIR}"/almond.git/almond.js "${S}"/isso/js/components/almond/ || die
+ else
+ default
+ fi
+}
+
+src_compile() {
+ if [[ ${PV} == *9999* ]]; then
+ # build r.js
+ pushd "${WORKDIR}"/r.js.git 2>/dev/null
+ node dist.js || die
+ popd 2>/dev/null
+ local RJS=${WORKDIR}/r.js.git/r.js
+
+ # generate css
+ scss isso/css/isso.scss isso/css/isso.css || die
+
+ # generate js using r.js
+ node "${RJS}" -o isso/js/build.embed.js || die
+ node "${RJS}" -o isso/js/build.count.js || die
+ if use debug; then
+ node "${RJS}" -o isso/js/build.embed.js optimize="none" out="isso/js/embed.dev.js" || die
+ node "${RJS}" -o isso/js/build.count.js optimize="none" out="isso/js/count.dev.js" || die
+ fi
+ fi
+ distutils-r1_src_compile
+}
+
+python_compile_all() {
+ if [[ ${PV} == *9999* ]]; then
+ if use doc; then
+ mkdir -p "${T}"/html || die
+ pushd docs 2>/dev/null || die
+ sphinx-build -E -b dirhtml -a . "${T}"/html || die
+ popd 2>/dev/null || die
+ mkdir -p "${T}"/html/_static/css || die
+ scss docs/_static/css/site.scss "${T}"/html/_static/css/site.css || die
+ fi
+ fi
+}
+
+python_test() {
+ if [[ ${PV} == *9999* ]]; then
+ # doctests fail, require https://github.com/gnublade/doctest-ignore-unicode
+ nosetests \
+ --with-coverage --cover-package=isso \
+ isso/ specs/ \
+ || die "tests failed"
+ #nosetests --with-doctest --with-doctest-ignore-unicode \
+ # --with-coverage --cover-package=isso \
+ # isso/ specs/ \
+ # || die "tests failed"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /etc
+ doins share/${PN}.conf
+ if [[ ${PV} == *9999* ]]; then
+ use doc && dodoc -r "${T}"/html
+ fi
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/www-apps/isso/isso-9999.ebuild b/www-apps/isso/isso-9999.ebuild
new file mode 100644
index 0000000..a9e1d53
--- /dev/null
+++ b/www-apps/isso/isso-9999.ebuild
@@ -0,0 +1,162 @@
+# By eroen, 2014
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# $Header: $
+
+EAPI=5
+# setup.py disallows 30 31 32
+# setup.py documents support 26 27 33
+# dev-python/html5lib -34
+# dev-python/itsdangerous -34
+# dev-python/misaka -26 -33 -34
+# dev-python/werkzeug -34
+# dev-python/configparser -26
+# dev-python/ipaddr -26
+PYTHON_COMPAT=( python2_7 )
+
+if [[ $PV == *9999* ]]; then
+ inherit user distutils-r1 git-r3
+ EGIT_REPO_URI=https://github.com/posativ/${PN}.git
+ JS_REPO_URIS=( https://github.com/jrburke/almond.git
+ https://github.com/jrburke/r.js.git
+ https://github.com/requirejs/text.git )
+ VCS_DEPEND="dev-vcs/git[curl]"
+else
+ inherit user distutils-r1
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+fi
+
+DESCRIPTION="lightweight Disqus alternative"
+HOMEPAGE="http://posativ.org/isso/ https://pypi.python.org/pypi/isso/ https://github.com/posativ/isso/"
+# BSD: pbkdf2.js sha1.js crypto.py?
+LICENSE="MIT BSD"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+if [[ ${PV} == *9999* ]]; then
+ IUSE+=" debug doc test"
+ DOCS=( README.md CHANGES.rst docs/{contribute.rst,faq.rst} )
+else
+ DOCS=( )
+fi
+
+LIBDEPEND="dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ >=dev-python/misaka-2.0[${PYTHON_USEDEP}]
+ <dev-python/misaka-3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep \
+ "dev-python/configparser[$(python_gen_usedep 'python2*')]
+ >=dev-python/ipaddr-2.1[$(python_gen_usedep 'python2*')]
+ >=dev-python/werkzeug-0.8[$(python_gen_usedep 'python2*')]
+ dev-python/bleach[$(python_gen_usedep 'python2*')]" \
+ 'python2*')"
+HDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+if [[ ${PV} == *9999* ]]; then
+ HDEPEND+=" ${VCS_DEPEND}
+ dev-ruby/sass
+ net-libs/nodejs
+ doc? ( dev-python/sphinx )"
+fi
+DEPEND="${HDEPEND}"
+if [[ ${PV} == *9999* ]]; then
+ DEPEND+=" test? ( dev-python/nose[${PYTHON_USEDEP}]
+ ${LIBDEPEND} )"
+fi
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${LIBDEPEND}"
+
+pkg_setup() {
+ enewuser ${PN}
+}
+
+src_fetch() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_fetch
+ for EGIT_REPO_URI in "${JS_REPO_URIS[@]}"; do (
+ unset ${PN}_LIVE_REPO
+ git-r3_src_fetch
+ ); done
+ else
+ default
+ fi
+}
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-r3_src_unpack
+ for EGIT_REPO_URI in "${JS_REPO_URIS[@]}"; do (
+ unset ${PN}_LIVE_REPO;
+ EGIT_CHECKOUT_DIR=${WORKDIR}/${EGIT_REPO_URI##*/} git-r3_src_unpack
+ ); done
+ mkdir -p "${S}"/isso/js/components/{requirejs-text,almond} || die
+ cp "${WORKDIR}"/text.git/text.js "${S}"/isso/js/components/requirejs-text/ || die
+ cp "${WORKDIR}"/almond.git/almond.js "${S}"/isso/js/components/almond/ || die
+ else
+ default
+ fi
+}
+
+src_compile() {
+ if [[ ${PV} == *9999* ]]; then
+ # build r.js
+ pushd "${WORKDIR}"/r.js.git 2>/dev/null
+ node dist.js || die
+ popd 2>/dev/null
+ local RJS=${WORKDIR}/r.js.git/r.js
+
+ # generate css
+ scss isso/css/isso.scss isso/css/isso.css || die
+
+ # generate js using r.js
+ node "${RJS}" -o isso/js/build.embed.js || die
+ node "${RJS}" -o isso/js/build.count.js || die
+ if use debug; then
+ node "${RJS}" -o isso/js/build.embed.js optimize="none" out="isso/js/embed.dev.js" || die
+ node "${RJS}" -o isso/js/build.count.js optimize="none" out="isso/js/count.dev.js" || die
+ fi
+ fi
+ distutils-r1_src_compile
+}
+
+python_compile_all() {
+ if [[ ${PV} == *9999* ]]; then
+ if use doc; then
+ mkdir -p "${T}"/html || die
+ pushd docs 2>/dev/null || die
+ sphinx-build -E -b dirhtml -a . "${T}"/html || die
+ popd 2>/dev/null || die
+ mkdir -p "${T}"/html/_static/css || die
+ scss docs/_static/css/site.scss "${T}"/html/_static/css/site.css || die
+ fi
+ fi
+}
+
+python_test() {
+ if [[ ${PV} == *9999* ]]; then
+ # doctests fail, require https://github.com/gnublade/doctest-ignore-unicode
+ nosetests \
+ --with-coverage --cover-package=isso \
+ isso/ specs/ \
+ || die "tests failed"
+ #nosetests --with-doctest --with-doctest-ignore-unicode \
+ # --with-coverage --cover-package=isso \
+ # isso/ specs/ \
+ # || die "tests failed"
+ fi
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /etc
+ doins share/${PN}.conf
+ if [[ ${PV} == *9999* ]]; then
+ use doc && dodoc -r "${T}"/html
+ fi
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/www-apps/isso/metadata.xml b/www-apps/isso/metadata.xml
new file mode 100644
index 0000000..a3e26e8
--- /dev/null
+++ b/www-apps/isso/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription lang="en">
+Isso is a lightweight commenting server similar to Disqus. It allows anonymous
+comments, maintains identity and is simple to administrate. It uses JavaScript
+and cross-origin ressource sharing for easy integration into static websites.
+ </longdescription>
+</pkgmetadata>