From owner-freebsd-ports@freebsd.org Sat Nov 14 20:58:44 2015 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 19AABA2F8BE for ; Sat, 14 Nov 2015 20:58:44 +0000 (UTC) (envelope-from patrickhess@gmx.net) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 760DC1B39 for ; Sat, 14 Nov 2015 20:58:42 +0000 (UTC) (envelope-from patrickhess@gmx.net) Received: from desk8.phess.net ([95.88.166.205]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0MEnjW-1aCY890uQE-00G12a for ; Sat, 14 Nov 2015 21:58:35 +0100 From: Patrick Hess To: freebsd-ports@freebsd.org Subject: How to best handle GCC plugins in pkg-plist? Date: Sat, 14 Nov 2015 21:58:33 +0100 Message-ID: <25463892.IZhL4yp0Ht@desk8.phess.net> User-Agent: KMail/4.14.3 (FreeBSD/10.1-RELEASE-p24; KDE/4.14.3; i386; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:RT9ScjHntNgz317YshTLDbIWrpZ3EjaY09/K70tc+/v7dS/0byT QvTXzmOxNw1lHAsIfrg1jUkrXA2IjoMqVdXaA9mlSEjNEgjYaaukTP4ZAAIDee9ARquO/te F+DROSHui1Ji9oEZyowMLIrU+tr0gfoNwziUmSmvxbqlnz2EIpnSSvEgNDDSuAPeL+ThHOl oFgnfX94L8XDBbeDm7flA== X-UI-Out-Filterresults: notjunk:1;V01:K0:FoH+0dv4Mq8=:nx4Ujf5aISvp0HKJbibIOU Y9nnCh810B1+T/BC4SgxWWAGjb4KpPoiIXhPW3hYlfMVxc7jR5dWRLEuStMZgapTH1Lqf3ohf 4fRJtn+tsOv0M/Styw8Rm0Hi/WPlgtu4/2hP2hOCCnb20HRS0dUDL17/dOdDaqb3aPvoxmcgi NFEoXzYMj198qRNwQBgLyP/ckSBsl+HNnRVXP/hZg83x7emkjmNkABSIVFvG8kQIBcd2xUAhu DSB89+gu1soj6Bir7/h77zhX6dHAnbTEr+U6rmNZy3mB77DrB/WHVIkICCO5Qo2ffHhvKFi7d Ktfd/t0L59mbUm8gjhPY627zCdfZOSqpGNbBZI6A5V5ooYjHo0lDeVNC5oieHI0VHmuW6Ip/m 72WwVYj82NrVmV/RS/QhWxeJHYGcDko/3GKSscpvKMIV587NZ1QFZOnje3D3DiJy5xL9HRA+I 4QVZ8yQWqT4e3tRMYZm5OsNA3nHaaovjEbxUVds2EELVqnmJLhjrkRByZZm7QsfQZnI3kv7WC Tlid3fyZH79RR1kZbry2rbv+OisCxMOVRe3wVvvgAWfbJ2yIOdY7pms4HRbj3ngbBN4ql9lJw SyPFGeahC+hLUaOVm9geuZ279bzM1UJmQ05XcM9XqW7U8M24L4M333cbVBiq/eWjU9q61jQuK wGz9/V+xs/QdSEHP7xx22PFQNKvSrgHDNZcLbpxkk4PmUm/VMiBdT4Hh+zC+p5U7G95utcaup YXjF4e1JN5JT5FsNoGzlWhADDCndXqfftd4ptk8LtbdSMZ5nXDIju5EOL7MMVmpSlRZ/T9Lk2 kiJPTOy X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Nov 2015 20:58:44 -0000 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@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 _______________________________________________________________________ /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@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 _______________________________________________________________________ /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@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 _______________________________________________________________________ /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@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 _______________________________________________________________________