mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-27 05:10:36 +00:00
Add New Port lang/urweb: Ur is a programming language in the tradition of ML and Haskell, but featuring
a significantly richer type system. Ur is functional, pure, statically-typed, and strict. Ur supports a powerful kind of metaprogramming based on row types. Ur/Web is Ur plus a special standard library and associated rules for parsing and optimization. Ur/Web supports construction of dynamic web applications backed by SQL databases. PR: ports/166657 Submitted by: Timothy Beyer <beyert@cs.ucr.edu> Feature safe: yes
This commit is contained in:
parent
3be13e4d84
commit
e2e280ca6f
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=294290
@ -366,6 +366,7 @@
|
||||
SUBDIR += tuareg-mode.el
|
||||
SUBDIR += twelf
|
||||
SUBDIR += ucc
|
||||
SUBDIR += urweb
|
||||
SUBDIR += v8
|
||||
SUBDIR += vala
|
||||
SUBDIR += vala-vapigen
|
||||
|
63
lang/urweb/Makefile
Normal file
63
lang/urweb/Makefile
Normal file
@ -0,0 +1,63 @@
|
||||
# New ports collection makefile for: urweb
|
||||
# Date created: 4 Apr 2012
|
||||
# Whom: Timothy Beyer <beyert@cs.ucr.edu>
|
||||
#
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= urweb
|
||||
PORTVERSION= 20120329
|
||||
CATEGORIES= lang www
|
||||
MASTER_SITES= http://www.impredicative.com/ur/
|
||||
EXTRACT_SUFX= .tgz
|
||||
|
||||
MAINTAINER= beyert@cs.ucr.edu
|
||||
COMMENT= Ultimate host for embedded domain-specific languages
|
||||
|
||||
LICENSE= BSD
|
||||
LICENSE_FILE= ${WRKDIR}/${DISTNAME}/LICENSE
|
||||
|
||||
BUILD_DEPENDS= mlton:${PORTSDIR}/lang/mlton
|
||||
|
||||
CONFIGURE_ENV= CCARGS="-I${LOCALBASE}/include"
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
USE_GMAKE= yes
|
||||
CONFIGURE_ARGS= --prefix=${PREFIX}
|
||||
USE_LDCONFIG= yes
|
||||
USE_OPENSSL= yes
|
||||
ONLY_FOR_ARCHS= i386 amd64
|
||||
|
||||
OPTIONS= ELISP "Install contributed Emacs Lisp" on \
|
||||
PGSQL "Enable PostgreSQL Support" on \
|
||||
SQLITE "Enable Sqlite Support" off \
|
||||
MYSQL "Enable Mysql Support" off
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.ifdef (WITH_ELISP)
|
||||
PLIST_SUB+= ELISP=""
|
||||
CONFIGURE_ARGS+= with_emacs=yes
|
||||
.else
|
||||
PLIST_SUB+= ELISP="@comment "
|
||||
CONFIGURE_ARGS+= with_emacs=no
|
||||
.endif
|
||||
|
||||
.ifdef (WITH_PGSQL)
|
||||
USE_PGSQL= server
|
||||
.else
|
||||
CONFIGURE_ENV+= PGHEADER="no"
|
||||
.endif
|
||||
|
||||
.ifdef (WITH_SQLITE)
|
||||
USE_SQLITE= yes
|
||||
.else
|
||||
CONFIGURE_ENV+= SQHEADER="no"
|
||||
.endif
|
||||
|
||||
.ifdef (WITH_MYSQL)
|
||||
USE_MYSQL= yes
|
||||
.else
|
||||
CONFIGURE_ENV+= MSHEADER="no"
|
||||
.endif
|
||||
|
||||
.include <bsd.port.mk>
|
2
lang/urweb/distinfo
Normal file
2
lang/urweb/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (urweb-20120329.tgz) = 9f6866bc5663f173157ae6e822bde728581ebdbd2aeb3bb3a1ecf0c0964e691f
|
||||
SIZE (urweb-20120329.tgz) = 828756
|
8
lang/urweb/files/patch-Makefile.am
Normal file
8
lang/urweb/files/patch-Makefile.am
Normal file
@ -0,0 +1,8 @@
|
||||
--- src/c/Makefile.am.orig 2012-03-29 08:09:43.000000000 -0700
|
||||
+++ src/c/Makefile.am 2012-04-04 00:52:39.000000000 -0700
|
||||
@@ -7,4 +7,4 @@
|
||||
liburweb_static_la_SOURCES = static.c
|
||||
|
||||
AM_CPPFLAGS = -I../../include @OPENSSL_INCLUDES@
|
||||
-AM_CFLAGS = -Wimplicit -Wall -Werror -Wno-format-security -Wno-deprecated-declarations
|
||||
+AM_CFLAGS = -Wimplicit -Wall -Wno-format-security -Wno-deprecated-declarations
|
11
lang/urweb/files/patch-Makefile.in
Normal file
11
lang/urweb/files/patch-Makefile.in
Normal file
@ -0,0 +1,11 @@
|
||||
--- src/c/Makefile.in.orig 2012-03-29 08:09:43.000000000 -0700
|
||||
+++ src/c/Makefile.in 2012-04-04 00:52:43.000000000 -0700
|
||||
@@ -254,7 +254,7 @@
|
||||
liburweb_fastcgi_la_SOURCES = fastcgi.c
|
||||
liburweb_static_la_SOURCES = static.c
|
||||
AM_CPPFLAGS = -I../../include @OPENSSL_INCLUDES@
|
||||
-AM_CFLAGS = -Wimplicit -Wall -Werror -Wno-format-security -Wno-deprecated-declarations
|
||||
+AM_CFLAGS = -Wimplicit -Wall -Wno-format-security -Wno-deprecated-declarations
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
20
lang/urweb/files/patch-configure
Normal file
20
lang/urweb/files/patch-configure
Normal file
@ -0,0 +1,20 @@
|
||||
--- configure.orig 2012-03-29 08:09:43.000000000 -0700
|
||||
+++ configure 2012-04-04 03:59:35.000000000 -0700
|
||||
@@ -12583,14 +12583,14 @@
|
||||
|
||||
|
||||
if test -z $PGHEADER; then
|
||||
- for ac_header in postgresql/libpq-fe.h
|
||||
+ for ac_header in libpq-fe.h
|
||||
do :
|
||||
- ac_fn_c_check_header_mongrel "$LINENO" "postgresql/libpq-fe.h" "ac_cv_header_postgresql_libpq_fe_h" "$ac_includes_default"
|
||||
+ ac_fn_c_check_header_mongrel "$LINENO" "libpq-fe.h" "ac_cv_header_postgresql_libpq_fe_h" "$ac_includes_default"
|
||||
if test "x$ac_cv_header_postgresql_libpq_fe_h" = xyes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_POSTGRESQL_LIBPQ_FE_H 1
|
||||
_ACEOF
|
||||
- PGHEADER=postgresql/libpq-fe.h
|
||||
+ PGHEADER=libpq-fe.h
|
||||
fi
|
||||
|
||||
done
|
16
lang/urweb/files/patch-urweb.c
Normal file
16
lang/urweb/files/patch-urweb.c
Normal file
@ -0,0 +1,16 @@
|
||||
--- src/c/urweb.c.orig 2012-03-29 08:09:43.000000000 -0700
|
||||
+++ src/c/urweb.c 2012-04-04 00:55:17.000000000 -0700
|
||||
@@ -160,12 +160,7 @@
|
||||
static unsigned n_clients;
|
||||
|
||||
static pthread_mutex_t clients_mutex =
|
||||
- #ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER
|
||||
- PTHREAD_RECURSIVE_MUTEX_INITIALIZER
|
||||
- #else
|
||||
- PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
|
||||
- #endif
|
||||
- ;
|
||||
+PTHREAD_MUTEX_INITIALIZER;
|
||||
size_t uw_messages_max = SIZE_MAX;
|
||||
size_t uw_clients_max = SIZE_MAX;
|
||||
|
22
lang/urweb/pkg-descr
Normal file
22
lang/urweb/pkg-descr
Normal file
@ -0,0 +1,22 @@
|
||||
Ur is a programming language in the tradition of ML and Haskell, but featuring
|
||||
a significantly richer type system. Ur is functional, pure, statically-typed,
|
||||
and strict. Ur supports a powerful kind of metaprogramming based on row types.
|
||||
|
||||
Ur/Web is Ur plus a special standard library and associated rules for parsing
|
||||
and optimization. Ur/Web supports construction of dynamic web applications
|
||||
backed by SQL databases. The signature of the standard library is such that
|
||||
well-typed Ur/Web programs "don't go wrong" in a very broad sense. Not only do
|
||||
they not crash during particular page generations, but they also may not:
|
||||
|
||||
* Suffer from any kinds of code-injection attacks
|
||||
* Return invalid HTML
|
||||
* Contain dead intra-application links
|
||||
* Have mismatches between HTML forms and the fields expected by their
|
||||
handlers
|
||||
* Include client-side code that makes incorrect assumptions about the
|
||||
* "AJAX"-style services that the remote web server provides
|
||||
* Attempt invalid SQL queries
|
||||
* Use improper marshaling or unmarshaling in communication with SQL databases
|
||||
or between browsers and web servers
|
||||
|
||||
WWW: http://www.impredicative.com/ur/
|
53
lang/urweb/pkg-plist
Normal file
53
lang/urweb/pkg-plist
Normal file
@ -0,0 +1,53 @@
|
||||
bin/urweb
|
||||
include/urweb/config.h
|
||||
include/urweb/queue.h
|
||||
include/urweb/request.h
|
||||
include/urweb/types.h
|
||||
include/urweb/urweb.h
|
||||
lib/liburweb.a
|
||||
lib/liburweb.la
|
||||
lib/liburweb.so
|
||||
lib/liburweb.so.0
|
||||
lib/liburweb_cgi.a
|
||||
lib/liburweb_cgi.la
|
||||
lib/liburweb_cgi.so
|
||||
lib/liburweb_cgi.so.0
|
||||
lib/liburweb_fastcgi.a
|
||||
lib/liburweb_fastcgi.la
|
||||
lib/liburweb_fastcgi.so
|
||||
lib/liburweb_fastcgi.so.0
|
||||
lib/liburweb_http.a
|
||||
lib/liburweb_http.la
|
||||
lib/liburweb_http.so
|
||||
lib/liburweb_http.so.0
|
||||
lib/liburweb_static.a
|
||||
lib/liburweb_static.la
|
||||
lib/liburweb_static.so
|
||||
lib/liburweb_static.so.0
|
||||
lib/urweb/js/urweb.js
|
||||
lib/urweb/ur/basis.urs
|
||||
lib/urweb/ur/char.ur
|
||||
lib/urweb/ur/char.urs
|
||||
lib/urweb/ur/list.ur
|
||||
lib/urweb/ur/list.urs
|
||||
lib/urweb/ur/listPair.ur
|
||||
lib/urweb/ur/listPair.urs
|
||||
lib/urweb/ur/monad.ur
|
||||
lib/urweb/ur/monad.urs
|
||||
lib/urweb/ur/option.ur
|
||||
lib/urweb/ur/option.urs
|
||||
lib/urweb/ur/string.ur
|
||||
lib/urweb/ur/string.urs
|
||||
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-mode-startup.el
|
||||
%%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-mode.el
|
||||
%%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-move.el
|
||||
%%ELISP%%share/emacs/site-lisp/urweb-mode/urweb-util.el
|
||||
%%ELISP%%@dirrm share/emacs/site-lisp/urweb-mode
|
||||
@dirrm lib/urweb/ur
|
||||
@dirrm lib/urweb/js
|
||||
@dirrm lib/urweb
|
||||
@dirrm include/urweb
|
Loading…
Reference in New Issue
Block a user