aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanky Jay, III <ek@purplehat.org>2025-04-30 16:14:12 +0000
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2025-05-04 18:44:36 +0000
commit4d3c08abcb261f096f728e89b287fc955f1894bb (patch)
tree74e855baae72bff5c0771e74f123a9ad29b7af73
parent8cbe9a8d5f6a77ea4021437e8b5e44a30aa5d013 (diff)
www/SNIP: New port
SNIP is a powerful Open-Source PHP Pastebin, with the aim of keeping a simple and easy to use user interface. SNIP allows you to easily share code and files with anyone you wish. Based on the original Stikked with lots of bug fixes and improvements. Prerequisites: * A web server: Apache, LiteSpeed, Nginx, Lighttpd, Cherokee. * A database: MySQL / MariaDB, Postgres. OR a writable folder for SQLite. * PHP version 7.0 or newer is required. * PHP-GD for the creation of QR-codes. Here are some features: * Syntax highlighting including live highlighting with CodeMirror * Paste replies * Diff view between the original paste and the reply * An API * Trending pastes * Encrypted pastes * Burn on reading * File upload and preview * Anti-Spam features * Multilanguage support * SNIP client with support for client side encryption/decryption: gostikkit * Another CLI tool requiring only curl program: pbin WWW: https://github.com/MercanoGlobal/SNIP PR: 281810
-rw-r--r--www/Makefile1
-rw-r--r--www/SNIP/Makefile59
-rw-r--r--www/SNIP/distinfo3
-rw-r--r--www/SNIP/files/pkg-message.in20
-rw-r--r--www/SNIP/pkg-descr24
5 files changed, 107 insertions, 0 deletions
diff --git a/www/Makefile b/www/Makefile
index b8e680c02106..06c31b67e144 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -22,6 +22,7 @@
SUBDIR += R-cran-shinyjs
SUBDIR += R-cran-webshot
SUBDIR += R-cran-webutils
+ SUBDIR += SNIP
SUBDIR += UniversalFeedCreator
SUBDIR += adguardhome
SUBDIR += adjuster
diff --git a/www/SNIP/Makefile b/www/SNIP/Makefile
new file mode 100644
index 000000000000..9f7b1550b139
--- /dev/null
+++ b/www/SNIP/Makefile
@@ -0,0 +1,59 @@
+PORTNAME= SNIP
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.1.0
+CATEGORIES= www
+
+MAINTAINER= ek@purplehat.org
+COMMENT= SNIP is a powerful, simple, and easy to use Open-Source PHP Pastebin
+WWW= https://github.com/MercanoGlobal/SNIP
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= php:web
+
+USE_GITHUB= yes
+GH_ACCOUNT= MercanoGlobal
+
+USE_PHP= ctype filter gd session
+
+NO_ARCH= yes
+NO_BUILD= yes
+
+SUB_FILES= pkg-message
+PLIST_SUB+= WWWGRP="${WWWGRP}" \
+ WWWOWN="${WWWOWN}"
+
+OPTIONS_DEFAULT= MYSQLI
+OPTIONS_SINGLE= DB
+OPTIONS_SINGLE_DB= MYSQLI PGSQL SQLITE
+
+MYSQLI_DESC= Install MySQLi Support for PHP
+
+MYSQLI_USE= PHP=mysqli
+PGSQL_USES= pgsql
+PGSQL_USE= PHP=pgsql
+SQLITE_USES= sqlite
+SQLITE_USE= PHP=sqlite3
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${MKDIR} ${STAGEDIR}${WWWDIR}
+ (cd ${WRKSRC}/htdocs && ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
+ ${FIND} ${STAGEDIR}${WWWDIR} -type f -iname "*.orig" -delete
+ ${INSTALL_DATA} ${STAGEDIR}${WWWDIR}/application/config/snip.php.dist ${STAGEDIR}${ETCDIR}/snip.php.sample
+ ${LN} -sf ${ETCDIR}/snip.php ${STAGEDIR}${WWWDIR}/application/config/
+
+post-install:
+ @${ECHO_CMD} "@owner ${WWWOWN}" >> ${TMPPLIST}
+ @${ECHO_CMD} "@group ${WWWGRP}" >> ${TMPPLIST}
+ ${FIND} -s ${STAGEDIR}${ETCDIR} -not -type d | ${SORT} | \
+ ${SED} -e 's#^${STAGEDIR}${ETCDIR}#${ETCDIR_REL}#' | \
+ ${SED} -E -e '/sample$$/ s#^#@sample(,,0640) #;' >> ${TMPPLIST}
+ ${FIND} -s ${STAGEDIR}${WWWDIR} -not -type d | ${SORT} | \
+ ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' | \
+ ${SED} -E -e '/snip.php(\.dist)?/ s#^#@(,,0640) #;' >> ${TMPPLIST}
+ ${FIND} -s ${STAGEDIR}${WWWDIR} -type d -exec echo "@dir {}" \; | ${SORT} | \
+ ${SED} -e 's#^@dir ${STAGEDIR}${PREFIX}/#@dir #' >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/www/SNIP/distinfo b/www/SNIP/distinfo
new file mode 100644
index 000000000000..6d5aebe1c581
--- /dev/null
+++ b/www/SNIP/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1745194264
+SHA256 (MercanoGlobal-SNIP-v1.1.0_GH0.tar.gz) = 94c6461b7b7f4b823148bac47e9d7fa0510d593aa8fce5c6a70ccc0ddd2a6893
+SIZE (MercanoGlobal-SNIP-v1.1.0_GH0.tar.gz) = 15305696
diff --git a/www/SNIP/files/pkg-message.in b/www/SNIP/files/pkg-message.in
new file mode 100644
index 000000000000..cd4a6724162c
--- /dev/null
+++ b/www/SNIP/files/pkg-message.in
@@ -0,0 +1,20 @@
+[
+{ type: install
+ message: <<EOM
+The configuration file is in %%ETCDIR%%/snip.php
+
+This package contains a true_paste feature which has been sent
+upstream but has not yet been included.
+
+There are the minimal configuration items:
+
+Set driver to one of:
+
+* 'postgres'
+* 'mysqli'
+* 'sqlite'
+
+Set appropriate values in the 'Database connection' section.
+EOM
+}
+]
diff --git a/www/SNIP/pkg-descr b/www/SNIP/pkg-descr
new file mode 100644
index 000000000000..9dfe9a5699bb
--- /dev/null
+++ b/www/SNIP/pkg-descr
@@ -0,0 +1,24 @@
+SNIP is a powerful Open-Source PHP Pastebin, with the aim of keeping
+a simple and easy to use user interface. SNIP allows you to easily
+share code and files with anyone you wish. Based on the original
+Stikked with lots of bug fixes and improvements.
+
+Prerequisites:
+* A web server: Apache, LiteSpeed, Nginx, Lighttpd, Cherokee.
+* A database: MySQL / MariaDB, Postgres. OR a writable folder for SQLite.
+* PHP version 7.0 or newer is required.
+* PHP-GD for the creation of QR-codes.
+
+Here are some features:
+* Syntax highlighting including live highlighting with CodeMirror
+* Paste replies
+* Diff view between the original paste and the reply
+* An API
+* Trending pastes
+* Encrypted pastes
+* Burn on reading
+* File upload and preview
+* Anti-Spam features
+* Multilanguage support
+* SNIP client with support for client side encryption/decryption: gostikkit
+* Another CLI tool requiring only curl program: pbin