summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2021-04-21 22:08:58 +0200
committerAlfredo Tupone <tupone@gentoo.org>2021-04-21 22:08:58 +0200
commit22394d577a18d2198b9c734b737d29911809c858 (patch)
tree33fb61ca4c030a10aa6ecfd74550eb97dcabfd51 /www-apps/liquid_feedback_frontend
parentapp-shells/esh: drop prefix inherit (diff)
downloadgentoo-22394d577a18d2198b9c734b737d29911809c858.tar.gz
gentoo-22394d577a18d2198b9c734b737d29911809c858.tar.bz2
gentoo-22394d577a18d2198b9c734b737d29911809c858.zip
www-apps/liquid_feedback_frontend: version bump to 3.2.1
Package-Manager: Portage-3.0.17, Repoman-3.0.2 Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Diffstat (limited to 'www-apps/liquid_feedback_frontend')
-rw-r--r--www-apps/liquid_feedback_frontend/Manifest1
-rwxr-xr-xwww-apps/liquid_feedback_frontend/files/liquid_feedback.initd16
-rw-r--r--www-apps/liquid_feedback_frontend/files/myconfig-3.lua487
-rw-r--r--www-apps/liquid_feedback_frontend/liquid_feedback_frontend-3.2.1.ebuild46
4 files changed, 550 insertions, 0 deletions
diff --git a/www-apps/liquid_feedback_frontend/Manifest b/www-apps/liquid_feedback_frontend/Manifest
index 4abfed6f10f4..862e9f0e6bc9 100644
--- a/www-apps/liquid_feedback_frontend/Manifest
+++ b/www-apps/liquid_feedback_frontend/Manifest
@@ -1,3 +1,4 @@
DIST liquid_feedback_frontend-italian-2.2.7.tar.gz 7670 BLAKE2B 8131613849efdea1eaa1eda4f5620d7418d6b32c0f57b0aebb07c7dbe17afda2eee814733eada0656a159a93dda97a5a21e17db71baf3ca84e708caf502a4247 SHA512 63cfcb4a565fa570777c2f3d2dcec2e98f16415ad9f8a6d62076f4e2cdf0ddae95610688b6b7751a865344acb7b65f78e7cb1ae4103b24dacf63e3e346405918
DIST liquid_feedback_frontend-v2.2.7.tar.gz 362509 BLAKE2B 980e261ac9bddfb0f87757457fe58e93481e6d56dc0199b9fc72308e094aec21730f6d901f2e5c1b18a7f5993d1704cc91f64870c16c6215cbbf806095aabe12 SHA512 aa8c99e53c329dbf4659dabe617938d63b2aa42bab99ff4e200d4e15be8ed8ef5f64a71293fa796adde47525d1a76ece3b04cff982474eb2307a3fcd4f269d78
DIST liquid_feedback_frontend-v3.0.6.tar.gz 497521 BLAKE2B a9e7e7944b418a707a459093b41798818644e2d8aed47a48808c2bf7800acdcde61a04e07483dbb387264df2236b1b02f2410cb34f62bdec6244405db0cf3474 SHA512 d283d277cf6836c53398480c566158481fc65400e128bc4817975fd39c41e6e56b17f7f789a74b1b2a89f84aaf315101e9aa86a474c1817362443d03610fe6e9
+DIST liquid_feedback_frontend-v3.2.1.tar.gz 499832 BLAKE2B 6d9ead85fa7e47c04c4169b85ffa119737a798d94b236dbd7d11ae4c5d38cc072a71a45b52e250effa62dac65c3ebcd723061e395b05d9f31d0bb01f8e82f9b9 SHA512 1b5e5fc390a2a705c99145ea36556f9b14de4c052c4673e2c7f12148efe485feaf1a91781c016015c41465559204e906e3cad78e37f41289abd5ca27c4257bb3
diff --git a/www-apps/liquid_feedback_frontend/files/liquid_feedback.initd b/www-apps/liquid_feedback_frontend/files/liquid_feedback.initd
new file mode 100755
index 000000000000..0fe14172b52f
--- /dev/null
+++ b/www-apps/liquid_feedback_frontend/files/liquid_feedback.initd
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="liquid feedback daemon"
+description="Liquid Feedback Frontend"
+command=/usr/bin/moonbridge
+command_args="-l /var/log/liquid_feedback/lqfb.log /usr/lib/webmcp/bin/mcp.lua /usr/lib/webmcp /var/lib/liquid_feedback_frontend main myconfig-3"
+pidfile=/run/lqfb.pid
+command_user="apache:apache"
+command_background=true
+
+depend() {
+ need net
+ need postgresql
+}
diff --git a/www-apps/liquid_feedback_frontend/files/myconfig-3.lua b/www-apps/liquid_feedback_frontend/files/myconfig-3.lua
new file mode 100644
index 000000000000..1a1c51f2ac39
--- /dev/null
+++ b/www-apps/liquid_feedback_frontend/files/myconfig-3.lua
@@ -0,0 +1,487 @@
+-- ========================================================================
+-- MANDATORY (MUST BE CAREFULLY CHECKED AND PROPERLY SET!)
+-- ========================================================================
+
+-- Name of this instance, defaults to name of config file
+-- ------------------------------------------------------------------------
+config.instance_name = "Instance name"
+
+
+-- Information about service provider (HTML)
+-- ------------------------------------------------------------------------
+config.app_service_provider = "Snake Oil<br/>10000 Berlin<br/>Germany"
+
+
+-- A HTML formatted text the user has to accept while registering
+-- ------------------------------------------------------------------------
+config.use_terms = "<h1>Terms of Use</h1><p>Insert terms here</p>"
+
+
+-- Checkbox(es) the user has to accept while registering
+-- ------------------------------------------------------------------------
+--[[
+config.use_terms_checkboxes = {
+ {
+ name = "terms_of_use_v1",
+ html = "I accept the terms of use.",
+ not_accepted_error = "You have to accept the terms of use to be able to register."
+ },
+ {
+ name = "extra_terms_of_use_v1",
+ html = "I accept the extra terms of use.",
+ not_accepted_error = "You have to accept the extra terms of use to be able to register."
+ }
+}
+--]]
+
+-- Absolute base url of application
+-- ------------------------------------------------------------------------
+config.absolute_base_url = "http://example.com/"
+config.localhost = false
+
+
+-- Connection information for the LiquidFeedback database
+-- ------------------------------------------------------------------------
+config.database = { engine='postgresql', dbname='liquid_feedback', user='liquid_feedback', password='xxx' }
+
+
+-- Location of the rocketwiki binaries
+-- ------------------------------------------------------------------------
+config.enforce_formatting_engine = "markdown2"
+config.formatting_engines = {
+ { id = "markdown2",
+ name = "python-markdown2",
+ executable = "markdown2",
+ args = {'-s', 'escape', '-x', 'nofollow,wiki-tables'},
+ remove_images = true
+ },
+-- { id = "markdown_py",
+-- name = "Python Markdown",
+-- executable = "markdown_py",
+-- args = {'-s', 'escape', '-x', 'extra', '-x', 'nl2br', '-x', 'sane_lists'},
+-- remove_images = true
+-- },
+-- { id = "rocketwiki",
+-- name = "RocketWiki",
+-- executable = "/opt/rocketwiki-lqfb/rocketwiki-lqfb"
+-- },
+-- { id = "compat",
+-- name = "Traditional WIKI syntax",
+-- executable = "/opt/rocketwiki-lqfb/rocketwiki-lqfb-compat"
+-- },
+}
+
+
+-- Public access level
+-- ------------------------------------------------------------------------
+-- Available options:
+-- "none"
+-- -> Closed user group, no public access at all
+-- (except login/registration/password reset)
+-- "anonymous"
+-- -> Shows only initiative/suggestions texts and aggregated
+-- supporter/voter counts
+-- "authors_pseudonymous"
+-- -> Like anonymous, but shows screen names of authors
+-- "all_pseudonymous"
+-- -> Show everything a member can see, except profile pages
+-- "everything"
+-- -> Show everything a member can see, including profile pages
+-- ------------------------------------------------------------------------
+config.public_access = "none"
+
+
+
+-- ========================================================================
+-- OPTIONAL
+-- Remove leading -- to use a option
+-- ========================================================================
+
+-- Disable registration
+-- ------------------------------------------------------------------------
+-- Available options:
+-- false: registration is enabled (default)
+-- true: registration is disabled
+-- ------------------------------------------------------------------------
+-- config.disable_registration = true
+
+
+-- List of enabled languages, defaults to available languages
+-- ------------------------------------------------------------------------
+-- config.enabled_languages = { 'en', 'de', 'eo', 'el', 'hu', 'it', 'ka', 'nl', 'zh-Hans', 'zh-TW' }
+
+
+-- Default language, defaults to "en"
+-- ------------------------------------------------------------------------
+-- config.default_lang = "en"
+
+
+-- after how long is a user considered inactive and the trustee will see warning,
+-- notation is according to postgresql intervals, default: no warning at all
+-- ------------------------------------------------------------------------
+-- config.delegation_warning_time = '6 months'
+
+
+-- after which time a user is advised (_soft) or forced (_hard) to check
+-- unit and area delegations. default: no check at all
+-- ------------------------------------------------------------------------
+-- config.check_delegations_interval_hard = "6 months"
+-- config.check_delegations_interval_soft = "3 months"
+
+
+-- default option when checking delegations
+-- available options: "confirm", "revoke" and "none", default: "confirm"
+-- ------------------------------------------------------------------------
+-- config.check_delegations_default = "confirm"
+
+
+-- Prefix of all automatic mails, defaults to "[Liquid Feedback] "
+-- ------------------------------------------------------------------------
+-- config.mail_subject_prefix = "[LiquidFeedback] "
+
+
+-- Sender of all automatic mails, defaults to system defaults
+-- ------------------------------------------------------------------------
+-- config.mail_envelope_from = "liquidfeedback@example.com"
+-- config.mail_from = { name = "LiquidFeedback", address = "liquidfeedback@example.com" }
+-- config.mail_reply_to = { name = "Support", address = "support@example.com" }
+
+
+-- Template for digest emails
+-- #{name} will be replaced by member screen name
+-- #{digest} will be replaced with the digest content
+-- ------------------------------------------------------------------------
+-- config.notification_digest_template = [[
+-- Hello #{name},
+--
+-- this is your personal digest.
+--
+-- #{digest}
+-- ]]
+
+
+-- Configuration of password hashing algorithm (defaults to "crypt_sha512")
+-- ------------------------------------------------------------------------
+-- config.password_hash_algorithm = "crypt_sha512"
+-- config.password_hash_algorithm = "crypt_sha256"
+-- config.password_hash_algorithm = "crypt_md5"
+
+
+-- Number of rounds for crypt_sha* algorithms, minimum and maximum
+-- (defaults to minimum 10000 and maximum 20000)
+-- ------------------------------------------------------------------------
+-- config.password_hash_min_rounds = 10000
+-- config.password_hash_max_rounds = 20000
+
+
+-- Supply custom url for avatar/photo delivery
+-- ------------------------------------------------------------------------
+-- config.fastpath_url_func = nil
+
+
+-- Local directory for database dumps offered for download
+-- ------------------------------------------------------------------------
+-- config.download_dir = nil
+
+
+-- Special use terms for database dump download
+-- ------------------------------------------------------------------------
+-- config.download_use_terms = "=== Download use terms ===\n"
+
+
+-- Use custom image conversion, defaults to ImageMagick's convert
+-- ------------------------------------------------------------------------
+--config.member_image_content_type = "image/jpeg"
+--config.member_image_convert_func = {
+-- avatar = function(data) return extos.pfilter(data, "convert", "jpeg:-", "-thumbnail", "48x48", "jpeg:-") end,
+-- photo = function(data) return extos.pfilter(data, "convert", "jpeg:-", "-thumbnail", "240x240", "jpeg:-") end
+--}
+
+
+-- Display a html formatted public message of the day
+-- ------------------------------------------------------------------------
+-- config.motd_public = "<h1>Message of the day (public)</h1><p>The MOTD is formatted with HTML</p>"
+
+
+-- Display a html formatted internal message of the day
+-- ------------------------------------------------------------------------
+-- config.motd_intern = "<h1>Message of the day (intern)</h1><p>The MOTD is formatted with HTML</p>"
+
+
+-- Integration of Etherpad, disabled by default
+-- ------------------------------------------------------------------------
+--config.etherpad = {
+-- base_url = "http://example.com:9001/",
+-- api_base = "http://localhost:9001/",
+-- api_key = "mysecretapikey",
+-- group_id = "mygroupname",
+-- cookie_path = "/"
+--}
+
+
+-- Free timings
+-- ------------------------------------------------------------------------
+-- This example expects a date string entered in the free timing field
+-- by the user creating a poll, interpreting it as target date for then
+-- poll and splits the remaining time at the ratio of 4:1:2
+-- Please note, polling policies never have an admission phase
+-- The available_func is optional, if not set any target date is allowed
+
+--[[
+config.free_timing = {
+ calculate_func = function(policy, timing_string)
+ local function interval_by_seconds(secs)
+ local secs_per_day = 60 * 60 * 24
+ local days
+ days = math.floor(secs / secs_per_day)
+ secs = secs - days * secs_per_day
+ return days .. " days " .. secs .. " seconds"
+ end
+ local target_date = parse.date(timing_string, atom.date)
+ if not target_date then
+ return false
+ end
+ local target_timestamp = target_date.midday
+ local now = atom.timestamp:get_current()
+ trace.debug(target_timestamp, now)
+ local duration = target_timestamp - now
+ if duration < 0 then
+ return false
+ end
+ return {
+ discussion = interval_by_seconds(duration / 7 * 4),
+ verification = interval_by_seconds(duration / 7 * 1),
+ voting = interval_by_seconds(duration / 7 * 2)
+ }
+ end,
+ available_func = function(policy)
+ return {
+ { name = "End of 2013", id = '2013-12-31' },
+ { name = "End of 2014", id = '2014-12-31' },
+ { name = "End of 2015", id = '2015-12-31' }
+ }
+ end
+}
+--]]
+
+-- Configuration of lf4rcs
+-- ------------------------------------------------------------------------
+-- config.lf4rc = {}
+
+-- Example configuration for controlling a Git repository
+--[[
+config.lf4rcs.git = {
+
+ render_draft_reference = function(url, draft)
+ if not draft.external_reference then return end
+ ui.tag{ content = _"Changeset:" }
+ slot.put(" ")
+ ui.link{
+ text = draft.external_reference,
+ external = url .. ";a=commit;h=" .. draft.external_reference
+ }
+ end,
+
+ get_remote_user = function()
+ return os.getenv("REMOTE_USER")
+ end,
+
+ get_branches = function(path, exec)
+ local branches = {}
+ for line in io.lines() do
+ local oldrev, newrev, branch = string.match(line, "([^ ]+) ([^ ]+) refs/heads/(.+)")
+ if not branch then
+ return nil, "unexpected format from git hook environment"
+ end
+ branches[branch] = { newrev }
+ end
+ return branches
+ end,
+
+ commit = function(path, exec, branch, target_node_id, close_message, merge_message)
+ if merge_message then
+ exec("git", "-C", path, "checkout", "-f", "master")
+ exec("git", "-C", path, "merge", target_node_id, "-m", merge_message)
+ exec("git", "-C", path, "push", "origin", "master")
+ end
+ end
+
+}
+
+-- Example configuration for controlling a Mercurial repository
+config.lf4rcs.hg = {
+
+ working_branch_name = "work",
+
+ render_draft_reference = function(url, draft)
+ if not draft.external_reference then return end
+ ui.tag{ content = _"Changeset graph:" }
+ slot.put(" ")
+ ui.link{
+ text = draft.external_reference,
+ external = url .. "/graph/" .. draft.external_reference
+ }
+ end,
+
+ get_remote_user = function()
+ return os.getenv("REMOTE_USER")
+ end,
+
+ get_branches = function(path, exec)
+ local first_node_id = os.getenv("HG_NODE")
+ if not first_node_id then
+ return nil, "internal error, no first node ID available"
+ end
+ local hg_log = exec(
+ "hg", "log", "-R", path, "-r", first_node_id .. ":", "--template", "{branches}\n"
+ )
+ local branches = {}
+ for branch in hg_log:gmatch("(.-)\n") do
+ if branch == "" then branch = "default" end
+ if not branches[branch] then
+ branches[branch] = {}
+ local head_lines = exec(
+ "hg", "heads", "-R", path, "--template", "{node}\n", branch
+ )
+ for node_id in string.gmatch(head_lines, "[^\n]+") do
+ table.insert(branches[branch], node_id)
+ end
+ end
+ end
+ return branches
+ end,
+
+ extra_checks = function(path, exec)
+ local result = exec("hg", "heads", "-t", "-c")
+ for branch in string.gmatch(result, "[^\n]+") do
+ if branch == lf4rcs.config.hg.working_branch_name then
+ return nil, "open head found for branch " .. lf4rcs.config.hg.working_branch_name
+ end
+ end
+ return true
+ end,
+
+ commit = function(path, exec, branch, target_node_id, close_message, merge_message)
+ exec("hg", "up", "-R", path, "-C", "-r", target_node_id)
+ exec("hg", "commit", "-R", path, "--close-branch", "-m", close_message)
+ if merge_message then
+ exec("hg", "up", "-R", path, "-C", "-r", "default")
+ exec("hg", "merge", "-R", path, "-r", "tip")
+ exec("hg", "commit", "-R", path, "-m", merge_message)
+ end
+ end
+
+}
+
+-- Grace period after creating an initiative for pushing changes during verification phase
+-- disabled by default (nil), use PostgreSQL interval notation
+-- config.lf4rcs.push_grace_period = nil
+
+lf4rcs.init()
+--]]
+
+-- External references
+-- ------------------------------------------------------------------------
+-- Rendering of external references
+
+--[[
+config.render_external_reference = {
+ draft = function(draft, wrapper)
+ wrapper(function()
+ ui.tag{ content = draft.external_reference)
+ end)
+ end,
+ initiative = function(initiative, wrapper)
+ wrapper(function()
+ ui.tag{ content = initiative.external_reference)
+ end)
+ end
+end
+--]]
+
+-- Admin logger
+-- ------------------------------------------------------------------------
+-- Logging administrative activities
+-- disabled by default
+
+--[[
+config.admin_logger = function(params)
+
+ local adminid = app.session.member_id
+ local adminname = app.session.member.name
+ local url = params._webmcp_path
+
+ -- do something (e.g. calling 'logger' via extos.pfilter)
+
+end
+--]]
+
+
+-- Network interface to bind to
+-- ------------------------------------------------------------------------
+-- Available options:
+-- true: bind to localhost (default)
+-- false: bind to all interface
+-- ------------------------------------------------------------------------
+-- config.localhost = true
+
+
+-- Network port to bind to
+-- ------------------------------------------------------------------------
+-- config.port = 8080
+
+
+-- Serving content via IPV6
+-- ------------------------------------------------------------------------
+-- Available options:
+-- nil or false: do not serve via IPv6 (default)
+-- true: serve via IPv6
+-- ------------------------------------------------------------------------
+-- config.ipv6 = false
+
+
+-- Application server fork configuration
+-- ------------------------------------------------------------------------
+-- config.fork = {
+-- pre = 2, -- desired number of spare (idle) processes
+-- min = 4, -- minimum number of processes
+-- max = 128, -- maximum number of processes (hard limit)
+-- delay = 0.125, -- delay (seconds) between creation of spare processes
+-- error_delay = 2, -- delay (seconds) before retry of failed process creation
+-- exit_delay = 2, -- delay (seconds) between destruction of excessive spare processes
+-- idle_timeout = 900, -- idle time (seconds) after a fork gets terminated (0 for no timeout)
+-- memory_limit = 0, -- maximum memory consumption (bytes) before process gets terminated
+-- min_requests = 50, -- minimum count of requests handled before fork is terminated
+-- max_requests = 100 -- maximum count of requests handled before fork is terminated
+-- }
+
+
+-- HTTP server options
+-- ------------------------------------------------------------------------
+-- http_options = {
+-- static_headers = {} -- string or table of static headers to be returned with every request
+-- request_header_size_limit = 1024*1024, -- maximum size of request body sent by client
+-- request_body_size_limit = 64*1024*1024, -- maximum size of request body sent by client
+-- idle_timeout = 65, -- maximum time until receiving the first byte of the request headera
+-- stall_timeout = 60, -- maximum time a client connection may be stalled
+-- request_header_timeout = 120, -- maximum time until receiving the remaining bytes of the request header
+-- response_timeout = 3600, -- time in which request body and response must be sent
+-- maximum_input_chunk_size = 16384 -- tweaks behavior of request-body parser
+-- minimum_output_chunk_size = 1024 -- chunk size for chunked-transfer-encoding
+-- }
+
+
+-- WebMCP accelerator
+-- ------------------------------------------------------------------------
+-- uncomment the following line to use C implementations of chosen
+-- functions:
+-- ------------------------------------------------------------------------
+-- require 'webmcp_accelerator'
+
+
+-- Trace debug
+-- ------------------------------------------------------------------------
+-- uncomment the following line to enable debug trace
+-- ------------------------------------------------------------------------
+-- config.enable_debug_trace = true
+
diff --git a/www-apps/liquid_feedback_frontend/liquid_feedback_frontend-3.2.1.ebuild b/www-apps/liquid_feedback_frontend/liquid_feedback_frontend-3.2.1.ebuild
new file mode 100644
index 000000000000..758cd8b2f74d
--- /dev/null
+++ b/www-apps/liquid_feedback_frontend/liquid_feedback_frontend-3.2.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils toolchain-funcs
+
+PN_F=${PN}
+PV_F=v${PV}
+MY_P=${PN}-v${PV}
+
+DESCRIPTION="Internet platforms for proposition development and decision making"
+HOMEPAGE="https://www.public-software-group.org/liquid_feedback"
+SRC_URI="https://www.public-software-group.org/pub/projects/liquid_feedback/frontend/v${PV}/${MY_P}.tar.gz"
+
+LICENSE="HPND CC-BY-2.5"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="~www-apps/liquid_feedback_core-3.2.2
+ ~www-servers/moonbridge-1.0.1
+ >=www-apps/webmcp-2.1.0
+ acct-user/apache"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+DOCS=( "${FILESDIR}"/postinstall-en.txt INSTALL.html INSTALL.mkd )
+
+src_install() {
+ default
+
+ insinto /var/lib/${PN}
+ doins -r app db env fastpath lib locale model static tmp
+ fowners apache:apache /var/lib/${PN}/tmp
+ dodir /var/log/liquid_feedback
+ keepdir /var/log/liquid_feedback
+ fowners apache:apache /var/log/liquid_feedback
+
+ insinto /etc/${PN}
+ doins "${FILESDIR}"/myconfig-3.lua config/*
+ dosym ../../../etc/${PN} /var/lib/${PN}/config
+
+ newinitd "${FILESDIR}"/liquid_feedback.initd liquid_feedback
+}