Up to [cvs.NetBSD.org] / pkgsrc / lang / gauche
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Simply and speed up buildlink3.mk files and processing. This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
Change the format of BUILDLINK_ORDER to contain depth information as well, and add a new helper target and script, "show-buildlink3", that outputs a listing of the buildlink3.mk files included as well as the depth at which they are included. For example, "make show-buildlink3" in fonts/Xft2 displays: zlib fontconfig iconv zlib freetype2 expat freetype2 Xrender renderproto
Track information in a new variable BUILDLINK_ORDER that informs us of the order in which buildlink3.mk files are (recursively) included by a package Makefile.
Aligned the last line of the buildlink3.mk files with the first line, so that they look nicer.
Over 1200 files touched but no revisions bumped :) RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day).
Update gauche to 0.8.6. Patch provided by Kenji Hisazumi. From this release we don't use external Boehm GC library because gauche needs GC to be built with special compilation options. New features in 0.8.6: * New modules: + dbi: Database independent access layer, providing unified access to various relational databases. You need separate "driver" packages to access the actual RDBMS. There are a few driver packages available at http://www.kahua.org/cgi-bin/kahua.fcgi/kahua-web/show/dev/DBI/. Note: If you have been using the separate dbi module, make sure you remove it before using the new dbi and dbd modules. You can find the old dbi.scm under somewhere like /usr/local/share/gauche/site/lib (the actualy directory depends on the configuration when you've installed the dbi module). + util.relation: A framework to work with relations (as defined by Codd). The result of database access via dbi is represened as a relation. + text.sql: SQL parser/constructor. Full features are not implemented yet, but used in dbi module for prepared queries. * New SRFIs: + SRFI-40 (Library of streams) as util.stream. + SRFI-43 (vector library) as srfi-43. + SRFI-45 (Primitives for Expressing Iterative Lazy Algorithms) : built-in. * New built-in proceduers global-variable-bound? and glboal-variable-ref. The former supersedes symbol-bound? ( symbol-bound? is now deprecated and will go away in the future releases. Code that uses symbol-bound? should change it to global-variable-bound?. ). The latter removes some need of using eval just to peek the value of the global variable. * New regexp procedures: regexp-replace*, regexp-replace-all*, regexp-case-fold?. * Stack overflow handling is largely improved. You can see better performance if your script frequently oveflows the stack. 0.8.5 was a maintainance release. 0.8.4: Gauche 0.8.4: The compiler and VM have been rewritten. Now Gauche runs faster with less memory (as fast as 1.9x, or cosumes 0.7x memory, in best cases of our tests. But your mileage may vary.) The compiler now does simple closure optimization, so the typical loop-by-local-closure style code will get the advantage. On the other hand, you won't see much gain in OO-heavy or library-heavy programs. Other changes: * New features: + srfi-42 (Eager comprehension) is supported. + srfi-55 (require-extension) is supported. + A simple sampling profiler is implemented to help tuning programs. Check out "Profiling and tuning" section of the reference manual. The profiler may not be available on all platforms. + We provide an experimenal Windows/MinGW binary package for the convenience. See download page.
dlopen.buildlink3.mk will automatically include dlcompat/buildlink3.mk only on Darwin, so remove OPSYS check in dlcompat/buildlink3.mk and make packages include dlopen.buildlink3.mk instead.
Update for recent dependencies/version.
Updated Gauche package to latest release, 0.7.4.2. Many changes were made from previous packaged version, 0.6.3; Lots of improvements and bug fixes, including security ones. Please take a look at its WWW page for more detailes. http://www.shiro.dreamhost.com/scheme/gauche/ pkgsrc changes: - support buildlink2. buildlink3.mk is also added but not tested since I have not moved to buildlink3 environment yet. - this package now uses libgcudevel/boehm-gc instead of self contained, slightly modified one. It seems that this package runs under m68k.