Bug 166657 - new port: lang/urweb
Summary: new port: lang/urweb
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Michael Scheidell
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-05 05:10 UTC by Timothy Beyer
Modified: 2012-04-06 15:53 UTC (History)
1 user (show)

See Also:


Attachments
urweb.shar (7.64 KB, text/plain)
2012-04-05 05:10 UTC, Timothy Beyer
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Timothy Beyer 2012-04-05 05:10:01 UTC
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

Fix: The included shar
How-To-Repeat: extract shar archive and build port

Note that when it builds, about 1-5% of the time, mlton will segfault during
the build.  If this happens, it should build on another attempt.

Also, it should build and run on both amd64 and i386, but the FreeBSD port of
mlton only supports i386.  (apparently there is support for 64-bit in newer
versions of mlton, not sure if the current version of mlton in ports is simply
marked conservatively or not)

The fastcgi (www/fcgi) port is *not* required, because it uses an
implementation of the fastcgi protocol, not the library itself.
Comment 1 Michael Scheidell freebsd_committer freebsd_triage 2012-04-05 06:45:02 UTC
Responsible Changed
From-To: freebsd-ports-bugs->scheidell

I'll take it.
Comment 2 Michael Scheidell freebsd_committer freebsd_triage 2012-04-05 15:42:35 UTC
State Changed
From-To: open->feedback

unshars, package built just fine, waiting on one question I posted to 
ports@ and then ready to commit.
Comment 3 Timothy Beyer 2012-04-05 22:55:16 UTC
At Thu, 5 Apr 2012 14:42:35 GMT,
scheidell@FreeBSD.org wrote:
> 
> Synopsis: new port: lang/urweb
> 
> State-Changed-From-To: open->feedback
> State-Changed-By: scheidell
> State-Changed-When: Thu Apr 5 14:42:35 UTC 2012
> State-Changed-Why: 
> unshars, package built just fine, waiting on one question I posted to
> ports@ and then ready to commit.
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=166657
> 

Regarding the category:

Ur/Web is primarily a programming language (Ur), although it is geared very
specifically for writing web applications. (Hence the Ur/Web distribution)

It could be considered a general purpose programming language if the C FFI is
used, and most of the features of the language are similar to those found in
Haskell, ML, or Epigram, which are general purpose.

I would say that it belongs in lang/, but since it is intended for writing web
applications, I specified www as a side category.

Tim
Comment 4 dfilter service freebsd_committer freebsd_triage 2012-04-06 15:36:44 UTC
scheidell    2012-04-06 14:36:30 UTC

  FreeBSD ports repository

  Modified files:
    lang                 Makefile 
  Added files:
    lang/urweb           Makefile distinfo pkg-descr pkg-plist 
    lang/urweb/files     patch-Makefile.am patch-Makefile.in 
                         patch-configure patch-urweb.c 
  Log:
  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
  
  Revision  Changes    Path
  1.771     +1 -0      ports/lang/Makefile
  1.1       +63 -0     ports/lang/urweb/Makefile (new)
  1.1       +2 -0      ports/lang/urweb/distinfo (new)
  1.1       +8 -0      ports/lang/urweb/files/patch-Makefile.am (new)
  1.1       +11 -0     ports/lang/urweb/files/patch-Makefile.in (new)
  1.1       +20 -0     ports/lang/urweb/files/patch-configure (new)
  1.1       +16 -0     ports/lang/urweb/files/patch-urweb.c (new)
  1.1       +22 -0     ports/lang/urweb/pkg-descr (new)
  1.1       +53 -0     ports/lang/urweb/pkg-plist (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 5 Michael Scheidell freebsd_committer freebsd_triage 2012-04-06 15:53:15 UTC
State Changed
From-To: feedback->closed

New port added. Thanks!