--- Makefile +++ Makefile @@ -1,10 +1,11 @@ # Created by: Andrew Lewis # $FreeBSD: head/net-im/prosody/Makefile 522848 2020-01-13 03:30:07Z koobs $ PORTNAME= prosody PORTVERSION= 0.11.3 +PORTREVISION= 1 CATEGORIES= net-im MASTER_SITES= http://prosody.im/downloads/source/ \ http://redundancy.redundancy.org/mirror/ MAINTAINER= lx@FreeBSD.org @@ -11,31 +12,34 @@ COMMENT= Simple extensible XMPP server written in Lua LICENSE= MIT LICENSE_FILE= ${WRKSRC}/COPYING -RUN_DEPENDS= ${LUA_MODLIBDIR}/socket/core.so:net/luasocket-51 \ - ${LUA_MODLIBDIR}/ssl.so:security/luasec-51 \ - ${LUA_MODLIBDIR}/lxp.so:textproc/luaexpat-51 \ - ${LUA_MODLIBDIR}/lfs.so:devel/luafilesystem-51 \ - ${LUA_MODLIBDIR}/bit.so:devel/lua51-bitop +RUN_DEPENDS= ${LUA_MODLIBDIR}/socket/core.so:net/luasocket \ + ${LUA_MODLIBDIR}/ssl.so:security/luasec \ + ${LUA_MODLIBDIR}/lxp.so:textproc/luaexpat \ + ${LUA_MODLIBDIR}/lfs.so:devel/luafilesystem \ + ${LUA_MODLIBDIR}/bit.so:devel/lua-bitop LIB_DEPENDS= libidn.so:dns/libidn -USES= compiler:c11 cpe gmake lua:51 shebangfix ssl -SHEBANG_FILES= prosody prosodyctl +USES= compiler:c11 cpe gmake lua:52 ssl LUA_PREMK= yes HAS_CONFIGURE= yes -CFLAGS+= -I${OPENSSLINC} -LDFLAGS+= -L${OPENSSLLIB} -CONFIGURE_ARGS= --ostype=freebsd \ - --c-compiler="${CC}" \ - --linker="${CC}" \ - --with-lua-include="${LUA_INCDIR}" \ +CONFIGURE_ARGS= --prefix="${PREFIX}" \ + --datadir="/var/db/prosody" \ + --lua-version="${LUA_VER}" \ --lua-suffix="${LUA_VER_STR}" \ --with-lua-include="${LUA_INCDIR}" \ --with-lua-lib="${LUA_LIBDIR}" \ - --prefix="${PREFIX}" + --with-random=arc4random \ + --c-compiler="${CC}" \ + --cflags="${CFLAGS}" \ + --add-cflags="-fPIC -std=c99 -I${LOCALBASE}/include -I${OPENSSLINC}" \ + --linker="${CC}" \ + --ldflags="${LDFLAGS}" \ + --add-ldflags="-shared -L${LOCALBASE}/lib -L${OPENSSLLIB}" \ + --no-example-certs MAKEFILE= GNUmakefile USERS= prosody GROUPS= ${USERS} @@ -45,21 +49,11 @@ PLIST_SUB= PROSODY_USER=${USERS} \ PROSODY_USER_regex=\b${USERS}\b \ PROSODY_GROUP=${GROUPS} \ PROSODY_GROUP_regex=\b${GROUPS}\b -OPTIONS_DEFINE= LUAJIT -LUAJIT_DESC= Run prosody using luajit -LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit - -.include - -.if ${PORT_OPTIONS:MLUAJIT} -lua_CMD= ${LOCALBASE}/bin/luajit -.else -lua_CMD= ${LOCALBASE}/bin/${LUA_CMD} -.endif - post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/prosody/util/*.so + @${MKDIR} ${STAGEDIR}/var/run/prosody + @${RM} ${STAGEDIR}${ETCDIR}/certs/* .include --- files/patch-GNUmakefile +++ files/patch-GNUmakefile @@ -1,20 +1,23 @@ ---- GNUmakefile.orig 2018-12-01 14:51:46.042219000 +0000 -+++ GNUmakefile 2018-12-01 14:52:30.212140000 +0000 +--- GNUmakefile.orig 2019-10-28 19:01:52.415208000 +0100 ++++ GNUmakefile 2019-10-28 19:02:47.367580000 +0100 @@ -6,7 +6,7 @@ MODULES = $(DESTDIR)$(LIBDIR)/prosody/modules SOURCE = $(DESTDIR)$(LIBDIR)/prosody DATA = $(DESTDIR)$(DATADIR) -MAN = $(DESTDIR)$(PREFIX)/share/man +MAN = $(DESTDIR)$(PREFIX)/man INSTALLEDSOURCE = $(LIBDIR)/prosody INSTALLEDCONFIG = $(SYSCONFDIR) -@@ -57,7 +57,7 @@ +@@ -57,9 +57,10 @@ $(INSTALL_DATA) plugins/mod_mam/*.lua $(MODULES)/mod_mam $(INSTALL_DATA) certs/* $(CONFIG)/certs $(INSTALL_DATA) man/prosodyctl.man $(MAN)/man1/prosodyctl.1 - test -f $(CONFIG)/prosody.cfg.lua || $(INSTALL_DATA) prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua + $(INSTALL_DATA) prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua.sample -test -f prosody.version && $(INSTALL_DATA) prosody.version $(SOURCE)/prosody.version $(MAKE) install -C util-src ++ $(MAKE) install -C tools/migration + clean: + rm -f prosody.install --- files/patch-migration +++ files/patch-migration @@ -0,0 +1,39 @@ +--- tools/migration/Makefile.orig ++++ tools/migration/Makefile +@@ -3,11 +3,11 @@ + + BIN = $(DESTDIR)$(PREFIX)/bin + CONFIG = $(DESTDIR)$(SYSCONFDIR) + SOURCE = $(DESTDIR)$(LIBDIR)/prosody + DATA = $(DESTDIR)$(DATADIR) +-MAN = $(DESTDIR)$(PREFIX)/share/man ++MAN = $(DESTDIR)$(PREFIX)/man + + INSTALLEDSOURCE = $(LIBDIR)/prosody + INSTALLEDCONFIG = $(SYSCONFDIR) + INSTALLEDMODULES = $(LIBDIR)/prosody/modules + INSTALLEDDATA = $(DATADIR) +@@ -20,20 +20,20 @@ + install -d $(BIN) $(CONFIG) $(SOURCE) $(SOURCE)/migrator + install -d $(MAN)/man1 + install -d $(SOURCE)/migrator + install -m755 ./prosody-migrator.install $(BIN)/prosody-migrator + install -m644 $(SOURCE_FILES) $(SOURCE)/migrator +- test -e $(CONFIG)/migrator.cfg.lua || install -m644 migrator.cfg.lua.install $(CONFIG)/migrator.cfg.lua ++ install -m644 migrator.cfg.lua.install $(CONFIG)/migrator.cfg.lua.sample + + clean: + rm -f prosody-migrator.install + rm -f migrator.cfg.lua.install + + prosody-migrator.install: prosody-migrator.lua +- sed "1s/\blua\b/$(RUNWITH)/; \ ++ sed "1s/ lua$$/ $(RUNWITH)/; \ + s|^CFG_SOURCEDIR=.*;$$|CFG_SOURCEDIR='$(INSTALLEDSOURCE)';|; \ + s|^CFG_CONFIGDIR=.*;$$|CFG_CONFIGDIR='$(INSTALLEDCONFIG)';|;" \ + < prosody-migrator.lua > prosody-migrator.install + + migrator.cfg.lua.install: migrator.cfg.lua + sed "s|^local data_path = .*;$$|local data_path = '$(INSTALLEDDATA)';|;" \ + < migrator.cfg.lua > migrator.cfg.lua.install + --- files/pkg-deinstall.in +++ files/pkg-deinstall.in @@ -15,10 +15,11 @@ echo "" echo " pw userdel -n %%USERS%%" echo " pw groupdel -n %%GROUPS%%" echo "" echo " and to remove all server data:" - echo " rm -rf /usr/local/var/lib/prosody" + echo " rm -rf /var/db/prosody" + echo " rm -rf /var/run/prosody" echo "" ;; esac exit 0 --- files/prosody.in +++ files/prosody.in @@ -13,38 +13,28 @@ # Set it to YES to enable Prosody . /etc/rc.subr name="prosody" -rcvar=prosody_enable -command="%%PREFIX%%/bin/prosodyctl" +rcvar="prosody_enable" +command="prosodyctl" load_rc_config $name prosody_enable=${prosody_enable:-"NO"} -pidfile=${prosody_pidfile:-"%%PREFIX%%/var/lib/prosody/prosody.pid"} +pidfile=${prosody_pidfile:-"/var/run/prosody/prosody.pid"} -extra_commands="reload status" - -start_cmd="prosody_start" +extra_commands="reload" +start_cmd="prosody_cmd start" stop_cmd="prosody_cmd stop" reload_cmd="prosody_cmd reload" -restart_cmd="$stop_cmd; $start_cmd" +restart_cmd="prosody_cmd restart" status_cmd="prosody_cmd status" -prosody_start() -{ - config="%%PREFIX%%/etc/prosody/prosody.cfg.lua" - if grep -q '^daemonize[[:blank:]]*=[[:blank:]]*false' $config; then - # Prosody's not going to daemonize on its own, use daemon(8) - daemon $command start - else - $command start - fi -} +export PATH="%%PREFIX%%/bin:$PATH" prosody_cmd() { $command $1 } run_rc_command "$1" --- pkg-plist +++ pkg-plist @@ -1,15 +1,10 @@ bin/prosody bin/prosodyctl -%%ETCDIR%%/certs/GNUmakefile -%%ETCDIR%%/certs/example.com.crt -%%ETCDIR%%/certs/example.com.key -%%ETCDIR%%/certs/localhost.cnf -%%ETCDIR%%/certs/localhost.crt -%%ETCDIR%%/certs/localhost.key -%%ETCDIR%%/certs/makefile -%%ETCDIR%%/certs/openssl.cnf +bin/prosody-migrator +@dir %%ETCDIR%%/certs +@sample %%ETCDIR%%/migrator.cfg.lua.sample @sample %%ETCDIR%%/prosody.cfg.lua.sample %%LUA_LIBDIR%%/prosody/core/certmanager.lua %%LUA_LIBDIR%%/prosody/core/configmanager.lua %%LUA_LIBDIR%%/prosody/core/hostmanager.lua %%LUA_LIBDIR%%/prosody/core/loggingmanager.lua @@ -21,10 +16,14 @@ %%LUA_LIBDIR%%/prosody/core/sessionmanager.lua %%LUA_LIBDIR%%/prosody/core/stanza_router.lua %%LUA_LIBDIR%%/prosody/core/statsmanager.lua %%LUA_LIBDIR%%/prosody/core/storagemanager.lua %%LUA_LIBDIR%%/prosody/core/usermanager.lua +%%LUA_LIBDIR%%/prosody/migrator/jabberd14.lua +%%LUA_LIBDIR%%/prosody/migrator/mtools.lua +%%LUA_LIBDIR%%/prosody/migrator/prosody_files.lua +%%LUA_LIBDIR%%/prosody/migrator/prosody_sql.lua %%LUA_LIBDIR%%/prosody/modules/adhoc/adhoc.%%LUA_LIBDIR%%.lua %%LUA_LIBDIR%%/prosody/modules/adhoc/mod_adhoc.lua %%LUA_LIBDIR%%/prosody/modules/mod_admin_adhoc.lua %%LUA_LIBDIR%%/prosody/modules/mod_admin_telnet.lua %%LUA_LIBDIR%%/prosody/modules/mod_announce.lua @@ -142,10 +141,11 @@ %%LUA_LIBDIR%%/prosody/util/array.lua %%LUA_LIBDIR%%/prosody/util/async.lua %%LUA_LIBDIR%%/prosody/util/cache.lua %%LUA_LIBDIR%%/prosody/util/caps.lua %%LUA_LIBDIR%%/prosody/util/compat.so +%%LUA_LIBDIR%%/prosody/util/crand.so %%LUA_LIBDIR%%/prosody/util/dataforms.lua %%LUA_LIBDIR%%/prosody/util/datamanager.lua %%LUA_LIBDIR%%/prosody/util/datetime.lua %%LUA_LIBDIR%%/prosody/util/debug.lua %%LUA_LIBDIR%%/prosody/util/dependencies.lua @@ -214,6 +214,7 @@ %%LUA_LIBDIR%%/prosody/util/x509.lua %%LUA_LIBDIR%%/prosody/util/xml.lua %%LUA_LIBDIR%%/prosody/util/xmppstream.lua %%LUA_LIBDIR%%/prosody/util/xpcall.lua man/man1/prosodyctl.1.gz -@dir(%%PROSODY_USER%%,%%PROSODY_GROUP%%,) var/%%LUA_LIBDIR%%/prosody +@dir(%%PROSODY_USER%%,%%PROSODY_GROUP%%,) /var/db/prosody +@dir(%%PROSODY_USER%%,%%PROSODY_GROUP%%,) /var/run/prosody