* [gentoo-commits] repo/proj/guru:master commit in: www-apps/laminar/files/, www-apps/laminar/
@ 2023-07-26 7:43 Viorel Munteanu
0 siblings, 0 replies; only message in thread
From: Viorel Munteanu @ 2023-07-26 7:43 UTC (permalink / raw
To: gentoo-commits
commit: 4dddb9e174848745a5dea8b558d9e8cbf40170c8
Author: Ferenc Erki <erkiferenc <AT> gmail <DOT> com>
AuthorDate: Tue Jul 25 18:51:25 2023 +0000
Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Tue Jul 25 18:51:25 2023 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=4dddb9e1
www-apps/laminar: new package, add 1.3
Signed-off-by: Ferenc Erki <erkiferenc <AT> gmail.com>
www-apps/laminar/Manifest | 4 +
.../files/laminar-1.3-fix-cmake-warning.patch | 14 ++++
.../files/laminar-1.3-skip-js-download.patch | 20 +++++
.../laminar-1.3-skip-manpage-compression.patch | 24 ++++++
www-apps/laminar/files/laminar.initd | 30 ++++++++
www-apps/laminar/laminar-1.3.ebuild | 87 ++++++++++++++++++++++
www-apps/laminar/metadata.xml | 11 +++
7 files changed, 190 insertions(+)
diff --git a/www-apps/laminar/Manifest b/www-apps/laminar/Manifest
new file mode 100644
index 000000000..8ed40a128
--- /dev/null
+++ b/www-apps/laminar/Manifest
@@ -0,0 +1,4 @@
+DIST laminar-1.3-Chart.min-3.9.1.js 199560 BLAKE2B 58a0db202c549422b5d6745fd61b76ae19df01b1dab1fd1d92eb0a7fa2925508b133dca858f2ca1f3c310fd1af900c66a11dc9f35ff14246ef1d81031b1d75b0 SHA512 125445a0441d2391edea466fcb35e1606f4daa3b649a591f624d30afac07c54f491076a44bb50964d7a697900b93ef082a553a8c380c69b0b7be4ba646892024
+DIST laminar-1.3-ansi_up-4.0.4.js 22159 BLAKE2B 8c3e3b2e42211bcf2fa56e327ba717ff0150b9d04b6f1ca420f22b976b3beb094f691c96aec9656dbe802a4558900ea8d5415a032ff1034b0f76274fb618f41a SHA512 34c8cb74f687abc77ab84c4a504a04d9b334e9224ceffd35e6e3b31f0ff1c59ee3ddb239e5d731b6839de00485d47db34f338e2943affba04a80f6ecb43eafc3
+DIST laminar-1.3-vue.min-2.6.12.js 93670 BLAKE2B f5b988596e9a9b7fc150813c4f58ab92a47a6063a2de1b6de4f272a00c92a73a7ef033f99c1bb305d110d9912bee29c84dfc40bb19017aeb343719cc0bb426db SHA512 04a6d247e71fcb12dd300b04d2768b45e1522e0f3fa636e07f11e1fe4fe4502f361f2eebe87b51e612e1a1b6a59f681c4efce4cb27a1add444763a6c430cb627
+DIST laminar-1.3.tar.gz 103260 BLAKE2B eb5a926da90c9abd304f0b717c18d5ef2254afa741d7e6dce79f8aa93b68cd1c84c1771828252ab050d9aea6bc17ded4b79948427b542ab3c96852830311eeda SHA512 cdcf3544e641bf6250361e8b693de90300014d86ed1053e65a2670243b8901707c16c274ea63cebb613943fa81a9a9037778a00ad4a1296c3f7efb2888fe52a3
diff --git a/www-apps/laminar/files/laminar-1.3-fix-cmake-warning.patch b/www-apps/laminar/files/laminar-1.3-fix-cmake-warning.patch
new file mode 100644
index 000000000..071af6470
--- /dev/null
+++ b/www-apps/laminar/files/laminar-1.3-fix-cmake-warning.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d32228a..72c4cbc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,8 +16,8 @@
+ ### You should have received a copy of the GNU General Public License
+ ### along with Laminar. If not, see <http://www.gnu.org/licenses/>
+ ###
+-project(laminar)
+ cmake_minimum_required(VERSION 3.6)
++project(laminar)
+
+ set(CMAKE_INCLUDE_CURRENT_DIR ON)
+ set(CMAKE_CXX_STANDARD 17)
diff --git a/www-apps/laminar/files/laminar-1.3-skip-js-download.patch b/www-apps/laminar/files/laminar-1.3-skip-js-download.patch
new file mode 100644
index 000000000..ab873caf4
--- /dev/null
+++ b/www-apps/laminar/files/laminar-1.3-skip-js-download.patch
@@ -0,0 +1,20 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 614f5b3..7301c5b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,14 +82,7 @@ add_custom_command(OUTPUT index_html_size.h
+ COMMAND sh -c '( echo -n "\\#define INDEX_HTML_UNCOMPRESSED_SIZE " && wc -c < "${CMAKE_SOURCE_DIR}/src/resources/index.html" ) > index_html_size.h'
+ DEPENDS src/resources/index.html)
+
+-# Download 3rd-party frontend JS libs...
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.12/vue.min.js
+- js/vue.min.js EXPECTED_MD5 fb192338844efe86ec759a40152fcb8e)
+-file(DOWNLOAD https://raw.githubusercontent.com/drudru/ansi_up/v4.0.4/ansi_up.js
+- js/ansi_up.js EXPECTED_MD5 b31968e1a8fed0fa82305e978161f7f5)
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js
+- js/Chart.min.js EXPECTED_MD5 7dd5ea7d2cf22a1c42b43c40093d2669)
+-# ...and compile them
++# Compile 3rd-party frontend JS libs
+ generate_compressed_bins(${CMAKE_BINARY_DIR} js/vue.min.js
+ js/ansi_up.js js/Chart.min.js)
+ # (see resources.cpp where these are fetched)
diff --git a/www-apps/laminar/files/laminar-1.3-skip-manpage-compression.patch b/www-apps/laminar/files/laminar-1.3-skip-manpage-compression.patch
new file mode 100644
index 000000000..14b1eb8db
--- /dev/null
+++ b/www-apps/laminar/files/laminar-1.3-skip-manpage-compression.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7301c5b..d32228a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -111,17 +111,8 @@ add_executable(laminarc src/client.cpp src/version.cpp laminar.capnp.c++)
+ target_link_libraries(laminarc capnp-rpc capnp kj-async kj pthread)
+
+ ## Manpages
+-macro(gzip SOURCE)
+- get_filename_component(OUT_FILE ${SOURCE} NAME)
+- add_custom_command(OUTPUT ${OUT_FILE}.gz
+- COMMAND gzip < ${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE} > ${OUT_FILE}.gz
+- DEPENDS ${SOURCE})
+-endmacro()
+-add_custom_target(laminar-manpages ALL DEPENDS laminard.8.gz laminarc.1.gz)
+-gzip(etc/laminard.8)
+-gzip(etc/laminarc.1)
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/laminard.8.gz DESTINATION share/man/man8)
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/laminarc.1.gz DESTINATION share/man/man1)
++install(FILES etc/laminard.8 DESTINATION share/man/man8)
++install(FILES etc/laminarc.1 DESTINATION share/man/man1)
+
+ ## Tests
+ set(BUILD_TESTS FALSE CACHE BOOL "Build tests")
diff --git a/www-apps/laminar/files/laminar.initd b/www-apps/laminar/files/laminar.initd
new file mode 100644
index 000000000..0df27b9d5
--- /dev/null
+++ b/www-apps/laminar/files/laminar.initd
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="Laminar daemon"
+description="Fast and lightweight Continuous Integration"
+command=/usr/sbin/laminard
+pidfile=/run/laminar.pid
+command_background="true"
+command_user="laminar:laminar"
+
+depend() {
+ need localmount
+}
+
+start_pre() {
+ local env
+ local env_args
+
+ OIFS=$IFS
+ IFS=$'\n'
+
+ for env in $(set | grep ^LAMINAR_); do
+ env_args="${env_args} --env ${env}"
+ done
+
+ IFS=$OIFS
+
+ start_stop_daemon_args="${start_stop_daemon_args} ${env_args}"
+}
diff --git a/www-apps/laminar/laminar-1.3.ebuild b/www-apps/laminar/laminar-1.3.ebuild
new file mode 100644
index 000000000..c5880fbf0
--- /dev/null
+++ b/www-apps/laminar/laminar-1.3.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+CMAKE_BUILD_TYPE=Release
+CMAKE_IN_SOURCE_BUILD=1
+
+declare -A BUNDLED_VERSION_FOR
+BUNDLED_VERSION_FOR[vue.min]=2.6.12
+BUNDLED_VERSION_FOR[ansi_up]=4.0.4
+BUNDLED_VERSION_FOR[Chart.min]=3.9.1
+
+DESCRIPTION="Fast and lightweight Continuous Integration"
+HOMEPAGE="https://laminar.ohwg.net https://github.com/ohwgiles/laminar"
+SRC_URI="
+ https://github.com/ohwgiles/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ https://cdnjs.cloudflare.com/ajax/libs/vue/${BUNDLED_VERSION_FOR[vue.min]}/vue.min.js -> ${P}-vue.min-${BUNDLED_VERSION_FOR[vue.min]}.js
+ https://raw.githubusercontent.com/drudru/ansi_up/v${BUNDLED_VERSION_FOR[ansi_up]}/ansi_up.js -> ${P}-ansi_up-${BUNDLED_VERSION_FOR[ansi_up]}.js
+ https://cdnjs.cloudflare.com/ajax/libs/Chart.js/${BUNDLED_VERSION_FOR[Chart.min]}/chart.min.js -> ${P}-Chart.min-${BUNDLED_VERSION_FOR[Chart.min]}.js
+"
+
+LICENSE="GPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+COMMON_DEPS="
+ dev-db/sqlite:3
+ dev-libs/capnproto
+ sys-libs/zlib
+"
+
+DEPEND="
+ ${COMMON_DEPS}
+ dev-libs/boost
+ dev-libs/rapidjson
+ test? ( dev-cpp/gtest )
+"
+
+RDEPEND="
+ ${COMMON_DEPS}
+ acct-group/laminar
+ acct-user/laminar
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-skip-js-download.patch"
+ "${FILESDIR}/${P}-skip-manpage-compression.patch"
+ "${FILESDIR}/${P}-fix-cmake-warning.patch"
+)
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+
+ mkdir "${S}/js" || die
+
+ local dep
+
+ for dep in vue.min ansi_up Chart.min; do
+ cp "${DISTDIR}/${P}-${dep}-${BUNDLED_VERSION_FOR[$dep]}.js" "${S}/js/${dep}.js" || die
+ done
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLAMINAR_VERSION=${PV}
+ -DBUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ ./laminar-tests || die
+}
+
+src_install() {
+ newinitd "${FILESDIR}/laminar.initd" laminar
+
+ dosym -r /etc/laminar.conf /etc/conf.d/laminar
+
+ cmake_src_install
+}
diff --git a/www-apps/laminar/metadata.xml b/www-apps/laminar/metadata.xml
new file mode 100644
index 000000000..c4990fa10
--- /dev/null
+++ b/www-apps/laminar/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>erkiferenc@gmail.com</email>
+ <name>Ferenc Erki</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ohwgiles/laminar</remote-id>
+ </upstream>
+</pkgmetadata>
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2023-07-26 7:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-26 7:43 [gentoo-commits] repo/proj/guru:master commit in: www-apps/laminar/files/, www-apps/laminar/ Viorel Munteanu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox