How to best handle GCC plugins in pkg-plist?
Patrick Hess
patrickhess at gmx.net
Sat Nov 14 20:58:44 UTC 2015
Hi there!
The other day I came across an interesting-looking ORM framework,
http://www.codesynthesis.com/products/odb/. My first tests were
quite promising, and before going any further, I thought it might
be useful to have a port for this.
Didn't run into much trouble during the process, except for when
I reviewed the plists and stumbled across this funny line:
lib/gcc5/gcc/amd64-portbld-freebsd10.1/5.1.0/plugin/odb.so
Now, I can use %%TARGETARCH%% and %%OSREL%% to get rid of the
hard-coded platform and OS version strings, but how about the GCC
version number? I skimmed through the Makefiles in /usr/ports/Mk
but couldn't really figure out what to do here.
So what would be the best way to go about this? If at all possible,
I'd prefer not to require a specific version of GCC (other than
USE_GCC=5.0+) and hard code that version number in the plist.
Patrick
PS: Below are the Makefiles for the 4 components that are required
as an absolute minimum to get started with ODB, just in case
someone might be interested.
/usr/ports/databases/odb/Makefile:
_______________________________________________________________________
# $FreeBSD$
PORTNAME= odb
PORTVERSION= 2.4.0
CATEGORIES= databases
MASTER_SITES= http://www.codesynthesis.com/download/odb/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/
MAINTAINER= patrickhess at gmx.net
COMMENT= ODB: C++ Object-Relational Mapping -- Compiler
LICENSE= GPLv3
LIB_DEPENDS= libcutl.so:${PORTSDIR}/devel/libcutl
USE_GCC= 5.0+
GNU_CONFIGURE= yes
USES= libtool
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
.include <bsd.port.mk>
_______________________________________________________________________
/usr/ports/databases/libodb/Makefile:
_______________________________________________________________________
# $FreeBSD$
PORTNAME= libodb
PORTVERSION= 2.4.0
CATEGORIES= databases
MASTER_SITES= http://www.codesynthesis.com/download/odb/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/
MAINTAINER= patrickhess at gmx.net
COMMENT= ODB: C++ Object-Relational Mapping -- Common Runtime Library
LICENSE= GPLv2
GNU_CONFIGURE= yes
USES= libtool
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
.include <bsd.port.mk>
_______________________________________________________________________
/usr/ports/databases/libodb-sqlite/Makefile:
_______________________________________________________________________
# $FreeBSD$
PORTNAME= libodb-sqlite
PORTVERSION= 2.4.0
CATEGORIES= databases
MASTER_SITES= http://www.codesynthesis.com/download/odb/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/
MAINTAINER= patrickhess at gmx.net
COMMENT= ODB: C++ Object-Relational Mapping -- SQLite Runtime Library
LICENSE= GPLv2
LIB_DEPENDS= libodb.so:${PORTSDIR}/databases/libodb \
libsqlite3.so:${PORTSDIR}/databases/sqlite3
GNU_CONFIGURE= yes
USES= libtool
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
# Required for the configure script to find SQLite:
CXXFLAGS+= -I/usr/local/include
LDFLAGS+= -L/usr/local/lib
.include <bsd.port.mk>
_______________________________________________________________________
/usr/ports/devel/libcutl/Makefile:
_______________________________________________________________________
# $FreeBSD$
PORTNAME= libcutl
PORTVERSION= 1.9.0
CATEGORIES= devel
MASTER_SITES= http://www.codesynthesis.com/download/libcutl/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}/
MAINTAINER= patrickhess at gmx.net
COMMENT= C++ utility library for use with databases/odb
LICENSE= MIT
USE_GCC= 5.0+
GNU_CONFIGURE= yes
USES= libtool
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
.include <bsd.port.mk>
_______________________________________________________________________
More information about the freebsd-ports
mailing list