commit:     7a6b3b7b1760583be2d969507e7f6c3af199f7cf
Author:     Brian Evans <grknight <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 13 17:10:00 2022 +0000
Commit:     Brian Evans <grknight <AT> gentoo <DOT> org>
CommitDate: Wed Apr 13 17:10:00 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a6b3b7b

dev-php/snuffleupagus: New package

A security add on script in the spirit of suhosin with modern flexibility.

Signed-off-by: Brian Evans <grknight <AT> gentoo.org>

 dev-php/snuffleupagus/Manifest                   |  1 +
 dev-php/snuffleupagus/metadata.xml               | 11 +++++
 dev-php/snuffleupagus/snuffleupagus-0.7.1.ebuild | 59 ++++++++++++++++++++++++
 3 files changed, 71 insertions(+)

diff --git a/dev-php/snuffleupagus/Manifest b/dev-php/snuffleupagus/Manifest
new file mode 100644
index 000000000000..893d570b5b49
--- /dev/null
+++ b/dev-php/snuffleupagus/Manifest
@@ -0,0 +1 @@
+DIST snuffleupagus-0.7.1.tar.gz 11962220 BLAKE2B 
8504721ca08e727a5a6fa58c216a5dac7be3fe6e5a98cffcb17e44a2235628c26f02afd2159e9b1fbe8e40e26bc7c4e34a4ff027ee27b8ec29cf89865dbb8514
 SHA512 
21510e214f94dd50a4aa05226188c9433a6a261c0bd3d58973ed4536754b3e12356e3f625480c370b66c570482694c25d336a771fbbbeb27e1d524b1f82c7869

diff --git a/dev-php/snuffleupagus/metadata.xml 
b/dev-php/snuffleupagus/metadata.xml
new file mode 100644
index 000000000000..6cb8e5e502b5
--- /dev/null
+++ b/dev-php/snuffleupagus/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="project">
+    <email>php-b...@gentoo.org</email>
+    <name>PHP</name>
+  </maintainer>
+  <upstream>
+    <remote-id type="github">jvoisin/snuffleupagus</remote-id>
+  </upstream>
+</pkgmetadata>

diff --git a/dev-php/snuffleupagus/snuffleupagus-0.7.1.ebuild 
b/dev-php/snuffleupagus/snuffleupagus-0.7.1.ebuild
new file mode 100644
index 000000000000..13decdb51061
--- /dev/null
+++ b/dev-php/snuffleupagus/snuffleupagus-0.7.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PHP_EXT_NAME="${PN}"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+PHP_EXT_ECONF_ARGS=( --enable-${PN} )
+PHP_EXT_S="${S}/src"
+
+USE_PHP="php7-4 php8-0"
+
+inherit php-ext-source-r3
+
+KEYWORDS="~amd64"
+
+DESCRIPTION="A PHP module to drastically raise the cost of attacks against 
websites"
+HOMEPAGE="https://snuffleupagus.readthedocs.io/index.html";
+SRC_URI="https://github.com/jvoisin/${PN}/archive/refs/tags/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="LGPL-3 PHP-3.01"
+SLOT="0"
+
+src_prepare() {
+       # fix file locations tests look for
+       ln -s "${P}/config" "${WORKDIR}/config" || die
+       # Fix path dependent tests
+       sed -i -e 's~src/tests/~~' \
+               src/tests/session_encryption/crypt_session_read_uncrypt.phpt || 
die
+       sed -i -e 's~%a/src~%a~' \
+               src/tests/disable_function/disabled_functions_runtime.phpt || 
die
+       php-ext-source-r3_src_prepare
+}
+
+src_install() {
+       einstalldocs
+       local slot x cfgdir
+       php-ext-source-r3_src_install
+       # Add the rules file which vary by install version
+       for slot in $(php_get_slots); do
+               php_init_slot_env "${slot}"
+               for x in ${PHP_EXT_SAPIS} ; do
+                       cfgdir="/etc/php/${x}-${slot}"
+                       php-ext-source-r3_addtoinifile 
"${cfgdir}/ext/${PHP_INI_NAME}.ini" \
+                                "sp.configuration_file" "${cfgdir}/${PN}.rules"
+                       insinto "${cfgdir}"
+                       case ${PHP_CURRENTSLOT:0:1} in
+                               8) newins "${S}/config/default_php8.rules" 
"${PN}.rules" ;;
+                               *) newins "${S}/config/default.rules" 
"${PN}.rules" ;;
+                       esac
+               done
+       done
+}
+
+pkg_postinst() {
+       elog "This extension is configured with recommended rules enabled by 
default."
+       elog "Feel free to customize as necessary.  Please test outside of 
production first."
+       elog "Failure to test may cause unexpected results to loosely coded 
sites."
+}

Reply via email to