www/webtrees22: New port (for php 8.3+)

webtrees is the web's leading online collaborative genealogy
application. webtrees works from standard GEDCOM files, and is
therefore compatible with every major desktop application.  webtrees
aims to be efficient and effective by using the right combination
of third-party tools, design techniques and open standards.
This commit is contained in:
Krzysztof 2025-04-22 12:17:22 +02:00 committed by Zsolt Udvari
parent 1b123f6f52
commit 057ed4adb0
7 changed files with 9985 additions and 0 deletions

View file

@ -2611,6 +2611,7 @@
SUBDIR += websocketd
SUBDIR += webstone
SUBDIR += webtrees21
SUBDIR += webtrees22
SUBDIR += wget2
SUBDIR += wgetpaste
SUBDIR += wiki-tui

46
www/webtrees22/Makefile Normal file
View file

@ -0,0 +1,46 @@
PORTNAME= webtrees
DISTVERSION= 2.2.1
CATEGORIES= www
MASTER_SITES= https://github.com/fisharebest/${PORTNAME}/releases/download/${PORTVERSION}/
PKGNAMESUFFIX= 22${PHP_PKGNAMESUFFIX}
MAINTAINER= ports@bsdserwis.com
COMMENT= Online genealogy viewer (for PHP 8.3+)
WWW= https://webtrees.net/
LICENSE= GPLv3+
USES= cpe php:flavors shebangfix zip
# php pcre extension is required but it's statically linked in default php
USE_PHP= calendar curl dom filter gd iconv pdo_mysql session xml
IGNORE_WITH_PHP= 81 82
SHEBANG_FILES= webtrees/vendor/tecnickcom/tcpdf/tools/tcpdf_addfont.php
DOCSDIR= ${PREFIX}/share/doc/webtrees22
WWWDIR= ${PREFIX}/www/webtrees22
EXTRACT_AFTER_ARGS= -d ${WRKSRC}
NO_ARCH= yes
NO_BUILD= yes
SUB_FILES= pkg-deinstall pkg-message
SUB_LIST= VERSION_SUFFIX=${PKGNAMESUFFIX}
PORTDOCS= CONTRIBUTING.md LICENSE.md README.md SECURITY.md
OPTIONS_DEFINE= DOCS
do-install:
-${MKDIR} ${STAGEDIR}${WWWDIR}
@cd ${WRKSRC}/${PORTNAME} && ${COPYTREE_BIN} . ${STAGEDIR}${WWWDIR} "! -name *\.md"
@(cd ${WRKSRC}/${PORTNAME}; ${FIND} . -not -type d) | ${SORT} | \
${SED} -ne 's,^${PORTNAME}/,${WWWDIR_REL}/,p' >> ${TMPPLIST}
@${ECHO_CMD} \
'@postexec ${CHOWN} -R ${WWWOWN}:${WWWGRP} %D/${WWWDIR_REL}/data' \
>> ${TMPPLIST}
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/${PORTNAME} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

3
www/webtrees22/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1733337659
SHA256 (webtrees-2.2.1.zip) = f500d7e839441a71cae10d8c81bb7f6c4753e3885b40f3d954f575971e27ef42
SIZE (webtrees-2.2.1.zip) = 34116725

View file

@ -0,0 +1,26 @@
#!/bin/sh
case "$2" in
POST-DEINSTALL)
if [ -d %%WWWDIR%%/data ]; then
cat <<!
=========================================================================
There remains some webtrees local configuration in %%WWWDIR%%/data.
If you plan on reinstalling webtrees, leave this configuration there and
it will be reused by the new version.
If you are completely uninstalling webtrees, please delete this directory
and %%WWWDIR%% by hand.
You may want to save your GEDCOM file(s) from the MySQL server, too. To
do that, you will need to reinstall webtrees, log on as an administrator
and select:
My Page >> GEDCOM Administration >> Download
This will let you save your family tree data in a foo.ged GEDCOM file
which you can upload into most other ancestry software or websites.
=========================================================================
!
fi
;;
esac

View file

@ -0,0 +1,54 @@
[
{ type: install
message: <<EOM
The following configuration will need to be done prior to using
webtrees for the first time:
1. For installation on the apache web server, add the following to your
apache site configuration, and reload the web server:
Alias /webtrees%%VERSION_SUFFIX%% %%WWWDIR%%/
### Add the AcceptPathInfo directive only for Apache 2.0.30
### or later.
AcceptPathInfo On
<Directory %%WWWDIR%%>
AllowOverride None
Order Allow,Deny
Allow from all
</Directory>
2. For installation on the nginx web server, add the following to your
nginx site configuration, and reload the web server:
location /webtrees%%VERSION_SUFFIX%% {
alias %%WWWDIR%%;
index index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm-www.socket;
fastcgi_param HTTPS on;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
3. Webtrees uses a MySQL database. Configure a MySQL webtrees user
and database using commands such as (substitute PASSWD for something
of your own choosing):
mysql> create user webtrees%%VERSION_SUFFIX%%@localhost identified by PASSWD;
mysql> create database webtrees%%VERSION_SUFFIX%%;
mysql> grant all on webtrees%%VERSION_SUFFIX%%.* to webtrees%%VERSION_SUFFIX%%@localhost;
4. Configure webtrees by browsing to the webtrees URL:
http://your.server.com/webtrees%%VERSION_SUFFIX%%/
and you should be taken to the setup wizard, which will lead you
through setting up webtrees: asking for the database server, database
user and database name, and then assist you in creating a webtrees
admin account, etc.
EOM
}
]

5
www/webtrees22/pkg-descr Normal file
View file

@ -0,0 +1,5 @@
webtrees is the web's leading online collaborative genealogy
application. webtrees works from standard GEDCOM files, and is
therefore compatible with every major desktop application. webtrees
aims to be efficient and effective by using the right combination
of third-party tools, design techniques and open standards.

9850
www/webtrees22/pkg-plist Normal file

File diff suppressed because it is too large Load diff