Ticket #16992: Portfile

File Portfile, 2.9 KB (added by dweber@…, 16 years ago)

port:libpqxx30

Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2
3# $Id$
4
5PortSystem 1.0
6
7name        libpqxx30
8version     3.0.0
9
10categories  databases devel
11
12maintainers dweber
13
14description Official C++ client API for PostgreSQL
15
16long_description \
17libpqxx is the official C++ client API for PostgreSQL, the enterprise-strength \
18open-source database software.  There are many similar libraries for PostgreSQL \
19and for other databases, some of them database independent.  Most of these, \
20however, are fairly C like in their programming style, and fail to take \
21advantage of the full power of the C++ language as it has matured since \
22the acceptance of the Standard in 1996.  What libpqxx brings you is effective \
23use of templates to reduce the inconvenience of dealing with type conversions, \
24standard C++ strings to keep you from having to worry about buffer allocation \
25and overflow attacks, exceptions to take the tedious and error prone plumbing \
26around error handling out of your hands, constructors and destructors to bring \
27resource management under control, and even basic object orientation to give \
28you some extra reliability features that would be hard to get with most other \
29database interfaces.
30
31homepage        http://pqxx.org/development/libpqxx/
32master_sites    https://pqxx.org/~jtv/tmp/pqxx/snapshot/
33
34distname        libpqxx-${version}
35
36checksums \
37    md5 c5902e901c4166d849fa3b3eee01063b \
38    sha1 7cbc31679eeb16d4ac9be0cacdb1d55e0af2b76b \
39    rmd160 5ab45c90c2ecc934574b19939ccaada34adc7bc8
40
41checksum        {}
42
43set server      postgresql83
44
45platforms       darwin
46depends_lib     port:pkgconfig \
47                port:${server}
48
49configure.env-append \
50    PG_CONFIG=${prefix}/lib/${server}/bin/pg_config
51
52configure.args-append \
53    --enable-shared
54
55# Enable tests after the build phase; see
56# http://guide.macports.org/#reference.phases.test
57# http://pqxx.org/development/libpqxx/browser/trunk/README?rev=latest
58# http://pqxx.org/development/libpqxx/wiki/TestDocs
59
60test.run        yes
61test.cmd        make
62test.target     check
63
64pre-test {
65    system "initdb -D ${worksrcdir}/test_libpqxx"
66    system "pg_ctl -w -D ${worksrcdir}/test_libpqxx -l ${worksrcdir}/test_libpqxx/logfile -o \"-p 5455\" start"
67    # test for existence of ${worksrcdir}/test_libpqxx/postmaster.pid to indicate success
68
69    # PGDATABASE    (name of database; defaults to your user name)
70    # PGHOST        (database server; defaults to local machine)
71    # PGPORT        (PostgreSQL port to connect to; default is 5432)
72    # PGUSER        (your PostgreSQL user ID; defaults to your login name)
73    # PGPASSWORD    (your PostgreSQL password, if needed)
74    test.env-append \
75        PGDATABASE=${worksrcdir}/test_libpqxx \
76        PGPORT=5455
77        #PGUSER
78        #PGPASSWORD
79}
80
81post-test {
82    system "pg_ctl -w -D ${worksrcdir}/test_libpqxx stop -m fast"
83    system "rm -rf ${worksrcdir}/test_libpqxx"
84}
85