Opened 10 years ago

Closed 9 years ago

#27183 closed submission (wontfix)

soci 3.0.0 Port Submission

Reported by: markus@… Owned by: titus@…
Priority: Normal Milestone:
Component: ports Version: 1.9.1
Keywords: Cc:
Port: soci

Description

SOCI database access library

SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the regular C++ code, staying entirely within the Standard C++.

Attachments (1)

Portfile (2.5 KB) - added by markus@… 10 years ago.
Portfile with variants for postgresql83,84,90 and 91

Download all attachments as: .zip

Change History (6)

Changed 10 years ago by markus@…

Attachment: Portfile added

Portfile with variants for postgresql83,84,90 and 91

comment:1 Changed 10 years ago by ryandesign (Ryan Schmidt)

Port: soci added

Some comments:

default_variants        +mysql +postgresql

There is no variant called "postgresql". However, "default_variants +mysql" would be ok if you want users to have MySQL support by default.

configure.args          --include-prefix=${destroot}/${prefix}/include \
                        --lib-prefix=${destroot}/${prefix}/lib

There should not be a slash before ${prefix} because ${prefix} already begins with a slash. However, are you sure these lines are necessary at all?

        depends_lib-append port:mysql5-devel

Please depend on the stable port mysql5, not the development version in mysql5-devel. Also please write the dependency so that a user who wants to use mysql5-devel can do so. Refer to any existing port that depends on mysql5 for the correct way to write this dependency using the "path:" style.

                --postgresql-include=${prefix}/include/postgresql \
                --postgresql-lib=${prefix}/lib/postgres

I don't think any of the PostgreSQL variants are correct because the directories they indicate for includes and libraries don't exist.

    default_variants +postgresql83

Why not use postgresql90 as the default, since that is the latest stable version of PostgreSQL?

comment:2 in reply to:  1 Changed 10 years ago by markus@…

Thanks for the comments.

Replying to ryandesign@…:

Some comments: There is no variant called "postgresql". However, "default_variants +mysql" would be ok if you want users to have MySQL support by default.

I think there should be at last one database supported by default. However, I don't know macports policy about it. I changed this to postgresql83 and forgot to remove it from the portfile.

There should not be a slash before ${prefix} because ${prefix} already begins with a slash. However, are you sure these lines are necessary at all?

Corrected. Yes, the lines are necessary as they tell make where to install the library and header files, which - from my point of view - helps to keep the Portfile as small and therefor maintainable as possible. Again: if there is a different policy, I'll be happy to adapt to it.

Please depend on the stable port mysql5, not the development version in mysql5-devel. Also please write the dependency so that a user who wants to use mysql5-devel can do so. Refer to any existing port that depends on mysql5 for the correct way to write this dependency using the "path:" style.

Will do so.

I don't think any of the PostgreSQL variants are correct because the directories they indicate for includes and libraries don't exist.

Corrected. Funny enough, the library was built correctly.

Why not use postgresql90 as the default, since that is the latest stable version of PostgreSQL?

As SOCI's PostgreSQL Backend Reference states it's only tested for PostgreSQL 8.3. The idea behind it was to provide a known good enivironment in case the user does not care about the postgres version.

I'll retest my Portfile and submit it later this day.

comment:3 Changed 9 years ago by raimue (Rainer Müller)

See also ticket #28939 for soci-devel.

comment:4 Changed 9 years ago by titus@…

Owner: changed from macports-tickets@… to titus@…
Status: newassigned

comment:5 Changed 9 years ago by titus@…

Resolution: wontfix
Status: assignedclosed

soci 3.0.0 is pretty outdated and imo quite useless.

since soci is under active development but does not provide new official releases, port soci-devel has been added.

port soci-devel fetches current (sep 2011) sources via git.

Note: See TracTickets for help on using tickets.