Created attachment 163956 [details] patch USES=bundle simplifies bundling ports with submodules taken from the other repositories. # example use USES+= bundle BUNDLE+= 3rdparty/easyloggingpp:easyloggingpp BUNDLE+= 3rdparty/qtconsole:qtconsole BUNDLE+= src/resources/qml/3rdparty/php-unserialize-js:php-unserialize-js # bundled distfiles might be defined like this GH_TUPLE+= easylogging:easyloggingpp:f926802:easyloggingpp GH_TUPLE+= uglide:QtConsole:0e7c88c:qtconsole GH_TUPLE+= RedisDesktop:php-unserialize-js:a4d804f:php-unserialize-js In case of USES=bundle extract will only extract the default distfile, and the rest will be extracted into the specified subdirectories. The idea of USES=bundle was inspired by git submodules (which are used a lot now). Many projects now recommend to use > git submodule update --recursive to update git submodules. In this case USES=bundle should be used.
Created attachment 163961 [details] patch
I have something like this on the way, though, a bit simpler.
For example, it is simpler to let do-extract extract everything, and then only move things around.
If do-extract extracts everything under WRKDIR/, then you need to move the contents of the folders, not the folders themselves. Another custom step. The extract that I suggested looks simpler and more standard. -)
Why can't you move the folders ? Because it works just right here.
Because the folders are supplied by the parent repository, and they might already have some files in them. If you move the directories, this means you need to delete the originals first with their contents. Why force the additional restrictions? Let authors decide how they bundle things.
Created attachment 164186 [details] patch Added BUNDLE_ROOT variable.
Created attachment 164803 [details] patch
This was implemented with GH_SUBDIR.