On Jan 16, 2012, at 4:36 PM, Ryan Schmidt wrote:

> 
> On Jan 16, 2012, at 10:21, Mark Brethen wrote:
> 
>> The Reduce subversion repository for quite large. If you do not use CSL at 
>> all (ie you are just fetching for PSL) you can just exclude the csl 
>> directory and save a LOT. Additionally csl/support-packages contains code 
>> that you will not actually use during the build but is included to try to be 
>> extra careful that (L)GPL rights holders are kept content, and some things 
>> that are not even (L)GPL but are nevertheless imported from elsewhere are 
>> put there for reference and politeness so that people can see the original 
>> form of them. The README.* files there are intended to comment on provenance 
>> and licencing. An individual who is just building Reduce but does not intend 
>> to redistribute it does not need any of that 80 Mbytes!
>> 
>> Similarly when building just for CSL you do not need the 30+ Mbytes of PSL 
>> stuff. And in both cases, jlisp or jslisp would not be needed. 
>> 
>> Individual modules could be checked out using:
>> 
>> svn co [repo]/trunk/[module] [target-directory]
>> 
>> This could then be tailored to each subport. What might this look like in a 
>> portfile?
> 
> Consider, as Daniel said, making a distfile or distfiles. Consider writing a 
> script or scripts (in bash, perl, whatever you're comfortable with) to 
> automate this. For example, write one script that checks out a working copy 
> from the repository, using however many svn commands to manipulate the depth 
> of various directories to include and exclude the parts that are needed. You 
> would run this once. Then, a second script that updates that working copy to 
> a particular version and creates e.g. a .tar.xz file from it. You would run 
> this whenever you want to update the port. You would upload this .tar.xz file 
> to your web space and reference the URL to your web space in the portfile. 
> Or, if you have no web space, you can work with admin -at- macosforge.org to 
> get the file transferred directly to our distfiles mirror.
> 
> If the CSL and PSL versions of reduce differ greatly, maybe you need two 
> distfiles, one for each. And two sets of scripts. Or scripts that can be told 
> which version to check out or build for.
> 
> If the CSL and PSL versions of reduce have many files in common, maybe you 
> need three distfiles -- one for the common stuff, and one each for the files 
> that vary in CSL and PSL.
> 
> If the common files are installed in common locations, and both the CSL and 
> PSL versions share them, maybe you need three ports or subports: one for the 
> common files and one each for the CSL and PSL versions (they would declare a 
> dependency on the common (sub)port).
> 
> 

Right now, svn is necessary for testing the developer's mac-specific changes to 
his code. It sounds like I should just not submit the port until the changes 
are implemented into a tarball at the developer's sourceforge site.


Mark




_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to