-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
System for patch authors to specify externals dependencies for end users of a patch. #122
Comments
hmm, i think the dependency handling should be either in the patch or outside.
my gut feeling prefers the menu (as this would allow a nicer fallback if the dependency resolver is not installed). |
regarding the format: i guess JSON would be great (if parseable on the reader-side (think tcl!)) as for the maybe add an (optional) argument to the dependency line that specifies where the external ought to be unzipped.
|
Starting with the simple part: a file containing a list of objects names and descriptions next to the zipped/tarred library on puredata.info could help find objects within libraries via deken. Assuming a tcl-json parser could be found/constructed, the file could look like the example below. Creating the file should be a distributors' task and be decentralized. The information could be harvested from the META sub-patched Jonathan added to most pd-extended help-patches years ago. A deken module retrieving the data and make it searchable could be next (I'll try). Complete file at: http://puredata.info/Members/fjkraan/software/tof/0.2.0/tof-v0.2.0-Objects.json
|
i did a (brief) search for a json-parser in tcl a few months ago and it didn't reveal much. |
There is a package that puts a json structure in a dictionary/list contraption, and it appears to work, at least with the current version of the online json example. It is is quite picky on which character to escape with either one or two backslashes. tclsh odeken.tcl <tof-objectName> |
I'm windering if this isn't too big a tool for the job - rather than have object-name library ... ? cheers On Mon, Jun 27, 2016 at 12:47:45PM -0700, Fred Jan Kraan wrote:
|
That would simplify it a lot. It would be nice to have some object and library meta-data available, but it isn't an essential part of the object search. |
@millerpuckette wrote:
If I was writing the code this would be my preference. @electrickery I think that some "object and library meta-data" information is not mutually exclusive from "simple text file format". It's probably a matter of deciding what are the really salient non-redundant bits of info and then allowing optional extra fields in the simple text file format. |
Python's https://pip.readthedocs.io/en/1.1/requirements.html Here's what it looks like:
You can see above how it's possible to specify:
I'm not even sure if we need to get this complicated but I think it's basically a good model to follow. |
i think this thread was hijacked (and i didn't realize it and took the bait)
the two are somewhat related (the 2nd would help creating the 1st) but rather orthogonal. |
This issue is over 2 years old, but still interesting conversation. From a user perspective, wouldn't it be much better if Pd would just attempt to open a file, chencs for objects whcih can't be created, finds in a database which libraries offer them (for ambiguous ones taking clues from [declare -lib xy] objects if present) and then offers the user to download and install them via deken. My apologies if I have missed something. |
@umlaeute indeed it is. |
This would work like Python's
requirements.txt
or Ruby'sGemfile
or Node'spackages.json
and allows a patch author to specify exactly which externals their patch depends on.See also #84.
The patch author should do three things:
pd-dependencies.txt
to go with their patch.[declare -path pd-dependencies/zexy]
for example.[deken-dependencies]
object in their patch.(maybe 2 & 3 could be combined)
I suggest a format as follows for
pd-dependencies.txt
:Note in this example the patch author has specified the exact URL for the 'cyclone' externals set.
The end user can now:
[deken-dependencies]
object.pd-dependencies.txt
; andpd-dependencies
; andpd-dependencies
folder.Suggest we start with the simplest possible iteration that works and don't try to solve every problem in an automated way.
@millerpuckette @umlaeute
The text was updated successfully, but these errors were encountered: