natcl / max_package_downloader

A utility to download Packages from within Max
41 stars 7 forks source link

platform support #1

Closed emmanueljourdan closed 11 years ago

emmanueljourdan commented 11 years ago

It would be nice if mac_package_downloader would support downloading platform specific libraries:


----------begin_max5_patcher----------
449.3ocyU1rSCCCCG+b6SQTNOPMs6S3DOG.Bk0ZFA0lVkjBCl16NINoitogf
UzPboQw1M19W961MwQzk0qAMkbE4VRTzl3nHzjyPTXeDshuNujqwvnUfVyWA
zQdex1p5VSIXPurf0FtI+Igb0CJH23O8L13KSFQRyl4VXYKvk4WlPtO7ROVK
MZw6.dPoV2dyhBLu0Ke9h4zdgJ4UXnzaTBdYmmFEnAogaD0xdYOcwLe1Ytkj
vico11EBYWSjFL56KyaMf+LnTx8NOaiicOFclAFKk0CXSRF.ul8875b14R3U
aUzkICrF6LphneSafpAHgPhvVLAIxTDOImDQFehDI4rpE1gjquSYiirxlUDM
GPnRgDxqakl9WRmL1R8ibYYtE2fvIvsICdxa+r+mN48k5OtxxHisDaUCdtLn
BmyFfJL6+tJzAniRoemRrCcAk33gnDSOOeSCq.r8N3ugXa3ruOP00sp7tiJ7
kExm8QAnMBINKzKF6+uHrcw7jnn.j8ueKDZ9xR.a1jidw9SqlreP0LafUiGU
7llW.kNbjXgXUYOWqbamNB2Jj9snjfpfWDcwmgV1Sg4tFWOcLM1kmswe.76n
ETE
-----------end_max5_patcher-----------
natcl commented 11 years ago

Good idea, and we can then filter the list according to the platform the person is on.

emmanueljourdan commented 11 years ago

It would also allow to have a different download link depending on the platform. Zsa.descriptors for instance comes in 3 spices ;-)

natcl commented 11 years ago

What I think we could do is have multiple links per package meaning for example we could have something like this:

"Zsa.descriptors": { "version": "1.0", "link_mac": "http://www.e--j.com/dl/zsa.descriptors_1.0_nc_mac.zip", "link_win32": "http://www.e--j.com/dl/zsa.descriptors_1.0_nc_win32.zip", "llink_win64": "http://www.e--j.com/dl/zsa.descriptors_1.0_nc_win64.zip", "relative_path": "None" }

Packages with only link specified would be assumed to be universal and would show for everyone. Packages with multiple platform would download the link according to that platform.

emmanueljourdan commented 11 years ago

Sounds good. For the mac, it might be useful to also have a distinction between 32 and 64 bits, in case only one architecture is present (most of the externals are currently 32 bits only). Although this might be even more useful for #3.

tap commented 11 years ago

FWIW, with TapTools and Jamoma my intention is to have a single package that has all of the platform binaries in it (universal). The externals folder will include .mxo, .mxe, and .mxe64 versions of all objects.

I think this is preferable for building collectives and standalones, but of course everyone may have their own opinions or only offer objects for a single platform.

natcl commented 11 years ago

I agree with Tim about universal packages, I think it's easier if Packages are universal. I think platform support is still required for packages that are platform specific. For example, jit.gl.hap only works on Mac 32 bits so it would make sense to only show it for that platform.

emmanueljourdan commented 11 years ago

I agree on both ;-)

natcl commented 11 years ago

Emmanuel, I had a question regarding multiple packages per platform:

In the case of zsa.descriptors, since you have 3 packages, what happens if someone uses both win and mac or 2 architectures on Windows ? Since all packages live in the same folder regardless of the architecture/platform, how should we handle this ? For example, I could rename the folder with the achritecture/platform zsa.descriptors-win64 but if you have both in the packages, it could result in some conflicts because some files might be duplicated between packages ? Should Cycling have different Pacakges folder for each platform ?

Nat

natcl commented 11 years ago

Now implemented !