pkgsrc/databases/guile-pg/Makefile
gdt 5540e98796 Update to 0.39. Resolves type errors vs newer pgsql.
(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
2010-03-19 11:26:57 +00:00

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"