virtualxt icon indicating copy to clipboard operation
virtualxt copied to clipboard

Packaging for different platforms

Open andreas-jonsson opened this issue 2 years ago • 15 comments

Would be nice with more/better packages.

There are a few available here.

andreas-jonsson avatar Oct 27 '22 11:10 andreas-jonsson

I added a package for Nix/NixOS.

There's a problem with Zig 0.10 on NixOS right now. I'm using this package locally with a workaround, but I'll wait to submit a PR in the nixpkgs repo until that's fixed. I'll follow up here with any development on that.

fmahnke avatar Feb 10 '23 17:02 fmahnke

I added a package for Nix/NixOS.

There's a problem with Zig 0.10 on NixOS right now. I'm using this package locally with a workaround, but I'll wait to submit a PR in the nixpkgs repo until that's fixed. I'll follow up here with any development on that.

Much appreciated!

I'm working on Pkgsrc for the BSD's as well. But I also have to wait for some Zig fixes.

I would also like to do a call for anyone with a Mac to test the Homebrew tap. I do not have any Apple machines that Homebrew supports anymore. :(

andreas-jonsson avatar Feb 10 '23 21:02 andreas-jonsson

I added a package for Nix/NixOS.

There's a problem with Zig 0.10 on NixOS right now. I'm using this package locally with a workaround, but I'll wait to submit a PR in the nixpkgs repo until that's fixed. I'll follow up here with any development on that.

Fyi: There is now a Premake script for the SDL frontend that can be used if you don't want to involve Zig. #39 https://github.com/andreas-jonsson/virtualxt/blob/ba791126fc77ec0fa7cdb5024673942c74cd3b12/.github/workflows/build.yml#L45-L51

andreas-jonsson avatar Feb 28 '23 12:02 andreas-jonsson

Ok, great. Looks like the zig issue may've been fixed, too. Once I finish a few in progress things, I'll need to test my stuff with vxt again. And I'll see if I can finish up that package then.

fmahnke avatar Mar 03 '23 03:03 fmahnke

@fmahnke, Just a heads up. The premake branch is close to merge. This will change how you package.

Sorry for the inconvenience. But it will be easier for a lot of systems not having to worry about Zig.

Zig can still be used as a C compiler if you want:

premake5 --cc=clang gmake
make CC="zig cc" sdl2-frontend

andreas-jonsson avatar Mar 07 '23 14:03 andreas-jonsson

With the move to Premake I will not continue to support the Snap pack builds. So 0.8 will not be released for the Snap store. (when it is ready) That is, unless there is anyone adopting that package.

I have revived the AppImage builds for Linux x86_64 though. It is available for edge right now.

andreas-jonsson avatar Mar 20 '23 09:03 andreas-jonsson

Ok, I've updated the nixpkgs file to use premake. Now we just need a tag or release archive to build against. The 0.7 branch doesn't yet have the premake changes.

fmahnke avatar Apr 17 '23 21:04 fmahnke

That's fantastic timing! I'm about to release the 0.8. It was suppose to be done during the weekend but there was a bit of a delay. I'll ping you once it is done. (might even be today)

andreas-jonsson avatar Apr 18 '23 07:04 andreas-jonsson

@fmahnke Version 0.8 is now released: https://github.com/andreas-jonsson/virtualxt/releases/tag/v0.8

andreas-jonsson avatar Apr 18 '23 11:04 andreas-jonsson

I've updated the nix derivation for VXT 0.8.

It sets the environment as follows:

  • The user's configuration directory is XDG_CONFIG_HOME/virtualxt, falling back to HOME if XDG_CONFIG_HOME isn't set.
  • VXT_DEFAULT_BIOS_PATH is pcxtbios.bin.
  • VXT_DEFAULT_VXTX_BIOS_PATH is vxtx.bin.
  • VXT_DEFAULT_HD_IMAGE is freedos_hd.img.

freedos_hd.img is the only file copied into the config directory.

bin, lib, share directory structures are created as follows:

bin/
bin/virtualxt
lib/
share/
share/bios/
share/bios/glabios.bin
share/bios/pcxtbios.bin
share/bios/pcxtbios_640.bin
share/bios/vxtx.bin
share/boot/
share/boot/basic.img
share/boot/elks_linux.img
share/boot/freedos.img
share/boot/freedos_hd.img
share/boot/freedos_web_hd.img

Do you have any suggestions? If not, my next step is to send the PR over to nixpkgs. This'll be my first time contributing there.

fmahnke avatar Jun 23 '23 23:06 fmahnke

Hi!

I have zero experience with nix packages my self. But it all looks good as far as I can tell.

The freedos_web_hd.img, elks_linux.img and basic.img are not that useful for the end user. But they are not that big so including them is probably not a big deal.

Thanks for creating this!

andreas-jonsson avatar Jun 24 '23 19:06 andreas-jonsson

I just submitted to pkgsrc-wip.

andreas-jonsson avatar Aug 22 '23 13:08 andreas-jonsson

@fmahnke did you end up submitting to Nix? Just curious. :)

andreas-jonsson avatar Aug 24 '23 12:08 andreas-jonsson

I didn't do that yet. But I've been learning quite a bit more about Nix the last couple weeks. No reason not to do it now. I'll really try to make it compatible with latest and submit it to Nixpkgs sometime this week.

fmahnke avatar Aug 28 '23 17:08 fmahnke

The derivation for version 0.9 is in process at nixpkgs: https://github.com/NixOS/nixpkgs/pull/253167

fmahnke avatar Sep 04 '23 21:09 fmahnke