diff options
Diffstat (limited to 'www-apps')
-rw-r--r-- | www-apps/isso/Manifest | 6 | ||||
-rw-r--r-- | www-apps/isso/files/isso.confd | 29 | ||||
-rw-r--r-- | www-apps/isso/files/isso.initd | 33 | ||||
-rw-r--r-- | www-apps/isso/isso-0.12.2.ebuild | 162 | ||||
-rw-r--r-- | www-apps/isso/isso-9999.ebuild | 162 | ||||
-rw-r--r-- | www-apps/isso/metadata.xml | 9 |
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> |