From owner-freebsd-ports@FreeBSD.ORG Wed Jan 4 12:00:07 2012 Return-Path: Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 048351065677 for ; Wed, 4 Jan 2012 12:00:07 +0000 (UTC) (envelope-from ohauer@FreeBSD.org) Received: from p578be941.dip0.t-ipconnect.de (p578be941.dip0.t-ipconnect.de [87.139.233.65]) by mx1.freebsd.org (Postfix) with ESMTP id B3EBC8FC0C for ; Wed, 4 Jan 2012 12:00:06 +0000 (UTC) Received: from [192.168.0.100] (cde1100.uni.vrs [192.168.0.100]) (Authenticated sender: ohauer) by p578be941.dip0.t-ipconnect.de (Postfix) with ESMTPSA id 31DA5207C9 for ; Wed, 4 Jan 2012 13:00:02 +0100 (CET) Message-ID: <4F043F4F.2070107@FreeBSD.org> Date: Wed, 04 Jan 2012 13:00:15 +0100 From: Olli Hauer User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 To: freebsd-ports References: <4F036A7F.1000908@FreeBSD.org> In-Reply-To: <4F036A7F.1000908@FreeBSD.org> X-Enigmail-Version: 1.3.4 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Cc: Subject: Re: How to detect the version of a installed perl module during portbuild X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-ports List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jan 2012 12:00:07 -0000 On 2012-01-03 21:52, Olli Hauer wrote: > Hi, > > I'm searching a solution to detect the version of p5-JSON-RPC during build time. > > JSON-RPC-1.01 is *not* backward compatible to 0.96 so I have to apply a fix to the port only if JSON-RPC > 0.96 is installed. > > >>From http://cpansearch.perl.org/src/DMAKI/JSON-RPC-1.01/Changes > 1.00_01 2011 Nov 16 > - If you are using old JSON::RPC code (up to 0.96), DO NOT EXPECT > YOUR CODE TO WORK. THIS VERSION IS BACKWARDS *INCOMPATIBLE* > ...................................................^^^^^^^^^^^^^^ > Thanks for all the suggestions ;) Meanwhile the following solutions was suggested from upstream (will be implemented as patch in the port) -use base qw(JSON::RPC::Server::CGI); +BEGIN { + eval { require JSON::RPC::Server::CGI; }; + if ($@) { + require JSON::RPC::Legacy::Server::CGI; + our @ISA = qw(JSON::RPC::Legacy::Server::CGI); + } + else { + our @ISA = qw(JSON::RPC::Server::CGI); + } +} -- olli