commit:     d101be0ef15dbc2dc92b22b15f41d4c8861c32dd
Author:     Rahil Bhimjiani <me <AT> rahil <DOT> rocks>
AuthorDate: Fri Mar 15 13:26:54 2024 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Mar 16 22:26:57 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d101be0e

www-servers/caddy: add 2.7.6-r2 with new USE, security

* Adds `security` module
https://caddyserver.com/docs/modules/security

* Significantly reducing size of deps' tarball from 125MiB => 8MiB

Steps to package this:
1. `go get` all extra modules
2. import all extra modules in cmd/caddy/main.go
3. `go mod vendor`
4. create tarball with patch (of go.mod and go.sum) and vendor/

Closes: https://bugs.gentoo.org/926873
Signed-off-by: Rahil Bhimjiani <me <AT> rahil.rocks>
Closes: https://github.com/gentoo/gentoo/pull/35773
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 www-servers/caddy/Manifest                         |  1 +
 .../{caddy-9999.ebuild => caddy-2.7.6-r2.ebuild}   | 46 +++++++++++-----------
 www-servers/caddy/caddy-9999.ebuild                | 44 +++++++++++----------
 www-servers/caddy/metadata.xml                     |  5 +++
 4 files changed, 53 insertions(+), 43 deletions(-)

diff --git a/www-servers/caddy/Manifest b/www-servers/caddy/Manifest
index 4c5c94fe3f66..7c07f276e8f8 100644
--- a/www-servers/caddy/Manifest
+++ b/www-servers/caddy/Manifest
@@ -1,4 +1,5 @@
 DIST caddy-2.7.6-deps.tar.xz 128958740 BLAKE2B 
ffbe682df64a88dac9f50e9712f1d6697e58f2d9854c270321f7a0325f0b5ead7f93316756136a4435b70c5e08742c7130ce507ee4aa4696f4fb906f4eba8754
 SHA512 
f467144e235e09a7718cffe5ed3c40ec2d63038a6a948fe4f85d34717877af8a9959ef7e2c3ac32fd0cce522d693ccac883877f061f5cefc9512f7eed556b336
 DIST caddy-2.7.6-docs.tar.gz 24583 BLAKE2B 
d3dbbb701d86cbfaf538f10911fdd3613b8c3c0f49ef9e229487d2a4fcef9eff79b56e9852d5c1ccd5a8d1d1898861fc8183c343c129901562b03a9092af9e61
 SHA512 
62e534d41e714b47265fd8089ad9e03a1a89903460976d8af27fa5f71173e076bab8574282213595e495be701b769e1a70ff9e7ec9576fbf8e821e672207faa5
 DIST caddy-2.7.6-r1-deps.tar.xz 129331604 BLAKE2B 
50b83c012c70637936c83ec765758cdcd80014ca224d76a746de8640a6b36ae15ce11ec57d9fdb20a5f7b3add946209c6dde7bb4e4bd4a47ffe3ffc8971725db
 SHA512 
a4bc56de4f7ec8e9967dde3d7ca4cbb74cba9ce0b8906ffe16f8dae3f52fff1164827942df8154eadbae80cce3ee603535b9135cf8a5126d84a9017e8aece078
+DIST caddy-2.7.6-r2-deps.tar.xz 8511804 BLAKE2B 
ad3c78ee483474754ad83284fabf249c376423217c2929740cd171446d0e755f121e380130c80f291422d39ca69ea7e6ac52f5ce5cdec740616099b665cef5af
 SHA512 
c48d299d9a0b27ebe467f64dc433625de26293674d8153122ad6798a6b95ed4fe55f764a18d3e9211a8e2f966724d20996f1789e2e84dbb0181cfcf5340303fb
 DIST caddy-2.7.6.tar.gz 606077 BLAKE2B 
1237edc164ec6095c9dff27c332925c4ce9d91a60e629770463bbffb1503b8b11e36033e852df3eb5bb69ffa448833b6ee2891dc0ba6dc9b43b6cce27d492179
 SHA512 
ef0cb6fd7f6f2a296290b4bb520300e043ad31cc612e734632ffa25cdaa23fd7d601ac4ceaa1c76285d54a07ee773360f795103ef3c2ec79516a4f18a5e844b5

diff --git a/www-servers/caddy/caddy-9999.ebuild 
b/www-servers/caddy/caddy-2.7.6-r2.ebuild
similarity index 75%
copy from www-servers/caddy/caddy-9999.ebuild
copy to www-servers/caddy/caddy-2.7.6-r2.ebuild
index daa4e4571bd8..50d3df3618b5 100644
--- a/www-servers/caddy/caddy-9999.ebuild
+++ b/www-servers/caddy/caddy-2.7.6-r2.ebuild
@@ -14,7 +14,7 @@ if [[ "${PV}" == 9999* ]]; then
 else
        SRC_URI="
                https://github.com/caddyserver/caddy/archive/v${PV}.tar.gz -> 
${P}.tar.gz
-               
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz
 -> ${P}-deps.tar.xz
+               
https://github.com/rahilarious/gentoo-distfiles/releases/download/${PF}/deps.tar.xz
 -> ${PF}-deps.tar.xz
                
https://github.com/caddyserver/dist/archive/refs/tags/v${PV}.tar.gz -> 
${P}-docs.tar.gz
 "
        KEYWORDS="~amd64 ~arm64 ~loong ~riscv"
@@ -26,7 +26,7 @@ LICENSE="Apache-2.0"
 LICENSE+=" BSD ECL-2.0 MIT CC0-1.0"
 SLOT="0"
 
-IUSE='events-handlers-exec'
+IUSE='events-handlers-exec security'
 RESTRICT="test"
 
 RDEPEND="
@@ -44,22 +44,29 @@ PATCHES=(
 
 # takes a module as an only arg
 add_custom_module() {
-       local LINE_NO=$(grep -n 'plug in Caddy modules here' cmd/caddy/main.go 
| awk -F: '{print $1;}')
+       local LINE_NO=$(grep -n 'plug in Caddy modules here' cmd/caddy/main.go 
| awk -F: '{print $1;}' || die)
        sed -i -e "${LINE_NO:?}a \        _ \"$1\"" cmd/caddy/main.go || die
 }
 
 src_unpack() {
+       declare -A MOOMODULES || die
+
+       use events-handlers-exec && { 
MOOMODULES[exec]="github.com/mholt/caddy-events-exec" || die ; }
+       use security && { MOOMODULES[sec]="github.com/greenpau/caddy-security" 
|| die ; }
+
+       export MY_MODULES="${MOOMODULES[@]}" || die
+
        if [[ "${PV}" == 9999* ]]; then
                # clone main git repo
                git-r3_src_unpack
 
                # get extra modules
-               if use events-handlers-exec; then
-                       pushd "${P}"
-                       add_custom_module 'github.com/mholt/caddy-events-exec' 
|| die
-                       ego get github.com/mholt/caddy-events-exec
-                       popd
-               fi
+               pushd "${P}" || die
+               for moo in ${MY_MODULES}; do
+                       add_custom_module "${moo}"
+                       ego get "${moo}"
+               done
+               popd || die
 
                # clone dist repo (docs and misc)
                EGIT_REPO_URI="https://github.com/caddyserver/dist.git";
@@ -68,7 +75,7 @@ src_unpack() {
 
                go-module_live_vendor
        else
-               go-module_src_unpack
+               default
        fi
 }
 
@@ -76,18 +83,13 @@ src_prepare() {
        default
        sed -i -e "s|User=caddy|User=http|g;s|Group=caddy|Group=http|g;" 
../dist-"${PV}"/init/*service || die
 
-       if use events-handlers-exec && [[ "${PV}" != 9999* ]]; then
-               add_custom_module 'github.com/mholt/caddy-events-exec' || die
-               cat <<-EOF >> go.sum || die
-                       github.com/mholt/caddy-events-exec 
v0.0.0-20231121214933-055bfd2e8b82 
h1:uRsPaFNQJRDrYcSsgnH0hFhCWFXfgB8QVH8yjX+u154=
-                       github.com/mholt/caddy-events-exec 
v0.0.0-20231121214933-055bfd2e8b82/go.mod 
h1:Y9JjT8YLxpmk7PeUkvsWAhzzRdC6rXP7QjAHiwmvjD0=
-               EOF
-
-               cat <<-EOF >> go.mod || die
-                       require (
-                                       github.com/mholt/caddy-events-exec 
v0.0.0-20231121214933-055bfd2e8b82 // indirect
-                       )
-               EOF
+       if [[ "${PV}" != 9999* ]]; then
+               mv ../vendor ./ || die
+               eapply ../go-mod-sum.patch
+
+               for moo in ${MY_MODULES}; do
+                       add_custom_module "${moo}"
+               done
        fi
 }
 

diff --git a/www-servers/caddy/caddy-9999.ebuild 
b/www-servers/caddy/caddy-9999.ebuild
index daa4e4571bd8..86a00c5d6ef9 100644
--- a/www-servers/caddy/caddy-9999.ebuild
+++ b/www-servers/caddy/caddy-9999.ebuild
@@ -26,7 +26,7 @@ LICENSE="Apache-2.0"
 LICENSE+=" BSD ECL-2.0 MIT CC0-1.0"
 SLOT="0"
 
-IUSE='events-handlers-exec'
+IUSE='events-handlers-exec security'
 RESTRICT="test"
 
 RDEPEND="
@@ -44,22 +44,29 @@ PATCHES=(
 
 # takes a module as an only arg
 add_custom_module() {
-       local LINE_NO=$(grep -n 'plug in Caddy modules here' cmd/caddy/main.go 
| awk -F: '{print $1;}')
+       local LINE_NO=$(grep -n 'plug in Caddy modules here' cmd/caddy/main.go 
| awk -F: '{print $1;}' || die)
        sed -i -e "${LINE_NO:?}a \        _ \"$1\"" cmd/caddy/main.go || die
 }
 
 src_unpack() {
+       declare -A MOOMODULES || die
+
+       use events-handlers-exec && { 
MOOMODULES[exec]="github.com/mholt/caddy-events-exec" || die ; }
+       use security && { MOOMODULES[sec]="github.com/greenpau/caddy-security" 
|| die ; }
+
+       export MY_MODULES="${MOOMODULES[@]}" || die
+
        if [[ "${PV}" == 9999* ]]; then
                # clone main git repo
                git-r3_src_unpack
 
                # get extra modules
-               if use events-handlers-exec; then
-                       pushd "${P}"
-                       add_custom_module 'github.com/mholt/caddy-events-exec' 
|| die
-                       ego get github.com/mholt/caddy-events-exec
-                       popd
-               fi
+               pushd "${P}" || die
+               for moo in ${MY_MODULES}; do
+                       add_custom_module "${moo}"
+                       ego get "${moo}"
+               done
+               popd || die
 
                # clone dist repo (docs and misc)
                EGIT_REPO_URI="https://github.com/caddyserver/dist.git";
@@ -68,7 +75,7 @@ src_unpack() {
 
                go-module_live_vendor
        else
-               go-module_src_unpack
+               default
        fi
 }
 
@@ -76,18 +83,13 @@ src_prepare() {
        default
        sed -i -e "s|User=caddy|User=http|g;s|Group=caddy|Group=http|g;" 
../dist-"${PV}"/init/*service || die
 
-       if use events-handlers-exec && [[ "${PV}" != 9999* ]]; then
-               add_custom_module 'github.com/mholt/caddy-events-exec' || die
-               cat <<-EOF >> go.sum || die
-                       github.com/mholt/caddy-events-exec 
v0.0.0-20231121214933-055bfd2e8b82 
h1:uRsPaFNQJRDrYcSsgnH0hFhCWFXfgB8QVH8yjX+u154=
-                       github.com/mholt/caddy-events-exec 
v0.0.0-20231121214933-055bfd2e8b82/go.mod 
h1:Y9JjT8YLxpmk7PeUkvsWAhzzRdC6rXP7QjAHiwmvjD0=
-               EOF
-
-               cat <<-EOF >> go.mod || die
-                       require (
-                                       github.com/mholt/caddy-events-exec 
v0.0.0-20231121214933-055bfd2e8b82 // indirect
-                       )
-               EOF
+       if [[ "${PV}" != 9999* ]]; then
+               mv ../vendor ./ || die
+               eapply ../go-mod-sum.patch
+
+               for moo in ${MY_MODULES}; do
+                       add_custom_module "${moo}"
+               done
        fi
 }
 

diff --git a/www-servers/caddy/metadata.xml b/www-servers/caddy/metadata.xml
index ede41c6d550d..caee265575b1 100644
--- a/www-servers/caddy/metadata.xml
+++ b/www-servers/caddy/metadata.xml
@@ -19,6 +19,11 @@
       https://caddyserver.com/docs/modules/events.handlers.exec
       https://caddyserver.com/docs/caddyfile/options#event-options
     </flag>
+    <flag name="security">
+      Authentication, Authorization, and Accounting. LDAP, OAuth, SAML, MFA, 
2FA, JWT etc..
+      https://caddyserver.com/docs/modules/security
+      https://github.com/greenpau/caddy-security
+    </flag>
   </use>
   <upstream>
     <remote-id type="github">caddyserver/caddy</remote-id>

Reply via email to