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
