Date: Thu, 13 Oct 2005 13:54:56 +0400 (MSD) From: Alexander Novitsky <alecn2002@yandex.ru> To: FreeBSD-gnats-submit@FreeBSD.org Cc: alecn2002@yandex.ru Subject: ports/87366: [PATCH] devel/ruby18-freeride: [Fix fetch error] Message-ID: <200510130954.j9D9suoB091953@server.v42of.icc-vvd.ru> Resent-Message-ID: <200510131000.j9DA0SgL060809@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 87366 >Category: ports >Synopsis: [PATCH] devel/ruby18-freeride: [Fix fetch error] >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Thu Oct 13 10:00:28 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Alexander Novitsky >Release: FreeBSD 5.4-RELEASE i386 >Organization: >Environment: System: FreeBSD server.v42of.icc-vvd.ru 5.4-RELEASE FreeBSD 5.4-RELEASE #1: Fri May 13 16:59:19 MSD 2005 >Description: Fixed fetch error (see http://people.freebsd.org/~fenner/portsurvey/devel.html#freeride). Prepared this to be a master port for repocopied devel/freebase Reworked installation script to accept --prefix option - for port test purposes. Port maintainer (alecn2002@yandex.ru) is cc'd. Generated with FreeBSD Port Tools 0.63 >How-To-Repeat: >Fix: --- ruby18-freeride-0.9.4_1.patch begins here --- Index: Makefile =================================================================== RCS file: /home/ncvs/ports/devel/freeride/Makefile,v retrieving revision 1.7 diff -u -r1.7 Makefile --- Makefile 1 Aug 2005 16:54:45 -0000 1.7 +++ Makefile 13 Oct 2005 09:52:28 -0000 @@ -5,36 +5,46 @@ # $FreeBSD: ports/devel/freeride/Makefile,v 1.7 2005/08/01 16:54:45 lawrance Exp $ # -PORTNAME= freeride +PORTNAME?= ${MASTERPORTNAME} PORTVERSION= 0.9.4 +PORTREVISION= 1 CATEGORIES= devel ruby -MASTER_SITES= http://rubyforge.org/frs/download.php/3931/ +MASTER_SITES= http://rubyforge.planetargon.com/${MASTERPORTNAME}/ PKGNAMEPREFIX= ${RUBY_PKGNAMEPREFIX} DIST_SUBDIR= ruby MAINTAINER= alecn2002@yandex.ru -COMMENT= Ruby Integrated Developement Environment written in Ruby +COMMENT?= Ruby Integrated Developement Environment written in Ruby -RUN_DEPENDS= ${RUBY_SITEARCHLIBDIR}/fox12.so:${PORTSDIR}/x11-toolkits/ruby-fox-devel \ - ${RUBY_SITELIBDIR}/freebase/freebase.rb:${PORTSDIR}/devel/freebase \ - ${RUBY_SITEARCHLIBDIR}/rrb_ripper.so:${PORTSDIR}/devel/ruby-rrb +MASTERPORTNAME= freeride +DISTNAME= ${MASTERPORTNAME}-${PORTVERSION} USE_RUBY= yes NO_BUILD= yes +# IF >>>>>> + +.if ${PORTNAME} == ${MASTERPORTNAME} +RUN_DEPENDS= ${RUBY_SITEARCHLIBDIR}/fox12.so:${PORTSDIR}/x11-toolkits/ruby-fox-devel \ + ${RUBY_SITELIBDIR}/freebase/freebase.rb:${PORTSDIR}/devel/freebase \ + ${RUBY_SITEARCHLIBDIR}/rrb_ripper.so:${PORTSDIR}/devel/ruby-rrb + post-patch: ${CP} ${FILESDIR}/install.rb ${WRKSRC}/ do-install: - cd ${WRKSRC}; ${RUBY} install.rb + cd ${WRKSRC}; ${RUBY} install.rb --prefix=${PREFIX} post-install: ${INSTALL_SCRIPT} ${FILESDIR}/freeride ${PREFIX}/bin - ${CHMOD} a+w ${RUBY_SITELIBDIR}/freeride/config + ${CHMOD} a+w ${RUBY_SITELIBDIR:S|${LOCALBASE}|${PREFIX}|g}/freeride/config # # For testing of installation, no real install # install-noharm: build pre-install cd ${WRKSRC}; ${RUBY} install.rb --no-harm +.endif + +# <<<<<< IF .include <bsd.port.mk> Index: files/install.rb =================================================================== RCS file: /home/ncvs/ports/devel/freeride/files/install.rb,v retrieving revision 1.4 diff -u -r1.4 install.rb --- files/install.rb 1 Aug 2005 16:54:46 -0000 1.4 +++ files/install.rb 13 Oct 2005 09:52:29 -0000 @@ -1,17 +1,57 @@ require 'rbconfig' require 'find' require 'ftools' +require 'getoptlong' Dir.chdir ".." if Dir.pwd =~ /bin.?$/ +class Prefixizer + attr_reader :orig_prefix, :my_prefix + + def initialize( orig_prefix = "/usr/local", my_prefix = nil ) + self.orig_prefix = orig_prefix + self.my_prefix = my_prefix + end + + def orig_prefix=( orig_prefix = "/usr/local" ) + @orig_prefix = orig_prefix + end + + def my_prefix=( my_prefix = nil ) + @my_prefix = my_prefix + end + + def prefixize( str ) + my_prefix ? + str.gsub( Regexp::compile( "^#{Regexp::escape(orig_prefix)}" ), my_prefix ) : + str + end +end + include Config +prefixizer = Prefixizer.new( CONFIG["prefix"] ) +no_harm = false + +opts = GetoptLong.new( + [ "--no-harm", "-n", GetoptLong::OPTIONAL_ARGUMENT], + [ "--prefix", "-p", GetoptLong::OPTIONAL_ARGUMENT] +) + +opts.each { |opt, arg| + case opt + when "--no-harm" + no_harm = true + when "--prefix" + prefixizer.my_prefix = arg + end +} + FREERIDE = "freeride" -$srcdir = CONFIG["srcdir"] $version = CONFIG["MAJOR"]+"."+CONFIG["MINOR"] -$libdir = File.join(CONFIG["libdir"], "ruby", $version) -$archdir = File.join($libdir, CONFIG["arch"]) -$site_libdir = CONFIG["sitelibdir"] +$libdir = prefixizer.prefixize( CONFIG["rubylibdir"] ) +$archdir = prefixizer.prefixize( CONFIG["archdir"] ) +$site_libdir = prefixizer.prefixize( CONFIG["sitelibdir"] ) $libdir = ["config", "plugins", "redist"] $libdir_excl = [ /CVS[^\/]*$/, /i[36]86-/, /^rrb\//, /\.so\s*$/, /ripper/ ] @@ -19,7 +59,6 @@ class Array def contains? - return false unless defined?( yield ) each { |e| return true if yield( e ) } return false end @@ -40,7 +79,7 @@ class String attr_accessor :localDir - + def rmLocal localDir = "/usr/local/" if localDir.nil? gsub( Regexp.new( "^#{Regexp.escape(localDir)}" ), "" ) @@ -98,7 +137,6 @@ $stdout.flush end -no_harm = (ARGV.include_like?(/\A^-[a-zA-Z0-9]*n/) or ARGV.include?("--no-harm")) $stderr << "No-harm install\n" if no_harm $stderr.flush install_rb( no_harm ) --- ruby18-freeride-0.9.4_1.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200510130954.j9D9suoB091953>