Pure is a modern-style functional programming language based on term
rewriting. It offers equational definitions with pattern matching, full
symbolic rewriting capabilities, dynamic typing, eager and lazy evaluation,
lexical closures, built-in list and matrix support and an easy-to-use C
interface. The interpreter uses LLVM as a backend to JIT-compile Pure
programs to fast native code.
WWW: https://purelang.bitbucket.io/
===> The following configuration options are available for pure-0.64_10:
DOCS=on: Build and/or install documentation
EMACS=off: Compile pure-mode.el with Emacs
ETC=on: Copy Pure syntax highlighting to /usr/local/share/pure/etc
EXAMPLES=on: Build and/or install examples
===> Use 'make config' to modify these settings
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Flavorize and modernize Emacs ports
- Convert USE_EMACS to USES=emacs
- Remove editors/emacs-nox11 (refer to nox flavors of editors/emacs and
editors/emacs-devel)
- Permit default Emacs flavor to be specified in make.conf
- Rename japanese/migemo-emacs23 to japanese/migemo-emacs
- Update and simplify audio/emms and fix build on FreeBSD 10 [1]
- Update databases/bbdd and fix build on FreeBSD 10 [1]
- Update editors/emacs-devel
- Ensure Makefile shell commands that change directory are executed in a
subshell
- Silence some portlint warnings
[1] By not depending on base texinfo
PR: 225404
Reviewed by: antoine
Approved by: portmgr (mat) ashish (maintainer)
Differential Revision: https://reviews.freebsd.org/D13506
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
converters/libiconv:
- Remove const qualifier from iconv(3) to match POSIX:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html
- Patch iconv.h to expose more GNU extensions when LIBICONV_PLUG is
defined because the base system iconv supports these extensions too.
Add/remove patches to/from ports to call iconv with non-const arguments.
This breaks some ports on FreeBSD 10 because base system iconv.h still has
the const qualifier. Fix this by letting USES=iconv add a build dependency
on converters/libiconv so ports can use its iconv.h (with LIBICONV_PLUG
defined) instead of the base system iconv.h.
This exposed some ports that link with libiconv when it is available instead
of using libc iconv. In these cases one of the following changes has been
(Only the first 15 lines of the commit message are shown above )
Unbreak by upgrading from 0.58 to 0.64 released last Autumn. The latest
version supports all versions of LLVM except 3.6.
While here:
* Make detection of the installed LLVM automatic, using the
latest installed or 3.5 if none are present. It is possible
to supply a different value by setting LLVM_VERSION.
(Somebody ought to port llvm to the DEFAULT_VERSIONS framework.)
* Do not even download the docs, if the DOCS-option is off.
* If DOCS-option is on, do not install the *.tm files.
* Force the tool to look for documentation in ${DOCSDIR}.
* Add the functional regression-check target to Makefile.
Approved by: being condemned too often for too long
lang/pure: Unbreak. Version 0.58 was always llvm 3.3 compatible
This port was marked for removal based on the information that pure
required llvm 3.2. Pure apparently is continuously developed.
- Version 0.58 - (this one) compatible with llvm 3.3
- Version 0.59 - compatible with llvm 3.4
- Version 0.61 - compatible with llvm 3.5
- Version 0.64 - latest
I didn't reset the maintainer, but it's suspicious that it was marked
broken this long for no good reason and no heads up from maintainer.
While here, unmask install commands, wrap lines, be DF friendly.
Approved by: blanket.
Remove ports of obsolete and unmaintained upstream llvm/clang 3.2.
Mark pure as BROKEN by this removal. It should be updated to a recent
release that supports llvm 3.5, but has seen no substantive updates in
over a year.
Replace USE_AUTOTOOLS=libltdl with an ordinary LIB_DEPENDS in all ports.
There are only 60 such ports so there doesn't need to be a separate
keyword or USES for this.
Approved by: portmgr (bapt)
Defines a variable LLVM_VERSION to ease updating to a newer LLVM version if
desired. Other changes:
- fix EMACS_CONFIGURE option helper
- fix %%ETC%% rendering and name of clang port in pkg-message
- bump PORTREVISION to force a rebuild for the dependency change.
Tested with 'poudriere bulk pure*' on 10.0-amd64, 8.3-i386, and 9.1-i386
(partially).
devel/llvm (expired) should not have any consumers anymore at this point.
PR: ports/185190
Submitted by: rene
Approved by: maintainer timeout (lichray@gmail.com , 14 days)
- Trim the article from the COMMENT line
- Switch to new LIB_DEPENDS syntax (per r322328)
- Move pkgconfig from USE_GNOME to USES
- Drop MAKE_JOBS_SAFE, does nothing these days
- Avoid using escaped shell globs; pad pkg-message output
- Fix a few whitespace and markup bugs, wrap very long line
- Provide pkgconfig and ldconfig for potential consumers
- Drop USE_GCC line from bsd.pure.mk, downstream ports need to be able to
override USE_GCC value
Pure is a modern-style functional programming language based on term
rewriting. It offers equational definitions with pattern matching, full
symbolic rewriting capabilities, dynamic typing, eager and lazy evaluation,
lexical closures, built-in list and matrix support and an easy-to-use C
interface. The interpreter uses LLVM as a backend to JIT-compile Pure
programs to fast native code.
WWW: https://code.google.com/p/pure-lang/
PR: ports/155647
Submitted by: Zhihao Yuan <lichray@gmail.com>