[Shipwright] Shipwright help
Benjamin Hitz
hitz at stanford.edu
Mon May 16 18:22:09 EDT 2011
On May 16, 2011, at 3:13 PM, Benjamin Hitz wrote:
>
> Let's say (real example)
> I have a git distribution of a perl package which normally depends on a cpan module. I want to make it depend on the git/repo version of that perl module instead.
>
> The example is I have a perl package (based on a package called Bio-Graphics-Browser2) which depends on Bio-Perl. However, Bio-Perl (like Gbrowse itself) is highly unstable and often needs to be updated directly from git (or svn, but you follow).
>
> So when I import the main package it has a line for
> requires:
> cpan-Bio-Perl:
> version blah
>
> I can change this to
> requires:
> bioperl-live.git: (which is what Shipwright calls the thing when I import the git repo)
>
> Should I set a version? Or does this map to revision number, or should I leave this blank?
>
> And this is only for perl modules... if I have a perl module that depends on some C program (and a bunch of these do) can I specify in the require.yml or do I have to write a custom build script?
>
> Thanks,
> Ben
>
>>
>> Hi Ben
>>
>> When importing, it's true that Shipwright will run Build.PL, its aim is to
>> get a more accurate dependency list, no other intensions at all.
>> you can specify --require-yml to tell Shipwright the dependency directly, in
>> this case Shipwright won't run Build.PL at all.
>> I attached an example of require.yml so you know what it looks like.
>>
>> When building, the build script for each dist lives in scripts/dist-name/build,
>> you can hack it what ever you want, look Shipwright::Manual::CustomizeBuild
>> for more info about this.
>>
>>
>> best wishes
>> sunnavy
>>
>> On 11-05-13 10:48, Benjamin Hitz wrote:
>>> Fernan, Nicholas, Sunnavy -
>>>
>>> I have some general questions about Shipwright and in particular trying to import a couple of perl mods: Bio::DB::BigFile (Bio-BigFile-1.06) and Bio::DB:Sam (Bio-SamTools-1.28). These are (optional, but I need them) dependencies for other the main application (GBrowse, which has a big tangled dep tree).
>>>
>>> Where I am a little stuck is that Bio-BigFile depends on a C software "package" (actually just 2 files a .h and library for linking) called jkent. The problem is that the Build.PL for Bio-BigFile is written strangely and interactively. When shipwright import is run it of course tries to install the cpan package, which in turns looks for the jkent libraries. I can put the jkent files in the shipyard... but I am not sure how to answer the questions about where to tell BigFile to find the files it needs... It can use an env variable to find them, so I guess there must be some protocol for setting an ENV variable within the shipyard build process.
>>>
>>> I guess what is tripping me up philosophically is that when the Build script is run - it is looking for the libraries ON THE BUILD MACHINE not the final destination... how do I specific "use the libraries that were installed when shipwright installs the jkent from source).
>>>
>>> Hope that make some amount of sense. This is my first attempt at using Shipwright, but if it works for this project I would like to use it for some Catalyst apps (yet-to-be-written) as well.
>>>
>>> Also, if there is a mailing list or irc channel, you could point me to it...
>>>
>>> Thanks for your time,
>>> Ben
>>>
>>>
>>> --
>>> Ben Hitz
>>> Senior Scientific Programmer ** Saccharomyces Genome Database ** GO Consortium
>>> Stanford University ** hitz at genome.stanford.edu
>>>
>>>
>>>
> <require.yml>
>>
>
> --
> Ben Hitz
> Senior Scientific Programmer ** Saccharomyces Genome Database ** GO Consortium
> Stanford University ** hitz at genome.stanford.edu
>
>
>
--
Ben Hitz
Senior Scientific Programmer ** Saccharomyces Genome Database ** GO Consortium
Stanford University ** hitz at genome.stanford.edu
More information about the Shipwright
mailing list