Dedupe libvips-42.dll for windows users

See original GitHub issue

Feature request

As Windows doesn’t come with libvips, Sharp convenient bundles it in as a .dll file, but it bundles it in twice: once in build/release and then again in vendor/8.13.2/win32-x64/lib. Given that it’s a whopping 21Mb, deduplicating that would be an excellent idea. (The same applies to libglib-2.0-0.dll, libvips-cpp.dll, and libgobject-2.0-0.dll, which take up a combined additional 2Mb)

The two most obvious options I can think of would be:

  • remove the vendor dir from the Windows build before packing up the release, or
  • make the .dll files in build/release Windows symlinks instead of real files.

Either would cut the Windows release size in half.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
lovellcommented, Oct 19, 2022

@Julusian I think it will be OK as prebuild-install won’t delete anything. Running node-gyp will delete build, hence the current implementation that always copies the latest DLL files.

Perhaps, as part of this proposal, we should also add logic to dll-copy that verifies build has the expected files, especially if vendor is empty?

0reactions
Julusiancommented, Oct 19, 2022

How will removing these duplicate files interact with prebuild-install?

It is not uncommon for prebuild-install to be run each time an electron build is produced. In one project I have made it manually invoke the postinstall commands, to allow for cross-compiling the electron app https://github.com/bitfocus/companion/blob/master/tools/build_prepare.mjs

Read more comments on GitHub >

github_iconTop Results From Across the Web

cannot load library 'libvips-42.dll' · Issue #44 - GitHub
I tried on my win10 PC and it installed OK following the instructions. Download py 3.6 64-bit from python.org and install, including adding...
Read more >
Windows Server deduplication: How it works, how to install
A departmental file server is a good example that helps visualize how there may be vast amounts of duplicated data. In a large...
Read more >
how install libvips NetVips in Azure cloud - Error:Unable to ...
I setup my local environment by saving libvips win64 in a folder in my windows 10 PC, added libvips bin folder to environment...
Read more >
Dedupe Guide - DOE Joint Genome Institute
Dedupe was written to eliminate duplicate contigs in assemblies, and later expanded to ... dedupe.sh in=X.fq pattern=cluster%.fq ac=f am=f s=1 mo=200 c pc...
Read more >
Can I use MarcEdit to dedupe records in a delivered file
The user will need to de-dupe the files before uploading them into their ILS. ... MarcEdit Record DeDuplication with a MARC File for...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found