git: ecae8fdb1f74 - main - lang/urweb: Update version 20150520=>20200209

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Tue, 21 Mar 2023 06:20:04 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ecae8fdb1f74efed8659989b9203961da8c3f1c1

commit ecae8fdb1f74efed8659989b9203961da8c3f1c1
Author:     Timothy Beyer <beyert@cs.ucr.edu>
AuthorDate: 2023-03-21 06:14:14 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2023-03-21 06:19:54 +0000

    lang/urweb: Update version 20150520=>20200209
    
    - Unbreak port for modern FreeBSD versions, such as FreeBSD 12 and 13,
      and likely 14
    - Update LIB_DEPENDS with new dependencies
    - Pet portlint
    - While I(bofh) am here pet portclippy/portfmt
    - Utilize OPTIONSNG
    
    PR:             262082
---
 lang/urweb/Makefile                    | 78 ++++++++++++++--------------------
 lang/urweb/distinfo                    |  5 ++-
 lang/urweb/files/patch-src__c__urweb.c | 11 -----
 lang/urweb/pkg-plist                   | 24 ++++++-----
 4 files changed, 49 insertions(+), 69 deletions(-)

diff --git a/lang/urweb/Makefile b/lang/urweb/Makefile
index 96e26571c80f..5471904e9169 100644
--- a/lang/urweb/Makefile
+++ b/lang/urweb/Makefile
@@ -1,8 +1,6 @@
 PORTNAME=	urweb
-PORTVERSION=	20150520
-PORTREVISION=	3
+PORTVERSION=	20200209
 CATEGORIES=	lang www
-MASTER_SITES=	http://www.impredicative.com/ur/
 
 MAINTAINER=	beyert@cs.ucr.edu
 COMMENT=	Ultimate host for embedded domain-specific languages
@@ -11,60 +9,48 @@ WWW=		http://www.impredicative.com/ur/
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN=		fails to build
-BROKEN_FreeBSD_12=	invalid target: self
-BROKEN_FreeBSD_13=	invalid target: self
-DEPRECATED=	Broken since 2020
-EXPIRATION_DATE=	2023-03-20
+ONLY_FOR_ARCHS=	amd64 i386
 
 BUILD_DEPENDS=	mlton:lang/mlton
+LIB_DEPENDS=	libgmp.so:math/gmp \
+		libicudata.so:devel/icu
 
-CONFIGURE_ENV=	CCARGS="-I${LOCALBASE}/include"
-
-GNU_CONFIGURE=	yes
-USES=		gmake libtool tar:tgz ssl
+USES=		autoreconf gmake libtool ssl tar:tgz
+USE_GITHUB=	yes
 USE_LDCONFIG=	yes
-ONLY_FOR_ARCHS=	i386 amd64
-CFLAGS+=	-pthread
-
-OPTIONS_DEFINE=	ELISP PGSQL SQLITE MYSQL
-OPTIONS_DEFAULT=	ELISP PGSQL
-OPTIONS_EXCLUDE=	NLS DOCS
-ELISP_DESC=	Install contributed Emacs Lisp
-
-.include <bsd.port.options.mk>
 
+GNU_CONFIGURE=		yes
 CONFIGURE_ARGS+=	--with-openssl=${OPENSSLBASE}
+CONFIGURE_ENV=		CCARGS="-I${LOCALBASE}/include"
 
-.if ${PORT_OPTIONS:MELISP}
-PLIST_SUB+=	ELISP=""
-CONFIGURE_ARGS+=	with_emacs=yes
-.else
-PLIST_SUB+=	ELISP="@comment "
-CONFIGURE_ARGS+=	with_emacs=no
-.endif
+CFLAGS+=	-pthread
 
-.if ${PORT_OPTIONS:MPGSQL}
-USES+=		pgsql
-WANT_PGSQL=	server
-.else
-CONFIGURE_ENV+=	PGHEADER="no"
-.endif
+OPTIONS_DEFINE=		ELISP MYSQL PGSQL SQLITE
+OPTIONS_DEFAULT=	ELISP PGSQL
+OPTIONS_EXCLUDE=	DOCS NLS
+OPTIONS_SUB=		yes
 
-.if ${PORT_OPTIONS:MSQLITE}
-USES+=		sqlite
-.else
-CONFIGURE_ENV+=	SQHEADER="no"
-.endif
+ELISP_DESC=	Install contributed Emacs Lisp
 
-.if ${PORT_OPTIONS:MMYSQL}
-USES+=		mysql
-.else
-CONFIGURE_ENV+=	MSHEADER="no"
-.endif
+ELISP_CONFIGURE_ON=		with_emacs=yes
+ELISP_CONFIGURE_OFF=		with_emacs=no
+MYSQL_USES=			mysql
+MYSQL_CONFIGURE_ENV_OFF=	MSHEADER="no"
+PGSQL_USES=			pgsql
+PGSQL_CONFIGURE_ENV_OFF=	PGHEADER="no"
+PGSQL_VARS=			WANT_PGSQL=server
+SQLITE_USES=			sqlite
+SQLITE_CONFIGURE_ENV_OFF=	SQHEADER="no"
 
 post-patch:
-	${REINPLACE_CMD} -e "s|postgresql/libpq-fe.h|libpq-fe.h|g" \
-	${WRKSRC}/configure
+	@${REINPLACE_CMD} -e "s|postgresql/libpq-fe.h|libpq-fe.h|g" \
+		${WRKSRC}/configure.ac
+	@${REINPLACE_CMD} -e "s|uw_Basis_int true|uw_Basis_int utrue|" \
+		-e "s|uw_Basis_int false|uw_Basis_int ufalse|" \
+		-e "s|uw_Basis_bool true|uw_Basis_bool utrue|" \
+		-e "s|uw_Basis_bool false|uw_Basis_bool ufalse|" \
+		-e "s|\&true|\&utrue|g" -e "s|\&false|\&ufalse|g" \
+		-e "s|abs(ret)|llabs(ret)|" \
+		${WRKSRC}/src/c/urweb.c
 
 .include <bsd.port.mk>
diff --git a/lang/urweb/distinfo b/lang/urweb/distinfo
index 7c43b7790291..926b9f7c9e42 100644
--- a/lang/urweb/distinfo
+++ b/lang/urweb/distinfo
@@ -1,2 +1,3 @@
-SHA256 (urweb-20150520.tgz) = 35f31c9b39093dc50be72731ae7288245befc1b98bfcdcc481db15a8c937f41a
-SIZE (urweb-20150520.tgz) = 4349365
+TIMESTAMP = 1679330544
+SHA256 (urweb-urweb-20200209_GH0.tar.gz) = 56062e4b2485c73e2b912e6c7631ce47e885774dd0ac4e9acbb21594165fac01
+SIZE (urweb-urweb-20200209_GH0.tar.gz) = 804989
diff --git a/lang/urweb/files/patch-src__c__urweb.c b/lang/urweb/files/patch-src__c__urweb.c
deleted file mode 100644
index b1c95689dc75..000000000000
--- a/lang/urweb/files/patch-src__c__urweb.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/c/urweb.c.orig	2014-07-04 15:32:47.000000000 +0200
-+++ src/c/urweb.c	2014-12-19 01:22:02.000000000 +0100
-@@ -4204,7 +4204,7 @@ uw_Basis_int uw_Basis_rand(uw_context ct
-   pthread_mutex_unlock(&rand_mutex);
- 
-   if (r)
--    return abs(ret);
-+    return llabs(ret);
-   else
-     uw_error(ctx, FATAL, "Random number generation failed");
- }
diff --git a/lang/urweb/pkg-plist b/lang/urweb/pkg-plist
index 6e0f109299c8..56dccd4daad9 100644
--- a/lang/urweb/pkg-plist
+++ b/lang/urweb/pkg-plist
@@ -6,32 +6,35 @@ include/urweb/types.h
 include/urweb/types_cpp.h
 include/urweb/urweb.h
 include/urweb/urweb_cpp.h
+include/urweb/uthash.h
 lib/liburweb.a
 lib/liburweb.so
-lib/liburweb.so.0
-lib/liburweb.so.0.0.0
+lib/liburweb.so.1
+lib/liburweb.so.1.0.0
 lib/liburweb_cgi.a
 lib/liburweb_cgi.so
-lib/liburweb_cgi.so.0
-lib/liburweb_cgi.so.0.0.0
+lib/liburweb_cgi.so.1
+lib/liburweb_cgi.so.1.0.0
 lib/liburweb_fastcgi.a
 lib/liburweb_fastcgi.so
-lib/liburweb_fastcgi.so.0
-lib/liburweb_fastcgi.so.0.0.0
+lib/liburweb_fastcgi.so.1
+lib/liburweb_fastcgi.so.1.0.0
 lib/liburweb_http.a
 lib/liburweb_http.so
-lib/liburweb_http.so.0
-lib/liburweb_http.so.0.0.0
+lib/liburweb_http.so.1
+lib/liburweb_http.so.1.0.0
 lib/liburweb_static.a
 lib/liburweb_static.so
-lib/liburweb_static.so.0
-lib/liburweb_static.so.0.0.0
+lib/liburweb_static.so.1
+lib/liburweb_static.so.1.0.0
 lib/urweb/js/urweb.js
 lib/urweb/ur/basis.urs
 lib/urweb/ur/char.ur
 lib/urweb/ur/char.urs
 lib/urweb/ur/datetime.ur
 lib/urweb/ur/datetime.urs
+lib/urweb/ur/json.ur
+lib/urweb/ur/json.urs
 lib/urweb/ur/list.ur
 lib/urweb/ur/list.urs
 lib/urweb/ur/listPair.ur
@@ -46,6 +49,7 @@ lib/urweb/ur/top.ur
 lib/urweb/ur/top.urs
 %%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-compat.el
 %%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-defs.el
+%%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-flycheck.el
 %%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-mode-startup.el
 %%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-mode.el
 %%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-move.el