Creating a port where a dependency requires the port's source

Yves de Champlain yves at macports.org
Sat Nov 25 11:33:23 PST 2006


Hi

If you need the sources, then you have to include ruby source as an  
additional distfile for oniguruma and will thus have

ruby-dir=${workpath}/ruby

Le 06-11-25 à 12:47, Ashley Moran a écrit :

> Hi
>
> This is my first time writing a Portfile.  I'm trying to write a  
> port so I can install Ruby with the oniguruma regular expression  
> library.  I've created a folder for the test ports, and added  
> file:///Users/ashleymoran/Documents/Development/dports-dev to /opt/ 
> local/etc/ports/sources.conf .
>
> The change to the ruby port is just a variant, but I've created a  
> new port for the time being:
> ~/Documents/Development/dports-dev/lang/ruby-oniguruma/Portfile:
>   ... existing ruby portfile...
>   variant oniguruma {
>     depends_lib-append port:oniguruma2
>   }
>
> And I've made a new port for the oniguruma 2.x:
>
> ~/Documents/Development/dports-dev/devel/onigurama2/Portfile:
>   # $Id: $
>   PortSystem        1.0
>   name              oniguruma2
>   version           2.5.8
>   categories        devel
>   maintainers       work at ashleymoran.me.uk
>   description       A regular expressions library.
>   long_description \
>       Oniguruma is a regular expressions library in which \
>       different character encoding can be specified for every  
> expression. \
>       Version 2.x is for Ruby 1.8
>   homepage          http://www.geocities.jp/kosako3/oniguruma/
>   master_sites      http://www.geocities.jp/kosako3/oniguruma/archive/
>
>   distname          onigd2_5_8
>   checksums   md5   82cd47ded85f854149ae620a9fa728e5
>   #configure.args    --with-rubydir=../../lang/ruby-oniguruma/work/ 
> ruby
>   configure.args    --with-rubydir=/opt/local/var/db/dports/build/ 
> _Users_ashleymoran_Documents_Development_dports-dev_lang_ruby- 
> oniguruma/work/ruby
>
>   worksrcdir        oniguruma
>   build.cmd         make 185
>
> Note the hideous configure.args is just my attempt to locate the  
> source of the ruby port.
>
> But this is where I come unstuck.  This is the install process for  
> oniguruma is this:
>   (in oniguruma directory)
>      1. ./configure --with-rubydir=<ruby-source-dir>
>      2. make 185    # for Ruby 1.8.5
>
> But when I do "port build ruby-oniguruma +oniguruma", it seems to  
> go off and build oniguruma *before* it's extracted the ruby source,  
> so there's nothing in the work directory for it to patch.
>
> Has this build pattern occured before?  Is there any way round the  
> order MacPorts uses for building dependencies?  I'm completely new  
> to this so I thought I'd ask for help.
>
> Also, regardless of whether it's possible to do it cleanly, I've  
> got two questions about the Portfile above:
>
> 1. how do I calculate the ruby work directory for the line  
> "configure.args --with-rubydir="?
>
> 2. although I set build.cmd to "make 185", MacPorts uses the build  
> command "make 185 all".  How do you stop this?
>
>
> Thanks in advance for any advice
>
> Ashley
> _______________________________________________
> macports-users mailing list
> macports-users at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macports-users




More information about the macports-users mailing list