diff --git a/www-apps/gitea/Manifest b/www-apps/gitea/Manifest new file mode 100644 index 0000000..050dca4 --- /dev/null +++ b/www-apps/gitea/Manifest @@ -0,0 +1,18 @@ +AUX 1.12-fix-vendoring.patch 430 BLAKE2B 897214736e27f49023c8de9da5e7caa3612947f381d10e1bfd9fca2a6f4cfdcefb7fd6a70fb972e9db1c8a84deb592f585d0c6beda66b551b6e65cdce33e73d6 SHA512 9b2678c373dfb18e53be53b99e2cebdb656f777f850c6f9b67e29d52011edc320fb7d14045fef08b0b3b70959784070264f1cdfae70937097977b2865c8c71b5 +AUX app.ini 67 BLAKE2B 4ec7b8217486047b419202b3a8a7172ac21ae0e5ad9224cd4f010be730ac5cda9d05bf06dcba2d06f8809900094b3b007ef98dd4ea20a125fb7d3db279f53e4a SHA512 93f6f7cf49dd1ece56f7da711adbb58cc38a503527aeea140837d74456ee6f550a089e897d9cb94382e1eb3f5a5cbe4a61362534463eada08a91f314da0f2108 +AUX gitea-logflags.patch 424 BLAKE2B af7c4d5b75a68d96eb3a4b352bd446ad25016093c9acedb1a035e2aa10baf3e451a89f685b9891d6941262523283946539c83e49b432ff7b6040b02a23c10c76 SHA512 df180aba171ef5f12228fa9c420f32a9f2da9125e4ec9517d068bed6c4bd64f4c196da1feb557c40764566fa6238d86c933ea505b8cbbd106102866d720149ca +AUX gitea-mod-vendor.patch 1273 BLAKE2B 3067b17a972b92d0c402af4336ee41daa2f09d389a6e8bf218d33b103230bf8bb4b7003977447cc00293f8941f5002676398d4d755548e114e59cbb3840af8cc SHA512 12d8e0d2cb0998d31f8077f1498205bfee07e0df74926251f1ca38b9824c11246c07e413fc20beaed9ae49cac3d329468432f3fd2d5b25292c5bd656a88c7cc8 +AUX gitea.confd 74 BLAKE2B 656800d35c8f0075005e7e9e5c804292f9884663f89f653426064a20cfbcb518f736bd94947a03bce5adad670fb6150d93026999d6d5395f37a85666b6663a2f SHA512 3e05bad19cd924c4375d9ca6fc57142ba4b5ec897a1c789c3fc9710dfcfee209a199c95040eece089ad93e0357486ab98fad0c448a61e318646b7a71845e9a25 +AUX gitea.confd-r1 243 BLAKE2B 87caa8371f53f52b0a85f720342f9f358dedec9240ab78998655a03df6bf3f301fe077afabdca1b1895dbcab2fa05748735d6f38f9b3ad53534fe8ae6e72db49 SHA512 485dc9d0b86d0a7b3ba958aac9de1129aa0ffbb47219419d38811f2accca2539e49dd93cc4a24b21f1c3802b024aa8449f54e320e8a16197f201532edeca6836 +AUX gitea.initd-r1 688 BLAKE2B eb2341dee53f3fd92c49137855615d9ae7ca77efc396e2d2ed8b624ed2776c7522455a469c00172ecbbe2151ccab476baa0c779baf8a39f63348bdc7ebbd29c2 SHA512 4a6bba463c9abafcb6fc9f3854efd1a69fb3b213c2b34ff6a233f90db535c2ab0f375a0809e4c4be6651ed60d7696a54148a5ee9192567d70ca6a5203a8d3266 +AUX gitea.initd-r2 736 BLAKE2B abb2733808783b3654b51493451950c07237c005897c630f8ce095f0bacb7f1e59c61f0f1663c5daddcab08121c54eaba4de953d6e03ce1c7b405d0e7de597b6 SHA512 42321bbfaa844ef246b825d36bc1b8227b34d4cb7a5c4ced706203c40dd345e4c163e18bfdaa4899154d6c405f8e42b9b7ea0657e048c496ede1976d958d2228 +AUX gitea.initd-r3 802 BLAKE2B 2e33e95f7d2762986184d45b0bbb250cc5e04fffc4e4b006233b28e5b57be69eef1d83441adebe2b94681585edaf77f9da4eb97930f91e75c1b1a5cd8d137633 SHA512 5ff2e653180a0601734fcd055dfffdfdc12363736ed2e56c8576c802398b90f4025b44002cbb9a3fd1e0c2d4c169f62d460381c6c549746d3390e55fc1c677d1 +AUX gitea.logrotated 87 BLAKE2B 373830ddd6eed0ce2f0f7b1dab14e4a253e5a56a73f477cfadbc6deec373846d4df2d697735391581771699d5a6513acb0e14a446873de01eba10d19e3a6bd88 SHA512 798f3fc33026f19dd31ffa78b9b1ed313d7b82b19c047f509e896c1798b2925a1bb7c4998d98a6b47e728979bf7132fb1c2a80eb7fda096a763d6791631cb6d4 +AUX gitea.service 472 BLAKE2B 4c728e2987d0c0a86e65d4b9c1a59f6193ff8a3f9b066991a06f495ad1c5586b3497c71fca1cce5b65f167af09343e7bf3215ee5e8fdefa539e384198d2d88d6 SHA512 6666fe3b4cdbb78a58db4a6bf47a15e6be9ab30b666c6eb77a9e8a002d8c0abd510fc75ef463a11ee6892ab12c98943774616072cb64fd9f2fa42ff8f676aa95 +AUX gitea.service-r1 557 BLAKE2B 0d255654da33fb9155a6bc29896ab164597667c252b680e2b945109163c09feaa88c28776277a9c7f00d6b5b66cb24bda50e99dde354a5d18ed61597fb1ce917 SHA512 cabe0a1b5a5f435f4fa5b3c20fb76ad1b248463fa681e55a4ae66b027f00574c1fcb65f1841c0bc52b7188a02c0fc05bfa9b11931d26c5efce6b988d4b7a8f57 +AUX gitea.service-r2 734 BLAKE2B 84825b8198e9495e2803ca3702e6a631fb269c5c8fb4ff4246465a5bd7f7d796b0c3eaea72d0a25cef4f5d38d27a6c99a1b6d41f489749bef322a4ac93cfdd12 SHA512 287670f196bf6353dbdeb6ac37b4ac73693e16a6a3a83f57e7179ccb64364d1d85950a2ddd0a77238a3d218afdaacc8ba849c2810a7ba1238c7277074d1ebe39 +AUX gitea.service-r3 732 BLAKE2B 8227349f9ffe5dbf7c59efc3b1e250bf8184a72d37958c0ce0a2d8affabaadcb6aaf271b1402c7ac127b80d534f4f72b888ccdce7aa5f7a7cf86a0efe0e719e0 SHA512 7c8aa33dcea56b6fccac23095f7b84225f1c85541cd5eb3536d2901e638c391e025bd9db28bd10c26ef91e5a8fe2d12a878040cf21d4b983858a19f2cac7d1b0 +DIST gitea-1.14.3.tar.gz 117882949 BLAKE2B 6fc2646637b54eb45190d26f04a8f1641733be19849dba48f8f70bb7ed6af1ceb023844a00c2b7fa5bded529f1e4876069d3aabe83b28237fa68865fd66e2149 SHA512 ee475db4d992f2ba47fcf196891dabac454b40383ef2cc3bcd2baa73f238dd419d08d2ad808461f229fe1ca4099176e3397a4c85e32d82e86308863f66dc2478 +EBUILD gitea-1.14.3.ebuild 3459 BLAKE2B 237f50a9cfbe2acf6edd8e2e2db428c22cfd505f2d11107ade63cb81ca0e8a75266c634199b2aba0331377e8be2df065a5bd156feb5557e3b55ddc14bc7a2c0c SHA512 8added364e5e315b08b5138b8cf986738c1ca3c31789625205159d6778436d3c01b5a0480c980e19cba18587e32add945f3b6fce79e62a3b953b4fcd89ad56cd +EBUILD gitea-9999.ebuild 3262 BLAKE2B 98ceac63dcaf4c5e7ff8df2b891f89a8bb108b77386378799bb81b4e555b05a63b4553527dcad84a030757504ed7c64a7acd87059d089357895fd14ed185adf8 SHA512 218c59a6c8bc9399b31bb2659180ae9ff3a544f863b433274cd251dcc39aa6d595dce3873c62dd31406b4cd01cd203337d791e6490e11ca66d0c80b120162fb0 +MISC metadata.xml 246 BLAKE2B 291057fd61e77f8d99f9518e3f709d79ab79ac5ac5ce1387d27a26cec6272698fe6bda7cfacaeb203411413ed003c71cdaead8316cd9e5a2c1ce1056637eaee4 SHA512 9af718c7e0ca960324b9fc168e85824099a5434a322d7da78dabc90b8cd3be2201a3eb321facd0df575fa1d0865c1f80280d290589f0ff1d27bdef575297abb7 diff --git a/www-apps/gitea/files/1.12-fix-vendoring.patch b/www-apps/gitea/files/1.12-fix-vendoring.patch new file mode 100644 index 0000000..9baff97 --- /dev/null +++ b/www-apps/gitea/files/1.12-fix-vendoring.patch @@ -0,0 +1,13 @@ +diff --git a/vendor/modules.txt b/vendor/modules.txt +index efbc866..1c34104 100644 +--- a/vendor/modules.txt ++++ b/vendor/modules.txt +@@ -845,6 +845,8 @@ gopkg.in/yaml.v2 + # mvdan.cc/xurls/v2 v2.1.0 + ## explicit + mvdan.cc/xurls/v2 ++# src.techknowlogick.com/xgo v0.0.0-20200602060627-a09175ea9056 ++## explicit + # strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251 + ## explicit + strk.kbt.io/projects/go/libravatar diff --git a/www-apps/gitea/files/app.ini b/www-apps/gitea/files/app.ini new file mode 100644 index 0000000..5dd998f --- /dev/null +++ b/www-apps/gitea/files/app.ini @@ -0,0 +1,4 @@ +[log] +MODE = file +LEVEL = Info +ROOT_PATH = /var/log/gitea diff --git a/www-apps/gitea/files/gitea-logflags.patch b/www-apps/gitea/files/gitea-logflags.patch new file mode 100644 index 0000000..331bd3d --- /dev/null +++ b/www-apps/gitea/files/gitea-logflags.patch @@ -0,0 +1,13 @@ +diff --git a/modules/log/flags.go b/modules/log/flags.go +index 992fc62..5578a1b 100644 +--- a/modules/log/flags.go ++++ b/modules/log/flags.go +@@ -31,7 +31,7 @@ const ( + Lmedfile = Lshortfile | Llongfile + + // LstdFlags is the initial value for the standard logger +- LstdFlags = Ldate | Ltime | Lmedfile | Lshortfuncname | Llevelinitial ++ LstdFlags = Ldate | Ltime | Llevelinitial + ) + + var flagFromString = map[string]int{ diff --git a/www-apps/gitea/files/gitea-mod-vendor.patch b/www-apps/gitea/files/gitea-mod-vendor.patch new file mode 100644 index 0000000..c501e20 --- /dev/null +++ b/www-apps/gitea/files/gitea-mod-vendor.patch @@ -0,0 +1,46 @@ +diff --git a/Makefile b/Makefile +index 796a0e3..2c6a6ef 100644 +--- a/Makefile ++++ b/Makefile +@@ -97,7 +97,7 @@ vet: + + .PHONY: generate + generate: +- GO111MODULE=on $(GO) generate $(PACKAGES) ++ GO111MODULE=on $(GO) generate -mod=vendor $(PACKAGES) + + .PHONY: generate-swagger + generate-swagger: +diff --git a/modules/options/options.go b/modules/options/options.go +index 723dd54..62e8c04 100644 +--- a/modules/options/options.go ++++ b/modules/options/options.go +@@ -5,7 +5,6 @@ + package options + + //go:generate go run -mod=vendor main.go +-//go:generate go fmt bindata.go + + type directorySet map[string][]string + +diff --git a/modules/public/public.go b/modules/public/public.go +index 8362b42..df70275 100644 +--- a/modules/public/public.go ++++ b/modules/public/public.go +@@ -18,7 +18,6 @@ import ( + ) + + //go:generate go run -mod=vendor main.go +-//go:generate go fmt bindata.go + + // Options represents the available options to configure the macaron handler. + type Options struct { +diff --git a/modules/templates/templates.go b/modules/templates/templates.go +index e7fe3b2..af6bf01 100644 +--- a/modules/templates/templates.go ++++ b/modules/templates/templates.go +@@ -5,4 +5,3 @@ + package templates + + //go:generate go run -mod=vendor main.go +-//go:generate go fmt bindata.go diff --git a/www-apps/gitea/files/gitea.confd b/www-apps/gitea/files/gitea.confd new file mode 100644 index 0000000..8b1710b --- /dev/null +++ b/www-apps/gitea/files/gitea.confd @@ -0,0 +1,2 @@ +# arguments for gitea +command_args="--config /var/lib/gitea/conf/app.ini" diff --git a/www-apps/gitea/files/gitea.confd-r1 b/www-apps/gitea/files/gitea.confd-r1 new file mode 100644 index 0000000..19018c1 --- /dev/null +++ b/www-apps/gitea/files/gitea.confd-r1 @@ -0,0 +1,14 @@ +# Gitea configuration +GITEA_CONF="/etc/gitea/app.ini" + +# Gitea user +GITEA_USER="git" + +# Gitea group +GITEA_GROUP="git" + +# Gitea working directory +GITEA_WORK_DIR="/var/lib/gitea" + +# Gitea custom directory +GITEA_CUSTOM="${GITEA_WORK_DIR}/custom" diff --git a/www-apps/gitea/files/gitea.initd-r1 b/www-apps/gitea/files/gitea.initd-r1 new file mode 100644 index 0000000..837164a --- /dev/null +++ b/www-apps/gitea/files/gitea.initd-r1 @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 2016-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Gitea, a self-hosted Git service" +pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"} +user=${user:-git} +group=${group:-git} + +command="/usr/bin/gitea web" +command_args="${command_args:--config /var/lib/gitea/conf/app.ini}" +command_background="true" +start_stop_daemon_args="--user ${user} --group ${group} \ + -e GITEA_WORK_DIR=/var/lib/gitea + --stdout /var/log/${SVCNAME}/${SVCNAME}.log \ + --stderr /var/log/${SVCNAME}/${SVCNAME}.log" + +depend() { + need net + after net +} + +start_pre() { + checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}" +} diff --git a/www-apps/gitea/files/gitea.initd-r2 b/www-apps/gitea/files/gitea.initd-r2 new file mode 100644 index 0000000..24cac0b --- /dev/null +++ b/www-apps/gitea/files/gitea.initd-r2 @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Gitea, a self-hosted Git service" + +: ${GITEA_CONF:=/etc/gitea/app.ini} +: ${GITEA_USER:=git} +: ${GITEA_GROUP:=git} +: ${GITEA_WORK_DIR:=/var/lib/gitea} +: ${GITEA_CUSTOM:=${GITEA_WORK_DIR}/custom} + +command="/usr/bin/gitea web" +command_args="--config ${GITEA_CONF}" +command_background="true" +command_user="${GITEA_USER}:${GITEA_GROUP}" +error_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.err" +output_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log" +pidfile="/run/${RC_SVCNAME}.pid" +required_files="${GITEA_CONF}" +start_stop_daemon_args="-e GITEA_WORK_DIR=${GITEA_WORK_DIR} \ + -e GITEA_CUSTOM=${GITEA_CUSTOM}" diff --git a/www-apps/gitea/files/gitea.initd-r3 b/www-apps/gitea/files/gitea.initd-r3 new file mode 100644 index 0000000..680ae83 --- /dev/null +++ b/www-apps/gitea/files/gitea.initd-r3 @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 2016-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +description="Gitea, a self-hosted Git service" + +: ${GITEA_CONF:=/etc/gitea/app.ini} +: ${GITEA_USER:=git} +: ${GITEA_GROUP:=git} +: ${GITEA_WORK_DIR:=/var/lib/gitea} +: ${GITEA_CUSTOM:=${GITEA_WORK_DIR}/custom} + +command="/usr/bin/gitea web" +command_args="--config ${GITEA_CONF}" +command_background="true" +command_user="${GITEA_USER}:${GITEA_GROUP}" +error_log="/var/log/${RC_SVCNAME}/${RC_SVCNAME}.err" +pidfile="/run/${RC_SVCNAME}.pid" +required_files="${GITEA_CONF}" +start_stop_daemon_args="-d ${GITEA_WORK_DIR}" +start_stop_daemon_args="${start_stop_daemon_args} -e GITEA_WORK_DIR=${GITEA_WORK_DIR}" +start_stop_daemon_args="${start_stop_daemon_args} -e GITEA_CUSTOM=${GITEA_CUSTOM}" diff --git a/www-apps/gitea/files/gitea.logrotated b/www-apps/gitea/files/gitea.logrotated new file mode 100644 index 0000000..ec6ddfe --- /dev/null +++ b/www-apps/gitea/files/gitea.logrotated @@ -0,0 +1,8 @@ +/var/log/gitea/* { + su git git + missingok + size 5M + rotate 3 + compress + copytruncate +} diff --git a/www-apps/gitea/files/gitea.service b/www-apps/gitea/files/gitea.service new file mode 100644 index 0000000..3fdbc1f --- /dev/null +++ b/www-apps/gitea/files/gitea.service @@ -0,0 +1,26 @@ +[Unit] +Description=Gitea service +Documentation=https://gitea.io + +AssertPathIsDirectory=/var/lib/gitea +AssertPathIsReadWrite=/var/lib/gitea + +After=network.target +Requires=network.target +After=mysqld.service +Requires=mysqld.service + +[Service] +User=git +Group=git + +Environment="GITEA_CUSTOM=/var/lib/gitea" +WorkingDirectory=/var/lib/gitea +ExecStart=/usr/bin/gitea web -c /var/lib/gitea/conf/app.ini + +Restart=always +PrivateTmp=true +Nice=5 + +[Install] +WantedBy=multi-user.target diff --git a/www-apps/gitea/files/gitea.service-r1 b/www-apps/gitea/files/gitea.service-r1 new file mode 100644 index 0000000..73f9243 --- /dev/null +++ b/www-apps/gitea/files/gitea.service-r1 @@ -0,0 +1,28 @@ +[Unit] +Description=Gitea service +Documentation=https://docs.gitea.io/ + +AssertPathIsDirectory=/var/lib/gitea +AssertPathIsReadWrite=/var/lib/gitea + +After=network.target +Requires=network.target +After=mysqld.service +After=postgresql.service +After=memcached.service +After=redis.service + +[Service] +User=git +Group=git + +Environment="GITEA_WORK_DIR=/var/lib/gitea GITEA_CUSTOM=/var/lib/gitea/custom" +WorkingDirectory=/var/lib/gitea +ExecStart=/usr/bin/gitea web --config /etc/gitea/app.ini + +Restart=always +PrivateTmp=true +Nice=5 + +[Install] +WantedBy=multi-user.target diff --git a/www-apps/gitea/files/gitea.service-r2 b/www-apps/gitea/files/gitea.service-r2 new file mode 100644 index 0000000..1931b46 --- /dev/null +++ b/www-apps/gitea/files/gitea.service-r2 @@ -0,0 +1,34 @@ +[Unit] +Description=Gitea service +Documentation=https://docs.gitea.io/ + +AssertPathIsDirectory=/var/lib/gitea +AssertPathIsReadWrite=/var/lib/gitea + +After=network.target +Requires=network.target +After=mysqld.service +After=postgresql-9.3.service +After=postgresql-9.4.service +After=postgresql-9.5.service +After=postgresql-9.6.service +After=postgresql-10.service +After=postgresql-11.service +After=postgresql-12.service +After=memcached.service +After=redis.service + +[Service] +User=git +Group=git + +Environment="GITEA_WORK_DIR=/var/lib/gitea" "GITEA_CUSTOM=/var/lib/gitea/custom" +WorkingDirectory=/var/lib/gitea +ExecStart=/usr/bin/gitea web --config /etc/gitea/app.ini + +Restart=always +PrivateTmp=true +Nice=5 + +[Install] +WantedBy=multi-user.target diff --git a/www-apps/gitea/files/gitea.service-r3 b/www-apps/gitea/files/gitea.service-r3 new file mode 100644 index 0000000..0867ba6 --- /dev/null +++ b/www-apps/gitea/files/gitea.service-r3 @@ -0,0 +1,34 @@ +[Unit] +Description=Gitea service +Documentation=https://docs.gitea.io/ + +AssertPathIsDirectory=/var/lib/gitea +AssertPathIsReadWrite=/var/lib/gitea + +After=network.target +Requires=network.target +After=mysqld.service +After=postgresql-9.5.service +After=postgresql-9.6.service +After=postgresql-10.service +After=postgresql-11.service +After=postgresql-12.service +After=postgresql-13.service +After=postgresql-14.service +After=memcached.service +After=redis.service + +[Service] +User=git +Group=git + +Environment="GITEA_WORK_DIR=/var/lib/gitea" "GITEA_CUSTOM=/var/lib/gitea/custom" +WorkingDirectory=/var/lib/gitea +ExecStart=/usr/bin/gitea web --config /etc/gitea/app.ini + +Restart=always +PrivateTmp=true +Nice=5 + +[Install] +WantedBy=multi-user.target diff --git a/www-apps/gitea/gitea-1.14.3.ebuild b/www-apps/gitea/gitea-1.14.3.ebuild new file mode 100644 index 0000000..c1bc0be --- /dev/null +++ b/www-apps/gitea/gitea-1.14.3.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit fcaps go-module tmpfiles systemd +MY_PV="${PV/_rc/-rc}" + +DESCRIPTION="A painless self-hosted Git service" +HOMEPAGE="https://gitea.io" + +if [[ ${PV} != 9999* ]] ; then + SRC_URI="https://github.com/go-gitea/gitea/releases/download/v${MY_PV}/gitea-src-${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64" + S="${WORKDIR}" +else + EGIT_REPO_URI="https://github.com/go-gitea/gitea" + inherit git-r3 + S="${WORKDIR}/${P}" +fi + +LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" +SLOT="0" +IUSE="+acct build-client pam sqlite" + +BDEPEND="build-client? ( >=net-libs/nodejs-10[npm] )" +COMMON_DEPEND=" + acct? ( + acct-group/git + acct-user/git[gitea] ) + pam? ( sys-libs/pam )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + dev-vcs/git" + +DOCS=( + custom/conf/app.example.ini CONTRIBUTING.md README.md +) +FILECAPS=( + cap_net_bind_service+ep usr/bin/gitea +) + +RESTRICT="test" +QA_PRESTRIPPED="usr/bin/gitea" + +src_prepare() { + default + + local sedcmds=( + -e "s#^ROOT =#ROOT = ${EPREFIX}/var/lib/gitea/gitea-repositories#" + -e "s#^ROOT_PATH =#ROOT_PATH = ${EPREFIX}/var/log/gitea#" + -e "s#^APP_DATA_PATH = data#APP_DATA_PATH = ${EPREFIX}/var/lib/gitea/data#" + -e "s#^HTTP_ADDR = 0.0.0.0#HTTP_ADDR = 127.0.0.1#" + -e "s#^MODE = console#MODE = file#" + -e "s#^LEVEL = Trace#LEVEL = Info#" + -e "s#^LOG_SQL = true#LOG_SQL = false#" + -e "s#^DISABLE_ROUTER_LOG = false#DISABLE_ROUTER_LOG = true#" + ) + + sed -i "${sedcmds[@]}" custom/conf/app.example.ini || die + if use sqlite ; then + sed -i -e "s#^DB_TYPE = .*#DB_TYPE = sqlite3#" custom/conf/app.example.ini || die + fi + + einfo "Remove tests which are known to fail with network-sandbox enabled." + rm ./modules/migrations/github_test.go || die + + einfo "Remove tests which depend on gitea git-repo." + rm ./modules/git/blob_test.go || die + rm ./modules/git/repo_test.go || die + + # Remove already build assets (like frontend part) + use build-client && emake clean-all +} + +src_compile() { + local gitea_tags=( + bindata + $(usev pam) + $(usex sqlite 'sqlite sqlite_unlock_notify' '') + ) + local gitea_settings=( + "-X code.gitea.io/gitea/modules/setting.CustomConf=${EPREFIX}/etc/gitea/app.ini" + "-X code.gitea.io/gitea/modules/setting.CustomPath=${EPREFIX}/var/lib/gitea/custom" + "-X code.gitea.io/gitea/modules/setting.AppWorkPath=${EPREFIX}/var/lib/gitea" + ) + local makeenv=( + TAGS="${gitea_tags[*]}" + LDFLAGS="-extldflags \"${LDFLAGS}\" ${gitea_settings[*]}" + ) + [[ ${PV} != 9999* ]] && makeenv+=("DRONE_TAG=${MY_PV}") + + if use build-client; then + # -j1 as Makefile doesn't handle dependancy correctly, and is not + # useful as golang compiler don't use this info. + env "${makeenv[@]}" emake -j1 build + else + env "${makeenv[@]}" emake backend + fi +} + +src_install() { + dobin gitea + + einstalldocs + + newconfd "${FILESDIR}/gitea.confd-r1" gitea + newinitd "${FILESDIR}/gitea.initd-r3" gitea + newtmpfiles - gitea.conf <<-EOF + d /run/gitea 0755 git git + EOF + systemd_newunit "${FILESDIR}"/gitea.service-r3 gitea.service + + insinto /etc/gitea + newins custom/conf/app.example.ini app.ini + if use acct ; then + fowners root:git /etc/gitea/{,app.ini} + fperms g+w,o-rwx /etc/gitea/{,app.ini} + + diropts -m0750 -o git -g git + keepdir /var/lib/gitea /var/lib/gitea/custom /var/lib/gitea/data + keepdir /var/log/gitea + fi +} + +pkg_postinst() { + fcaps_pkg_postinst + go-module_pkg_postinst + tmpfiles_process gitea.conf +} diff --git a/www-apps/gitea/gitea-9999.ebuild b/www-apps/gitea/gitea-9999.ebuild new file mode 100644 index 0000000..6a4eaea --- /dev/null +++ b/www-apps/gitea/gitea-9999.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit fcaps go-module tmpfiles systemd +MY_PV="${PV/_rc/-rc}" + +DESCRIPTION="A painless self-hosted Git service" +HOMEPAGE="https://gitea.io" + +if [[ ${PV} != 9999* ]] ; then + SRC_URI="https://github.com/go-gitea/gitea/releases/download/v${MY_PV}/gitea-src-${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64" + S="${WORKDIR}" +else + EGIT_REPO_URI="https://github.com/go-gitea/gitea" + inherit git-r3 + S="${WORKDIR}/${P}" +fi + +LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" +SLOT="0" +IUSE="+acct pam sqlite" + +BDEPEND=">=net-libs/nodejs-10[npm]" +COMMON_DEPEND=" + acct? ( + acct-group/git + acct-user/git[gitea] ) + pam? ( sys-libs/pam )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + dev-vcs/git" + +DOCS=( + custom/conf/app.example.ini CONTRIBUTING.md README.md +) +FILECAPS=( + cap_net_bind_service+ep usr/bin/gitea +) + +RESTRICT="test" +QA_PRESTRIPPED="usr/bin/gitea" + +src_prepare() { + default + + local sedcmds=( + -e "s#^ROOT =#ROOT = ${EPREFIX}/var/lib/gitea/gitea-repositories#" + -e "s#^ROOT_PATH =#ROOT_PATH = ${EPREFIX}/var/log/gitea#" + -e "s#^APP_DATA_PATH = data#APP_DATA_PATH = ${EPREFIX}/var/lib/gitea/data#" + -e "s#^HTTP_ADDR = 0.0.0.0#HTTP_ADDR = 127.0.0.1#" + -e "s#^MODE = console#MODE = file#" + -e "s#^LEVEL = Trace#LEVEL = Info#" + -e "s#^LOG_SQL = true#LOG_SQL = false#" + -e "s#^DISABLE_ROUTER_LOG = false#DISABLE_ROUTER_LOG = true#" + ) + + sed -i "${sedcmds[@]}" custom/conf/app.example.ini || die + if use sqlite ; then + sed -i -e "s#^DB_TYPE = .*#DB_TYPE = sqlite3#" custom/conf/app.example.ini || die + fi + + einfo "Remove tests which are known to fail with network-sandbox enabled." + rm ./modules/migrations/github_test.go || die + + einfo "Remove tests which depend on gitea git-repo." + rm ./modules/git/blob_test.go || die + rm ./modules/git/repo_test.go || die +} + +src_compile() { + local gitea_tags=( + bindata + $(usev pam) + $(usex sqlite 'sqlite sqlite_unlock_notify' '') + ) + local gitea_settings=( + "-X code.gitea.io/gitea/modules/setting.CustomConf=${EPREFIX}/etc/gitea/app.ini" + "-X code.gitea.io/gitea/modules/setting.CustomPath=${EPREFIX}/var/lib/gitea/custom" + "-X code.gitea.io/gitea/modules/setting.AppWorkPath=${EPREFIX}/var/lib/gitea" + ) + local makeenv=( + TAGS="${gitea_tags[*]}" + LDFLAGS="-extldflags \"${LDFLAGS}\" ${gitea_settings[*]}" + ) + [[ ${PV} != 9999* ]] && makeenv+=("DRONE_TAG=${MY_PV}") + + # -j1 as Makefile doesn't handle dependancy correctly, and is not + # useful as golang compiler don't use this info. + env "${makeenv[@]}" emake -j1 build +} + +src_install() { + dobin gitea + + einstalldocs + + newconfd "${FILESDIR}/gitea.confd-r1" gitea + newinitd "${FILESDIR}/gitea.initd-r3" gitea + newtmpfiles - gitea.conf <<-EOF + d /run/gitea 0755 git git + EOF + systemd_newunit "${FILESDIR}"/gitea.service-r3 gitea.service + + insinto /etc/gitea + newins custom/conf/app.example.ini app.ini + if use acct ; then + fowners root:git /etc/gitea/{,app.ini} + fperms g+w,o-rwx /etc/gitea/{,app.ini} + + diropts -m0750 -o git -g git + keepdir /var/lib/gitea /var/lib/gitea/custom /var/lib/gitea/data + keepdir /var/log/gitea + fi +} + +pkg_postinst() { + fcaps_pkg_postinst + go-module_pkg_postinst + tmpfiles_process gitea.conf +} diff --git a/www-apps/gitea/metadata.xml b/www-apps/gitea/metadata.xml new file mode 100644 index 0000000..7dc0896 --- /dev/null +++ b/www-apps/gitea/metadata.xml @@ -0,0 +1,8 @@ + + + + + + go-gitea/gitea + +