notcurses icon indicating copy to clipboard operation
notcurses copied to clipboard

get packaged in vcpkg

Open dankamongmen opened this issue 4 years ago • 13 comments

vcpkg looks very easy to get into, much more so than conan. let's try to do so before 3.0.

dankamongmen avatar Jul 01 '21 02:07 dankamongmen

Wouldn't using an msi installer be easier? Since this is a library, it should just be matter of creating some dlls that get included by various Windows applications as needed or installed globally with the env var set that applications can point to.

WSLUser avatar Jul 06 '21 13:07 WSLUser

Wouldn't using an msi installer be easier? Since this is a library, it should just be matter of creating some dlls that get included by various Windows applications as needed or installed globally with the env var set that applications can point to.

maybe? i'm not familiar with windows idioms. i'm envisioning both a msi released from the web page, and a package put into vcpkg repositories. as a linux user, i fear and loathe installing random-ass binaries; i want everything to come from my package manager, or source. i know that on windows it's different. most important to me is that updates be delivered regularly.

we need be in vcpkg for other vcpkg packages to use us, right? if so, that's sufficient reason in and of itself.

dankamongmen avatar Jul 06 '21 20:07 dankamongmen

we need be in vcpkg for other vcpkg packages to use us, right?

I'm not so sure about that but I can agree being available via multiple methods is never a bad thing.

i fear and loathe installing random-ass binaries; i want everything to come from my package manager,

Introducing Scoop, Chocolately, and Winget (maybe a few other minor ones).

See https://github.com/microsoft/terminal#other-install-methods - I'd like this library to have the same methods (including the github in which you can include a hash that's verifiable).

WSLUser avatar Jul 08 '21 13:07 WSLUser

See https://github.com/microsoft/winget-pkgs/pulls, https://github.com/lukesampson/scoop-extras/pulls, and https://docs.chocolatey.org/en-us/create/create-packages.

These will all likely require you to create an msi installer which is used by these package managers. Apparently Chocolately can even work on Linux now, so you'd likely want to add your Linux packages to it as well (you can always include the latest versions far more easily than having to work with the Linux repo maintainers for each distro)

WSLUser avatar Jul 08 '21 13:07 WSLUser

once i have Notcurses building on windows, is this something you'd be of a mind to assist with? i'd like very much to offload some of that work, especially to more experienced people.

you're also of course encouraged to help get it building on windows yoursefl! =]

dankamongmen avatar Jul 08 '21 23:07 dankamongmen

I've not actually had to package something up before. But the documentation is pretty decent: https://docs.microsoft.com/en-us/mem/configmgr/develop/apps/how-to-create-the-windows-installer-file-msi. Also see https://stackoverflow.com/questions/2526891/build-msi-to-install-dll-and-make-it-accessible-from-add-references-in-vs

You will find when it comes to Windows, using VS is your friend.

WSLUser avatar Jul 09 '21 14:07 WSLUser

https://github.com/keepassxreboot/keepassxc/tree/develop/share/windows shows how they've packaged up an msi installer. You could probably copy and adjust the project specific parts.

WSLUser avatar Jul 09 '21 15:07 WSLUser

apparently vcpkg has pretty tight integration with cmake, and seems to be the de facto standard for distributing c/c++ libraries, whereas scoop and winget and friends seem more focused on distributing binaries. i'd like to be in all of them, but vcpkg might be the most important, unsure.

dankamongmen avatar Sep 23 '21 09:09 dankamongmen

i accidentally let this go stale on the other side, confusing it with conan. let's get that PR reopened and work on it.

dankamongmen avatar Oct 09 '21 07:10 dankamongmen

hi. Is this still being worked on?

groutoutlook avatar May 16 '25 06:05 groutoutlook

hi. Is this still being worked on?

it is regrettably pretty far down my list of notcurses-related tasks. i'd happily accept patches and help out if someone, especially someone more knowledgeable about vcpkg, wanted to lead the way!

dankamongmen avatar May 16 '25 13:05 dankamongmen

I am enthusiastic about this but my knowledge is quite limited on packaging things, all I have done is consuming vcpkg libraries.... Sorry, can't be of help.

groutoutlook avatar May 16 '25 13:05 groutoutlook