Conversation
|
Hello, libvips maintainer here. This looks nice! I noticed:
|
|
Hey @jcupitt thanks for coming by! :D About using HEAD, it's for coming around an issue: libvips/libvips#4819 Thanks for the dependencies list, I think it's up to the comunity to choose which dependencies we need to support. BTW, regarding dependencies, I'd prefer any way to sync them automatically, so we don't have to keep maintaining different sources of truth every time there's an update |
|
Regarding optional dependencies, I don't know the vcpkg policy here. Homebrew's policy (for example) is to include all possible dependencies and hope that that reduces the need for source compiles by users. libvips has a feature to make this safe: you can set the env var That won't fix licence issues though. For example, poppler is GPL and I expect many vcpkg users will not want to expose themselves to potential legal problems by using it. PDFium would be a safer choice, if possible. |
|
We're hoping to get 8.18.1 done in a few days, so hopefully it's not a problem.
It's tricky, unfortunately. Every package manager uses different names for packages (!!!??! argh), and everyone will have strong views about which packages they should include or not include (eg. poppler vs. PDFium). It would be hard to have a single source of truth :( |
awesome :D Regarding dependencies, let's see if someone from vcpkg can tell us more about it. |
|
|
|
Yep, the idea is to wait for the new 8.18.1 version to use that one as official :) And about options and dependencies, the idea also, was to make libvips with the lesser or default options as a minimal build, and through vcpkg features add those options like I have now for adding png support, tiff support, etc. |
|
EDIT: oops, now I read a bit more I see vcpkg is source only, sorry for any confusion!
I think that would need users to compile the thing from source, wouldn't it? Doesn't vcpkg ship binaries? libvips has a plugin mechanism which is used for loaders like heic and openslide, have a look in lib/modules: So those could be shipped separately as binaries, but I imagine that's probably too complex. It'd be simpler to have a separate eg. |
|
Oh, I'm don't know about shipping binaries, I think I read somewhere it was discouraged unless it was really necessary. |
Owner-Projectform.vcpkg.json, or explicitly disabled through patches or build system arguments such as CMAKE_DISABLE_FIND_PACKAGE_Xxx or VCPKG_LOCK_FIND_PACKAGEvcpkg.jsonmatches what upstream says.vcpkg.jsonmatches what upstream says../vcpkg x-add-version --alland committing the result.Hey folkz!
I'd like to add the libvips port :) ( https://github.com/libvips/libvips )
I know it has
libas prefix, but if you look for it everywhere is usinglibvipsas the name, also, the github repo is calledlibvips/libvips.In repoloy webpage I can see some repositories using it as libvips, or as vips only. (BTW: the https://repology.org//versions url doesn't seem to work)
libvips on google:

Furthermore, if you remove the lib prefix, you can confound it with a sandwich restaurants chain :P
vips on google:

I'll let the owner and team of libvips/vips about this PR for if they want to say anything too.
Let me know if I should change the port name to
vipsonly instead.A couple thing that I'd like to discuss:
I set this in the portfile in the meantime:
Is there any workaround to use the --head flag from my projects' vcpkg.json manifest?
I was taking a look at this conversation: #17805 but I didn't find any way to force using head version.
I've put some optional dependencies as features in the port, they're listed here:
** https://github.com/libvips/libvips?tab=readme-ov-file#optional-dependencies
** https://github.com/libvips/libvips/blob/master/meson_options.txt
Is there a way to automatically parse those options in the .txt file and provide them in the vcpkg.json or in any other way so we don't have to keep maintaining the port if anything upstream changes?
I guess that if there's no way, I should put every option in libvips as a feature in vcpkg, isn't it?
About the usage file, as it doesn't provide any cmake files to use, when building the port it shows the following snippet,I think it's enough, let me know if there's any better way to show it:
I'm still working on building and linking libvips with the project I'm working on, but I wanted to open this draft PR to discuss anything related or missing about the configuration in the different platforms so we can team up.
Let me know if there's any suggestion, improvement, etc.
Thanks! :)