summaryrefslogtreecommitdiff
path: root/lang/racket/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2017-04-22Revbump after icu updateadam1-2/+2
2017-02-12Recursive revbump from fonts/harfbuzzryoon1-2/+2
2017-02-06Recursive bump for harfbuzz's new graphite2 dependency.wiz1-1/+2
2017-01-19Convert all occurrences (353 by my count) ofagc1-6/+6
MASTER_SITES= site1 \ site2 style continuation lines to be simple repeated MASTER_SITES+= site1 MASTER_SITES+= site2 lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint accordingly.
2016-12-19Revert nonsensical changes.asau1-11/+11
2016-12-17Fixed pkglint warnings.rillig1-11/+11
2016-12-12Remove non-resolving host.wiz1-3/+2
2016-12-05Update to Racket 6.7.asau1-9/+4
Changes are not known.
2016-12-04Recursive revbump from textproc/icu 58.1ryoon1-1/+2
2016-10-25Update to Racket 6.6asau1-3/+2
Changes in Racket 6.6 - The new Macro Profiler command-line tool (`raco macro-profiler`) shows how macros contribute to the final expanded code size of a program. - Typed Racket supports intersection types. This allows the type system to track more information, and for programmers to express more precise types. - Typed Racket produces up to 4x smaller compiled files compared with Racket 6.5, reducing the size of the Racket distribution by 50M. - Typed Racket issues warnings in cases where the contract generated for `Any` was not strict enough in the past. These warnings will become errors in a future release. Warnings are enabled via View -> Show Log in DrRacket, and shown by default on command-line Racket. - Typed Racket enforces uses of `cast` more correctly, by checking both the "casted-to" and "casted-from" types. Previously, only the former were checked. In some cases, this will produce contract errors in programs that did not have errors before. - `syntax-parse` raises an error when an ellipsis pattern has an empty match rather than diverging, and it logs a warning when it statically detects a nullable pattern, such as `((~seq) ...)`. In the next version of Racket, it will reject the pattern instead, and it will remove special handling that currently makes some uses of such patterns terminate. - `htdp/dir`: The `create-dir` function delivers data information for files in a new field. The domain of its functions are backwards compatible. Changes in Racket 6.5 - Typed Racket and the racket/contract library generate code with lower overhead, speeding up typed/untyped interaction in a number of gradual typing programs we studied. - Macros written using `syntax-parse` automatically emit more accurate error messages. - The contract profiler captures costs from more contract combinators, including all those in the main distribution. - Hash table and set iteration, via both existing and new non-generic sequences, is more performant, up to twice as fast on microbenchmarks. - The Racket optimizer detects many more optimization opportunities, including when variables always hold numbers. - The `db` library supports multi-result statements in MySQL. - The `net/dns` library supports SRV records. - The `racket/unix-socket` library supports listen and accept operations.
2016-07-17Revert previous.asau1-20/+20
2016-07-10Fixed some pkglint warnings.rillig1-20/+20
2016-04-11Recursive revbump from textproc/icu 57.1ryoon1-1/+2
2016-03-15Update to Racket 6.4asau1-2/+2
Changes in Racket 6.4: - We fixed a security vulnerability in the web server. The existing web server is vulnerable to a navigation attack if it is also enabled to serve files statically; that is, any file readable by the web server is accessible remotely. For more information see http://blog.racket-lang.org/2016/02/racket-web-server-security-vulnerability.html - DrRacket's scrolling is faster. - Incremental garbage-collection mode can eliminate long pauses in a program. For example, incremental mode is useful for avoiding pauses in games and animations. Programs must specifically request incremental mode with `(collect-garbage 'incremental)`, but libraries such as `2htdp/universe` include the request as part of the library's implementation. - The default package catalog is an HTTPS address instead of HTTP, and package operations properly validate server certificates when using HTTPS. - Documentation may define their own categories for the manual top- level page by using strings, rather than only symbols that name pre-defined categories. - The Racket cheat sheet is included in the main distribution. - DrRacket is available in Bulgarian, thanks to Alexander Shopov. - The contract Typed Racket generates for the `Any` type is more permissive, allowing more typed/untyped programs to work without contract errors. - Redex supports binding specifications; describe which variables bind in which expressions and your metafunctions and reduction relations automatically become scope-sensitive. Thanks to Paul Stansifer for this improvement. - All `pict` functions accept `pict-convertible`s. This allows for transparent interoperability between `pict` and libraries like `2htdp/image`. - The `raco profile` and `raco contract-profile` commands provide easy access to profiling tools, without requiring program modifications.
2015-12-12Update to Racket 6.3asau1-3/+2
Changes in Racket 6.3 - Racket's macro expander uses a new representation of binding called "set of scopes". The new binding model provides a simpler explanation of how macros preserve binding, especially across module boundaries and in hygiene-bending expansions. The new expander is mostly compatible with existing Racket macros, but there are some incompatibilities. For the formally inclined, a research paper on this macro system will appear at POPL next year: http://www.cs.utah.edu/plt/scope-sets/ - Racket's GUI library now uses Gtk+ 3 when available, instead of Gtk+ 2. Set the `PLT_GTK2` environment variable to select Gtk+ 2. - Added a new Redex tutorial based on a week-long workshop in SLC. - Better syntax error checking for Redex patterns that do not use holes correctly. - The blueboxes are more agressive about finding names to look up in the docs, meaning they are useful much more often. - Submodules are now fully supported in Typed Racket. Previously, some uses of submodules would produce internal errors, making it hard to `module+ test` and `module+ main` effectively in Typed Racket. The switch to the set-of-scopes expander fixed these problems, and submodules are now happily at home in Typed Racket. - The `typed/racket/unsafe` library provides import and export forms that circumvent contract generation. This improves performance for typed-untyped interaction at the cost of safety and debuggability. - Typed Racket provides experimental support for units (from `racket/unit`). - The experimental `define-new-subtype` form allows overlaying finer distinctions between otherwise identical types, similar to Haskell's `newtype`. - The `Promise` type constructor changes in a backwards-incompatible way to exclude promises created with `promise/name`. - The `unstable-*` packages are out of the main distribution. Most of their contents have been either merged with established Racket libraries or spun off as their own packages. This change is backwards compatible for packages that properly list their dependencies. Full details: http://blog.racket-lang.org/2015/10/retiring-unstable.html - edu: `big-bang` supports a display-mode clause so that world programs can take over the entire screen. Changes in Racket 6.2.1 - For the How to Design Programs teaching languages, DrRacket offers an option to use the old style for printing the constants `true`, `false`, and `empty` instead of `#true`, `#false`, and `'()`. - The teaching languages come with some additional functions to match the August 2015 stable release of HtDP 2nd edition. - A repair to the compiler avoids an infinite loop at compile time for certain expressions that should loop forever at run time.
2015-10-10Recursive revbump from textproc/icuryoon1-1/+2
2015-08-05Update to Racket 6.1.1asau1-3/+2
Changes: * The MAC OS X YOSEMITE compatibility problems are fixed. We bundled a patched Pango text-drawing library with Racket. * The WINDOWS [32-bit] releases fixes the window-update crashes. We bundled a patched Cairo drawing library with Racket. * TYPED RACKET closes two safety holes in the exception system. The revised type system restricts `raise' to send only instances of the `exn' structure type and flat data to handlers. It also checks exception handlers properly. NOTE: Previously well-typed programs may fail to typecheck. * TYPED RACKET'S typed regions support casts and predicates. * 2HTDP/IMAGE'S notion of equality ignores an image's baseline. * The PACKAGE MANAGER supports a binary library installation mode, which allows users to install packages without source or documentation. Use the `--binary-lib' option with `raco pkg install'. * The new DRRACKET-TOOL-LIB package factors out parts of DrRacket's IDE so that they can be reused with other editors, such as Emacs. * The COMPILER'S use-before-defined analysis has been repaired for certain forms of nested `letrec', some `let' forms, and some uses of `set!' or `with-continuation-mark'. * The COMPILER performs additional bytecode optimizations. Thanks to Gustavo Massaccesi. * The CML library comes with a new `replace-evt' event constructor. Thanks to Jan Dvorak. * REDEX'S benchmark suite comes with a description of the benchmark programs. * REDEX'S metafunctions can be typeset using the "large left brace" notation for conditionals. * The CONTRACT library comes with an improved `contract-stronger?'. Its error messages note that the contract itself might be wrong. * The GUI library is DPI-aware on Windows. * The OPENSSL library supports Server Name Indication for servers. Thanks to Jay Kominek. * The SYNTAX/PARSE library allows the definition of new pattern forms via pattern expanders, similar to match expanders. Thanks to Alex Knauth. * OpenGL on Linux no longer depends on libgtkgl, and core profiles are supported (see `set-legacy?'). * The TEACHING LANGUAGES' unit test framework supports `check-satisfied', a construct for checking whether a result satisfies a predicate, e.g.: (check-satisfied (sort l) sorted?)
2015-04-25Recursive revbump following MesaLib update, categories g through n.tnn1-2/+2
2015-04-06Revbump after updating textproc/icuadam1-1/+2
2015-03-04Update of racket ports to version 6.1.1. Coordinated with asau. Changes,jaapb1-5/+4
as per upstream changelog: - Bug repairs and other changes noted in the documentation - Changed use-before-definition to be an error instead of producing an #<undefined> value - Removed the mzlib/class100 library Also changed the racket port to use mk/jpeg.buildlink3.mk.
2014-10-07Revbump after updating libwebp and icuadam1-2/+2
2014-09-03Bump PKGREVISION for sqlite3 dependency. Requested by wiz@jperkin1-1/+2
2014-09-02Requires databases/sqlite3 to generate documentation. Fixes build on SunOS.jperkin1-1/+2
2014-06-15Update to Racket 6.0.1asau1-9/+5
Changes in version 6.0.1 * A new `racket/undefined` library exports `undefined` as the value currently produced by (letrec ([x x]) x) This library anticipates a future where that expression will raise an exception. The `racket/undefined` library will continue to offer the `undefined` value as a bridge between versions and as a last resort. * The drawing and GUI libraries provide improved support for high-resolution bitmaps and their use on Retina displays. For example, `read-bitmap` includes a `#:try-@2x?` option to trigger substitutions through the usual "@2x" naming convention. * Check Syntax cooperates with Typed Racket to show arrows and other Check Syntax highlighting even when there is a type error. * Functions provided via contract-out that have first-order contracts perform better. * The contract boundary between typed/untyped modules is much less expensive. Typed Racket now avoids generating contracts for places where contracts failures cannot happen. * Occurrence typing now works better with when/unless. Example: (let ((x (read))) (unless (number? x) (error 'bad-input)) (add1 x)) * Types in Typed Racket are now pretty-printed. * Function types can now be written in prefix style, which is now preferred and is used for printing. Infix function types are still accepted for backwards compatibility. * A new `->*' type constructor is used for writing types for functions with optional and keyword arguments. The notation is similar to the matching contract combinator. * Typed Racket forms do not have a `:' suffix by default now. For example, the `struct' form replaces `struct:'. The suffixed versions are all provided for backwards compatibility. * Typed Racket now has preliminary support for classes and objects. However, it is still experimental and the APIs are subject to change. * Type aliases in Typed Racket now support recursion and mutual recursion. For example, `(define-type (MyList X) (U Null (Pair X (MyList X))))' is now a valid type alias. * Plot correctly renders intersecting 3D graphs and non-grid-aligned 3D rectangles. * Elements in plots output in PDF/PS format have the same relative scale as in other formats. In particular, it is not necessary to adjust `plot-font-size` to make PDF plots look the same as PNG. Changes in version 6.0 Racket 6.0 has a new package system, including a catalog of hundreds of already-available packages. Please visit http://pkgs.racket-lang.org/ for an overview of the packages. Racket versions 5.3.4 through 5.3.6 included "beta" versions of the package system. Racket version 6.0 incorporates many improvements suggested by preliminary experiences in those versions: * A package is treated as a single collection by default, so it is even easier to use a GitHub repository as a package. Get started quickly: http://docs.racket-lang.org/pkg/getting-started.html * DrRacket includes a new package manager GUI, available via the File|Package Manager ... menu item. The GUI is also available as a stand-alone program via the "gui-pkg-manager" package. * The main Racket distribution has been separated into about 200 packages. The Racket installer combines the core system with bundled versions of these packages. Alternatively, you may now install a Minimal Racket distribution --- which is about 1/10 the size of the main distribution --- and add only those packages that you need. * Package installation supports pre-built packages that include compiled byte code and rendered documentation, meaning packages can be installed quickly when built versions are available. All packages in the main distribution are available in pre-built form. The recent 5.92 and 5.93 releases served as release candidates for 6.0, and 6.0 includes a few additional repairs related to the package system. Further improvements to the package system are in the works, notably including package documentation on the package-catalog web site. COMPATIBILITY NOTE: PLaneT, the previous Racket package system, will remain in place for the foreseeable future, but we expect all package work to shift to the new system. Beyond the package system, this release brings a number of other changes: * Racket's HTML documentation has a new and improved look, thanks to Matthew Butterick. * The documentation includes a style guide, "How to Program Racket" http://docs.racket-lang.org/style/ * Racket's JIT compiler supports the ARM architecture. * Racket supports the Mac's Retina display mode. * The performance of the Typed Racket compiler improved by 50% on some typed programs. * The profiler provides a new mode that uses the errortrace library to produce fine-grained profiles. * A new contract profiler reports how much time programs spend checking contracts, and which contracts are most expensive. * The math/flonum library exports fast 105-bit precision operations. * Check Syntax handles generated identifiers, especially those introduced by struct (e.g. field selectors) and Redex (e.g., e_1, e_2) * 2htdp/batch-io includes functions for dealing with html/xml in files and web sites as X-expressions plus conveniences for web-based graph traversals. * The `gen:set' generic interface extends set operations to work on user-defined types that implement set methods, as well as on other set-like built-in types, such as lists. * Picts support conversion to SVG format. * Under unix, Racket provides desktop entries (.desktop files) for its graphical executables.
2014-05-05- bump PKGREVISION for previous commitszptvlfn1-2/+2
Thanks wiz@
2014-05-05Recursive revbump from x11/pixmanryoon1-2/+2
Fix PR pkg/48777
2013-10-10Recursive revbump from pango-1.36.0ryoon1-2/+2
2013-09-02Revbump after cairo updateadam1-1/+2
2013-08-23Update to Racket 5.3.6 asau1-3/+6
Racket 5.3.6 This is a bug-fix release. It eliminates errors from v5.3.5 that people have found over the summer. Racket 5.3.5 This is a special-purpose release to match the arrival of "Realm of Racket" in bookstores. Racket v.5.3.5 adds a single `realm' collection to the v5.3.4 release. The new collection contains the source code that readers of Realm may wish to use for experiments. Racket 5.3.4 * Extflonums (80-bit floating-point numbers) are supported on some x86/x86_64 platforms -- including Windows, and including platforms where Racket is compiled to use SSE instructions for flonum arithmetic. Thanks to Michael Filonenko. * OS X: DrRacket and all of the other apps are now signed with an official key. * Tally Maze: a new game based an enumeration of 2d mazes. * The Optimization Coach, a DrRacket plugin, has been moved from the Racket distribution to the Racket package repository. Install it with: raco pkg install optimization-coach * Redex: `define-union-language' now merges productions when languages define the same nonterminals. Thanks to William Bowman. * The `srfi/19' library is now compatible with the date structure type exported by `racket/base'.
2013-06-06Bump PKGREVISION for libXft changes for NetBSD native X support onwiz1-2/+2
NetBSD 6, requested by tron.
2013-06-04Try to fix the fallout caused by the fix for PR pkg/47882. Part 3:tron1-2/+2
Recursively bump package revisions again after the "freetype2" and "fontconfig" handling was fixed.
2013-06-03Bump freetype2 and fontconfig dependencies to current pkgsrc versions,wiz1-1/+2
to address issues with NetBSD-6(and earlier)'s fontconfig not being new enough for pango. While doing that, also bump freetype2 dependency to current pkgsrc version. Suggested by tron in PR 47882
2013-04-06Various MASTER_SITES-related fixes.rodent1-2/+2
2013-04-06"$foo is ambiguous. Use ${foo} if you mean a Makefile variable or $$foo ifrodent1-2/+2
you mean a shell variable."
2013-02-16Update to Racket 5.3.3asau1-3/+2
This is a bug-fix release to address a flaw in DrRacket v5.3.2 concerning interactions between the contour window and the syntax coloring.
2013-02-16Recursive bump for png-1.6.wiz1-1/+2
2013-02-10Update to Racket 5.3.2asau1-3/+2
Changes in Racket v5.3.2 Core Libraries: * The new `math' library provides functions and data structures for working with numbers and collections of numbers. Functions include non-elementary (such as gamma, zeta, Lambert's W), number-theoretic (factorization, modular arithmetic), linear algebra (arithmetic, decompositions), and statistical (expected values, order statistics, binning). Data structures include arbitrary-precision bigfloats, probability distributions, and multidimensional arrays. * The new `file/untar', `file/untgz', and `file/unzip' libraries support unpacking widely used archive formats. * The new `lazy-require' form allows programs to delay the loading and instantiation of helper modules until they are needed. * The new `data/bit-vector' library provides an implementation of bit vectors (a mutable sequence of booleans) supporting popcount. * The `racket/generic' library allows the specification of default method implementations for core datatypes. * The `openssl' library can verify hostnames and use the operating system's certificate store to verify certificates. Package System: * A new package system is in beta release. This system will become Planet's successor. It differs significantly from the latter. For details, please read the documentation at http://docs.racket-lang.org/planet2/ and list your packages on the new index at https://pkg.racket-lang.org/. * The `raco test' command supports testing by collection and package, in addition to by directory and file, with the "-c" and "-p" options. Teaching Libraries: * batch-io: the read and write functions work on Unix-style standard input and output. DrRacket: * DrRacket's GUI is more responsive. * The automatic parenthesis insertion mode is improved. Scribble: * Scribble renders Markdown format files via the "--markdown" command-line flag. Example use case: Generate documentation hosted on GitHub or BitBucket. * Documentation cross-reference information is stored in an SQLite3 database, which means that SQLite3 is required for building Racket documentation on Unix/Linux machines (but SQLite3 is included in Racket distributions for Windows and Mac OS X). Using a database for cross-reference information significantly reduces the initial footprint of DrRacket, since DrRacket no longer needs to load all cross-reference information. Typed Racket: * Typed Racket programs can require `plot/typed' to draw plots. List- and vector-accepting functions accept general sequences. * Typed Racket supports Racket's delimited continuation and continuation mark operators. Redex: * Added more support for `define-judgment-form', including random generation for well-formed judgments and visualization of judgments. Deprecation: The following have been removed in this release: * the `planet' command-line tool; use `raco planet' instead. The following has been deprecated and will be removed in the August 2013 release: * the `mzlib/class100' library; use `racket/class' instead. Changes in Racket v5.3.1 Racket: * The `case' form dispatches on characters, fixnums, symbols, and keywords in logarithmic time. (Thanks to Jon Zeppieri.) * The new `racket/format' library provides new and improved string-formatting functions. * Logging tools include improved filtering support based on the name of a logger. A new `define-logger' form simplifies the use of named loggers. Forms such as `log-debug' now support string formatting. * The `for' forms now support `#:break' and `#:final' clauses. * The new PLTCOMPILEDROOTS environment variable configures the search path for compiled bytecode. DrRacket: * Check Syntax now summarizes the documentation (i.e., the blue boxes) for the identifier at the insertion point in the top-right corner of the definitions window. * Check Syntax now runs continuously for programs that declare their language within the source. This mode has been available for several of the past releases, but now enabled by default. * DrRacket can spell-check string constants (enable this in the Edit menu). Typed Racket: * Typed Racket interprets the Any type as a different contract. This may signal dynamic errors in some existing mixed typed/untyped programs. The normal fix is to replace a use of Any with a more specific types. * NaN is included in all of Typed Racket's floating-point types, which makes precise floating-point types easier to use. * Typed Racket supports a `cast' operation with support for higher-order types. * Typed Racket provides the `:query-type/args' and `:query-type/result' utilities to explore types at the REPL. Miscellaneous: * The `compatibility' collection provides features from Racket relatives, such as `defmacro' and mutable lists. These features are provided to ease porting code to Racket. Avoid them in modern Racket code. * Screenshots of the widgets provided by the Racket GUI library are included in the documentation. (Thanks to Diogo F. S. Ramos.) * FrTime was ported to racket lang. (Thanks to Patrick Mahoney.) Deprecation: The following has been deprecated and will be removed in the January 2013 release: * the `planet' command-line tool; use `raco planet' instead. The following has been deprecated and will be removed in the August 2013 release: * the `mzlib/class100' library; use `racket/class' instead.
2013-01-24Revbump after updating graphics/jpegadam1-2/+2
2012-10-08Revbump after updating graphics/pangoadam1-2/+2
2012-10-02Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.asau1-3/+1
2012-10-02Mass recursive bump after the dependence fix of the "cairo" packagetron1-2/+2
requested by Thomas Klausner.
2012-09-24In fact, change from LOCALBASE to PREFIX is wrong too.asau1-2/+2
See python packages for similar usage. Revert it too.
2012-09-24Revert:asau1-8/+8
1. Changes that make no sense. 2. Changes that are not tested.
2012-09-15lang/racket: pkglint cleanupmarino1-7/+7
Admittedly most of this cleanup is petty cosmetic stuff, but there are so many warnings that real problems are obscured such as: * refering jpeg buildlink directly * using $LOCALBASE directly
2012-09-15lang/racket: Add DragonFly supportmarino1-2/+4
LDFLAGS.DragonFly+= -rdynamic Add four patches to support DragonFly: * Teach configuration about DragonFly * Add DragonFly to BSD signal handler code * Fix mbsrtowcs conftest segfault of configure script * Fix cast on string.c Patches contributed by: Chris Turner Jelle Hermsen Patches will be submitted upstream. Revbump due to possible change due to result of mbstrowcs test.
2012-09-15recursive bump from libffi shlib major bumpobache1-2/+2
(additionaly, reset PKGREVISION of qt4-* sub packages from base qt4 update)
2012-09-07Revbump after updating graphics/cairoadam1-1/+2
2012-08-08Update to Racket 5.3asau1-3/+2
Changes in Racket 5.3 * Submodules are nested module declarations that can be loaded and run independently from the enclosing module. For an overview of submodules, see http://blog.racket-lang.org/2012/06/submodules.html * The futures visualizer is a graphical profiling tool for parallel programs using futures. The tool shows a detailed execution timeline depicting the migration of futures between threads, and gives detailed information about each runtime synchronization that occurred during program execution. In addition, `would-be-future' is a special type of future that always executes sequentially and records all potential barricades a regular future would encounter. * Optimization Coach (formerly Performance Report) reports information about Racket's inlining optimizations. Optimization Coach can be launched in any language through the View menu. * The new `images/flomap' library defines floating-point bitmaps and fast image processing operations on them. It is written in Typed Racket, so Typed Racket code may use it without the cost of contract checks. * The new `json' library supports parsing and generating JSON. (Originally based on Dave Herman's planet library.) * `racket/string' is extended with a set of simplified string manipulation functions that are more convenient than using regexps. `regexp-match*' and friends can now be used with new keyword arguments to return specific matched regexp group/s and gaps between matches. * The new `racket/generic' library allows generic function definitions, which dispatch to methods added to a structure type via the new `#:methods' keyword. * The `class' form supports declaring a method abstract. An abstract method prevents a class from being instantiated unless it is overridden. * The contract library comes with support for interfaces, generics, prompts, continuation-marks, and structs. * Most error messages use a new multi-line format that is more consistent with contract errors and accommodates more information. * Typed Racket supports function definitions with keyword arguments; the startup time of Typed Racket programs has been sharply reduced. * The new `ffi/com' library replaces MysterX; a compatibility `mysterx' library remains, but without ActiveX support. The new `ffi/unsafe/com' library offers a more primitive and direct way to use COM classes and methods. * There is now a very complete completion code for zsh. It is not included in the distribution though; get it at http://goo.gl/DU8JK (This script and the bash completions will be included in the standard installers in future versions.) --- DEPRECATION ---------------------------------------------------- Effective this release: - The `tex2page' and `combinator-parser' libraries have been moved from the Racket distribution to PLaneT: (require (planet plt/tex2page)) (require (planet plt/combinator-parser)) The following has been deprecated and will be removed in the January 2013 release: - the `planet' command-line tool; use `raco planet' instead. The following has been deprecated and will be removed in the August 2013 release: - the `mzlib/class100' library; use `racket/class' instead.
2012-03-03Recursive bump for pcre-8.30* (shlib major change)wiz1-2/+2
2012-02-06Revbump forwiz1-1/+2
a) tiff update to 4.0 (shlib major change) b) glib2 update 2.30.2 (adds libffi dependency to buildlink3.mk) Enjoy.