5540e98796
(approval to update during freeze by agc@) - 0.39 | 2010-01-11 - Dropped (database postgres) procs - pg-lo-get-connection - pg-get-client-data - pg-set-client-data! These were pre-announced in Guile-PG 0.38 (2009-06-22) NEWS. - Proc `(database postgres) pg-parameter-status' no longer takes keyword This was pre-announced in Guile-PG 0.38 (2009-06-22) NEWS. - Maintenance uses autoconf 2.65, automake 1.11, libtool 2.2.6b - 0.38 | 2009-06-22 - Support for PostgreSQL 7.3 and earlier dropped Sorry, this was not pre-announced. Note that the subsequent version, i.e. PostgreSQL 7.4, was released 2003-11-17, over five years ago. - Dropped (database postgres) proc: pg-get-connection This was pre-announced in 0.37 (2008-05-24) NEWS. - External rep no longer includes "serial number" - Connection - Result These were pre-announced in 0.37 (2008-05-24) NEWS. - Planned retirement - pg-lo-get-connection - pg-get-client-data - pg-set-client-data! These (database postgres) procs provide or rely on associations that can better be expressed using normal Scheme facilities such as object properties, hash tables, etc, and thus are deemed a redundant maintenance burden; they WILL BE REMOVED by 2009-12-31. - Proc `(database postgres) pg-parameter-status' takes symbol `parm' These are equivalent: (pg-parameter-status CONN #:session_authorization) (pg-parameter-status CONN 'session_authorization) Note, however, that support for keyword `parm' is a misfeature, and WILL BE REMOVED by 2009-12-31. - Proc `(database postgres-qcons) sql-quote' more standards compliant Previously, this did single-quote escaping by inserting a backslash character prior to every single-quote. The result is acceptable by PostgreSQL, but is not standards compliant. Now, it does the escaping by doubling each single-quote, which is standards compliant and less prone to trigger warnings from the more recent PostgreSQL versions (8.2 and later). bef: (sql-quote "a'b") => "'a\\'b'" now: (sql-quote "a'b") => "'a''b'" - Changes to `pgtable-manager' (and thus `pgtable-worker') - Support for DEFAULT You can now use the keyword #:DEFAULT to specify DEFAULT as the value to insert into a table, or to update a column. Indeed, for column values, any keyword now expands to its name (sans `#:'). - #:insert-values no longer filters "serial" Previously, columns with "serial" type were filtered, so that it was possible to #:insert-values specifying only values for the other columns. Now, such usage raises a "column count mismatch" error; you must explicitly use #:DEFAULT. For example, given a table with column types "text", "serial", "text": bef: (W #:insert-values "foo" "bar") => ok now: (W #:insert-values "foo" "bar") => error (W #:insert-values "foo" #:DEFAULT "bar") => ok Although technically speaking the new behavior is incompatible, the previous behavior was never documented (secret misfeature), so the impact on your code is likely to be zero (no worries). - Connection object xrep omits "port" if "host" is a socket dir When the connection is Unix-domain (i.e., the "host" is a string that begins with slash that names a directory), the concept of "port" makes no sense. - Manual table-of-contents moved forward It used to be (strangely but perhaps following some outdated convention) at the end of the document. - New (database postgres) procs - pg-mblen While we wait for Guile to go multibyte (and stay there), this is a small building-block that eases "mostly ignorant" string processing. - pg-server-version This returns an integer representation of the server version of a connection, or `#f' if the connection is closed. - New (database postgres-resx) proc: object<-result This is useful for `SELECT EXPR;' where the result tuple consists of one row and one column. - Maintenance uses autoconf 2.63, automake 1.11, libtool 2.2.6
47 lines
1.6 KiB
Makefile
47 lines
1.6 KiB
Makefile
# $NetBSD: Makefile,v 1.42 2010/03/19 11:26:57 gdt Exp $
|
|
#
|
|
|
|
DISTNAME= guile-pg-0.39
|
|
CATEGORIES= databases
|
|
MASTER_SITES= http://www.gnuvola.org/software/guile-pg/
|
|
|
|
MAINTAINER= gdt@NetBSD.org
|
|
HOMEPAGE= http://www.gnuvola.org/software/guile-pg/
|
|
COMMENT= PostgreSQL interface for Guile
|
|
LICENSE= gnu-gpl-v3
|
|
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
|
|
|
USE_LIBTOOL= YES
|
|
USE_TOOLS+= gmake
|
|
GNU_CONFIGURE= YES
|
|
INFO_FILES= YES
|
|
|
|
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 "../../mk/pgsql.buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|