pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases/guile-pg Update to 0.44. Because guile-pg n...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/89461a20b3fa
branches:  trunk
changeset: 610807:89461a20b3fa
user:      gdt <gdt%pkgsrc.org@localhost>
date:      Wed Nov 07 13:45:35 2012 +0000

description:
Update to 0.44.  Because guile-pg now works with mainstream guile,
switch from guile16 to guile (currently 1.8), and remove the special
accomodations for 1.6.

- 0.44 | 2012-04-20

  - distribution now .tar.xz

        If you have GNU tar, you can use "tar xf" and it will DTRT.
        If not, you can use "xz -dc TARBALL | tar xf -" to unpack.

  - bugfix: ‘pg-get-copy-data’ handles unspecified ‘async?’

        Previously, if ‘async?’ was unspecified, it was incorrectly
        interpreted as true (i.e., "not false").  Now, if unspecified,
        it is interpreted correctly as false.

  - testing slack for pre-8.1 ‘pg-client-encoding’

        Previously, the types-table test was too strict when checking
        the ‘pg-client-encoding’ return value, expecting "UTF-8" only.
        Now, it accepts also "UNICODE", which is the norm for PostgreSQL
        prior to 8.1.

  - support for ‘make check KEEPD=1’

        If you run "make check" many times, you can avoid daemon bounce
        overhead by specifying ‘KEEPD=1’, which inhibits daemon killing.

  - maintenance tools
    - GNU Autoconf 2.68
    - GNU Automake 1.11.5
    - GNU Libtool 2.4.2
    - Guile-BAUX 20120309.1509.1c4bb92
    - SNUGGLE 0.1


- 0.43 | 2012-02-06

        [PBI] means "WARNING: potentially backward-incompatible".

  - bugfix: ‘sql-quote’ translates backslash (#\\) to ‘\134’

        Previously, backslash characters were passed through
        unmodified.  Now, they are translated to the string "\134"
        (i.e., the four characters ‘#\\’, ‘#\1’, ‘#\3’, ‘#\4’).

  - [PBI] ‘bytea’ stringifier outputs only one backslash

        If the ‘bytea’ stringifier from ‘(database postgres-types)’ is
        used standalone, this represents a BACKWARD INCOMPATIBLE change.
        In the normal case, however, where the stringifier is used in
        conjunction with ‘sql-quote’, this change is transparent.

  - new (database postgres-qcons) proc: string-xrep

        Some versions of Guile emit ‘\xXX’ to represent the octet with
        hex value XX when constructing the external representation of a
        string, for certain octets.  Furthermore, some versions of
        PostgreSQL cannot grok such escape sequences anyway.  The new
        procedure ‘string-xrep’ is like ‘object->string’ (for a string
        arg) except that it explicitly emits the octet itself, except
        for ‘#\\’ and and ‘#\"’, which are backslash-escaped as normal.

  - ‘(database postgres-qcons) idquote’ no longer emits ‘\xXX’

        Before, ‘idquote’ used ‘object->string’ internally, and thus
        suffered from the problems described in the preceding NEWS
        entry.  Now, it uses ‘string-xrep’.

  - ‘(database postgres-col-defs) validate-def’ more permissive

        A column name may now be any symbol that does not contain
        whitespace.  Previously it was restricted to a symbol whose
        constituent characters were alphanumeric or underscore.

        This change makes Guile-PG less strict (in some sense) than
        PostgreSQL, which imposes other rules.  Overarching is the
        recommendation from PostgreSQL to consistently use a "delimited
        identifier" (aka "quoted identifier") rather than a naked name.
        That's what ‘idquote’ and ‘string-xrep’, both used extensively
        in Guile-PG, do.  See section "Identifiers and Key Words" in
        chapter "SQL Syntax" in the PostgreSQL documentation, for more
        information.

  - ‘pgtable-manager’ and ‘pgtable-worker’ likewise relaxed

        These use ‘(database postgres-col-defs)’ procs and new proc
        ‘string-xrep’ internally, and thus benefit from the changes
        mentioned in the preceding NEWS entries.  Notably, table and
        column names are less constrained.  For example, see file
        test/types-table.scm, proc ‘test-m2’.

        [Probably "relaxed" is not as good as "strictness relaxed and
        multi-byte-fu enhanced", but that does not fit on one line.]

  - fake cluster created on-demand for "make check"

        In addition to a fake installation, "make check" now also
        creates a cluster under test/fake-cluster/ configured for
        Unix-domain connections, and kicks/kills the daemon around the
        actual ‘runtest TEST’ invocations.  This means it is no longer
        necessary to set env var ‘PGDATABASE’.  In fact, that and env
        var ‘PGHOST’ are now silently ignored, since ‘runtest’ clobbers
        them internally.

        If you previously tested Guile-PG against different PostgreSQL
        versions by varying ‘PGDATABASE’, you now need to vary env var
        ‘INITDB’ instead, and zonk the cluster before the "make check"
        invocation.  Something like:

          $(MAKE) delete-cluster
          $(MAKE) check DEBUG=1 INITDB=/a/particular/initdb

        in directory test/ would be fine.  See README section "Testing".


- 0.42 | 2011-10-04

  - bugfix: "make check" no longer clobbers installed file

        For Guile versions that require a Scheme wrapper for .so loading
        (i.e., Guile 1.8 and later), "make check" does a fake install w/
        a ‘prefix’ in the build tree.  Unfortunately, in Guile-PG 0.41,
        that dir was not specified to the Scheme wrapper, resulting in
        its installation under the "real" (as determined / set by the
        configure script) ‘prefix’.

        The system would reamin in this inconsistent state, with the
        wrapper pointing into the build tree, until "make install", at
        which point everything was resynchronized.  Obviously, if you
        never do "make install", the problem persists (silently, until
        the build tree is deleted).

        This has now been fixed.  If you did a "make check" but NOT
        "make install" of Guile-PG 0.41, the best way forward is to
        configure Guile-PG 0.42 and then "make install; make uninstall".

  - ‘pg-print’ now does ‘fflush’ after each operation

        This probably kills performance, but it is safer, given Guile's
        direct use of ‘write(2)’ et al.

  - ‘pg-set-client-encoding!’ also accepts symbolic encoding


- 0.41 | 2011-09-29

  - Bugs fixed

    - Make ‘idquote’ special-case ‘*’ in second part.

        was: (display (idquote 'a.*)) |= "a"."*"
        now: (display (idquote 'a.*)) |= "a".*

    - Call ‘string-append’ with strings, not symbols.

        We no longer rely on this particular Guile 1.4 slack.

  - Portability fixes (tested w/ Guile 1.8.7)

        With the following (and other, non-user-visible) changes, "make
        check" no longer displays "foo is deprecated" messages with
        Guile 1.8.7.  If you see them for your system, for either "make
        check" or subsequent Guile-PG use, please report that as a bug.

    - Don't do "defer/allow ints" for Guile 1.8+.

    - Revamped Scheme object to C byte range for Guile 1.8+

        Access to Scheme string representation was curtailed in Guile
        1.8 (API available but deprecated), so all operations that pass
        a C byte range to libpq functions now incur an extra conversion
        step.  The unfortunate user-visible result is performance loss.

  - Planned retirement
    - procedure ‘(database postgres) pg-getline’
    - procedure ‘(database postgres) pg-getlineasync’

        These procedures are obsoleted by ‘pg-get-copy-data’ and
        WILL BE REMOVED by 2012-12-31.

  - New fluid to control ‘(database postgres-qcons) sql-quote’

        The fluid ‘sql-quote-auto-E?’ controls whether or not
        ‘sql-quote’ should check for ‘\’ (backslash) characters and
        prefix an "E" in that case.  This is relevant if you use
        PostgreSQL 8.2+.

  - New support for "hex format" in ‘bytea’ objectifier

        PostgreSQL 9.0 introduces a more efficient "hex format" for
        ‘bytea’ output.  This is now recognized and parsed, falling back
        to handling the traditional "escape format" if not recognized.

  - Doc improvements
    - Fix omission: Document ‘pg-get-copy-data’ arg ‘async?’.
    - Indices merged into one
    - Builtin type converters listed and indexed
    - Builtin type converter array variants listed

  - For ‘make check DEBUG=1’, display the guile(1) invocation.

  - Tested w/ latest server versions: 8.[01234], 9.[01]

        Additionally, the entries in file test/OK now include the
        associated Guile-PG version, and some include a subheading
        "other pg" to list the precise server version numbers.


- 0.40 | 2011-06-05
  - Changes to configuration
    - Bug fixed in finding ‘pg_encoding_to_char’, ‘pg_char_to_encoding’
    - Now seeks and arranges to use <postgresql/foo> headers
    - No longer clobbers user vars ‘CPPFLAGS’, ‘LDFLAGS’
  - Changes to build / test / install
    - Bug fixed: Delete everything on "make uninstall"
    - Scheme code now punified for install
    - Add "no C module" mode for build / install
    - Changes to "make check"
      - Flaky symlinking replaced w/ partial in-tree installation
      - runtest now honors env var ‘GUILE’
      - runtest now shows loaded files if env var ‘DEBUG’ set
  - New (database postgres-qcons) proc: idquote
  - Docs now explicitly UTF-8
  - Tested on more platforms (see file test/OK)
  - Maintenance uses AAL 2.68, 1.11.1, 2.4; Guile-BAUX 20110605.1656

diffstat:

 databases/guile-pg/Makefile |  37 ++++++++-----------------------------
 databases/guile-pg/PLIST    |  23 +++++++++++------------
 databases/guile-pg/distinfo |   8 ++++----
 3 files changed, 23 insertions(+), 45 deletions(-)

diffs (98 lines):

diff -r 9ac640253dff -r 89461a20b3fa databases/guile-pg/Makefile
--- a/databases/guile-pg/Makefile       Wed Nov 07 13:37:02 2012 +0000
+++ b/databases/guile-pg/Makefile       Wed Nov 07 13:45:35 2012 +0000
@@ -1,13 +1,13 @@
-# $NetBSD: Makefile,v 1.44 2012/10/02 21:25:18 asau Exp $
+# $NetBSD: Makefile,v 1.45 2012/11/07 13:45:35 gdt Exp $
 #
 
-DISTNAME=      guile-pg-0.39
-PKGREVISION=   1
+DISTNAME=      guile-pg-0.44
 CATEGORIES=    databases
-MASTER_SITES=  http://www.gnuvola.org/software/guile-pg/
+MASTER_SITES=  http://download.savannah.nongnu.org/releases/guile-pg/
+EXTRACT_SUFX=  .tar.xz
 
 MAINTAINER=    gdt%NetBSD.org@localhost
-HOMEPAGE=      http://www.gnuvola.org/software/guile-pg/
+HOMEPAGE=      http://savannah.nongnu.org/projects/guile-pg/
 COMMENT=       PostgreSQL interface for Guile
 LICENSE=       gnu-gpl-v3
 
@@ -16,31 +16,10 @@
 GNU_CONFIGURE= YES
 INFO_FILES=    YES
 
+CONFIGURE_ARGS+=       --with-libpq=${PREFIX}
+
 TEST_TARGET=   check
 
-# There are several versions of guile; the relevant ones for this
-# module are 1.6.x, which is the old FSF version, and ttn-1.4,
-# which is a forked version of 1.4 by Thien-Thi Nguyen, the maintainer
-# of guile-pg.  fsf-1.4 is considered obsolete by nearly everyone.
-
-# In 1.6 (but not fsf-1.4 or ttn-1.4), binary modules are deprecated.
-# guile-pg uses binary modules, and places them and scheme code in
-# $GUILE_LIBSITE, which is searched by ttn-1.4, but not by 1.6.  The
-# simplest nonproblematic solution is to symlink the installed code to
-# where 1.6 expects it.  We could patch guile-pg to install in 1.6's
-# preferred location ${PREFIX}/share/guile/site, but there is a shared
-# library which of course cannot go in share.
-
-# In 1.8, binary modules have been removed.  Support for guile-pg to
-# use 1.8-style modules has not yet been written.
-
-SITE=${PREFIX}/guile/1.6/share/guile/site
-
-# guile should make the dir, but if not
-post-install:
-       ${INSTALL_DATA_DIR} ${DESTDIR}${SITE}
-       cd ${DESTDIR}${SITE} && ${LN} -sf ../../../../../lib/guile/site/database .
-
-.include "../../lang/guile16/buildlink3.mk"
+.include "../../lang/guile/buildlink3.mk"
 .include "../../mk/pgsql.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r 9ac640253dff -r 89461a20b3fa databases/guile-pg/PLIST
--- a/databases/guile-pg/PLIST  Wed Nov 07 13:37:02 2012 +0000
+++ b/databases/guile-pg/PLIST  Wed Nov 07 13:45:35 2012 +0000
@@ -1,13 +1,12 @@
-@comment $NetBSD: PLIST,v 1.9 2009/06/14 17:43:16 joerg Exp $
+@comment $NetBSD: PLIST,v 1.10 2012/11/07 13:45:35 gdt Exp $
 info/guile-pg.info
-lib/guile/site/database/libpostgres.la
-lib/guile/site/database/postgres-col-defs.scm
-lib/guile/site/database/postgres-gxrepl.scm
-lib/guile/site/database/postgres-meta.scm
-lib/guile/site/database/postgres-qcons.scm
-lib/guile/site/database/postgres-resdisp.scm
-lib/guile/site/database/postgres-resx.scm
-lib/guile/site/database/postgres-table.scm
-lib/guile/site/database/postgres-types.scm
-lib/guile/site/database/postgres.la
-guile/1.6/share/guile/site/database
+lib/guile-pg/postgres.la
+share/guile/site/database/postgres
+share/guile/site/database/postgres-col-defs
+share/guile/site/database/postgres-gxrepl
+share/guile/site/database/postgres-meta
+share/guile/site/database/postgres-qcons
+share/guile/site/database/postgres-resdisp
+share/guile/site/database/postgres-resx
+share/guile/site/database/postgres-table
+share/guile/site/database/postgres-types
diff -r 9ac640253dff -r 89461a20b3fa databases/guile-pg/distinfo
--- a/databases/guile-pg/distinfo       Wed Nov 07 13:37:02 2012 +0000
+++ b/databases/guile-pg/distinfo       Wed Nov 07 13:45:35 2012 +0000
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.10 2010/03/19 11:26:57 gdt Exp $
+$NetBSD: distinfo,v 1.11 2012/11/07 13:45:35 gdt Exp $
 
-SHA1 (guile-pg-0.39.tar.gz) = 3ac23784b09bd95d91e322881f15a888d253fac5
-RMD160 (guile-pg-0.39.tar.gz) = b5b83f8b8d8fa0020ac09b1cfb9b59caef451267
-Size (guile-pg-0.39.tar.gz) = 644189 bytes
+SHA1 (guile-pg-0.44.tar.xz) = a6b48b9dd46fea3994a038107a256fafb1f828e1
+RMD160 (guile-pg-0.44.tar.xz) = a712467aa5a23e8dc9a9025b0ba4f33b4bb7b206
+Size (guile-pg-0.44.tar.xz) = 504316 bytes


Home | Main Index | Thread Index | Old Index