aboutsummaryrefslogtreecommitdiff
path: root/lang/urweb
diff options
context:
space:
mode:
authorMichael Scheidell <scheidell@FreeBSD.org>2012-04-06 14:36:30 +0000
committerMichael Scheidell <scheidell@FreeBSD.org>2012-04-06 14:36:30 +0000
commite2e280ca6f9e994b35296affecbc8a1c6123b3b9 (patch)
tree162f4e636afe5d7e294331c2eeb0bb3fefd87b21 /lang/urweb
parent3be13e4d848669fc5ae7564a71507f08fe9e865c (diff)
downloadports-e2e280ca6f9e994b35296affecbc8a1c6123b3b9.tar.gz
ports-e2e280ca6f9e994b35296affecbc8a1c6123b3b9.zip
Notes
Diffstat (limited to 'lang/urweb')
-rw-r--r--lang/urweb/Makefile63
-rw-r--r--lang/urweb/distinfo2
-rw-r--r--lang/urweb/files/patch-Makefile.am8
-rw-r--r--lang/urweb/files/patch-Makefile.in11
-rw-r--r--lang/urweb/files/patch-configure20
-rw-r--r--lang/urweb/files/patch-urweb.c16
-rw-r--r--lang/urweb/pkg-descr22
-rw-r--r--lang/urweb/pkg-plist53
8 files changed, 195 insertions, 0 deletions
diff --git a/lang/urweb/Makefile b/lang/urweb/Makefile
new file mode 100644
index 000000000000..0e560ce7ee37
--- /dev/null
+++ b/lang/urweb/Makefile
@@ -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>
diff --git a/lang/urweb/distinfo b/lang/urweb/distinfo
new file mode 100644
index 000000000000..6db6b7e19903
--- /dev/null
+++ b/lang/urweb/distinfo
@@ -0,0 +1,2 @@
+SHA256 (urweb-20120329.tgz) = 9f6866bc5663f173157ae6e822bde728581ebdbd2aeb3bb3a1ecf0c0964e691f
+SIZE (urweb-20120329.tgz) = 828756
diff --git a/lang/urweb/files/patch-Makefile.am b/lang/urweb/files/patch-Makefile.am
new file mode 100644
index 000000000000..91b41adb24dd
--- /dev/null
+++ b/lang/urweb/files/patch-Makefile.am
@@ -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
diff --git a/lang/urweb/files/patch-Makefile.in b/lang/urweb/files/patch-Makefile.in
new file mode 100644
index 000000000000..2812b07a9cfd
--- /dev/null
+++ b/lang/urweb/files/patch-Makefile.in
@@ -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:
diff --git a/lang/urweb/files/patch-configure b/lang/urweb/files/patch-configure
new file mode 100644
index 000000000000..9939eb6c996b
--- /dev/null
+++ b/lang/urweb/files/patch-configure
@@ -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
diff --git a/lang/urweb/files/patch-urweb.c b/lang/urweb/files/patch-urweb.c
new file mode 100644
index 000000000000..2d56700ba5f9
--- /dev/null
+++ b/lang/urweb/files/patch-urweb.c
@@ -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;
+
diff --git a/lang/urweb/pkg-descr b/lang/urweb/pkg-descr
new file mode 100644
index 000000000000..de330359945c
--- /dev/null
+++ b/lang/urweb/pkg-descr
@@ -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/
diff --git a/lang/urweb/pkg-plist b/lang/urweb/pkg-plist
new file mode 100644
index 000000000000..7047596eb1c8
--- /dev/null
+++ b/lang/urweb/pkg-plist
@@ -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