Skip to content
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

Added python scripts for building NuGet packages via windows or linux #18

Merged
merged 1 commit into from
Oct 1, 2016

Conversation

Hecatron
Copy link

@Hecatron Hecatron commented Oct 1, 2016

Hi,
I've recently written some python scripts for generating Nuget package files for gtksharp3
This is located within the Nuget subdirectory.
I've tried this on both Linux and Windows and it seems to work okay

A couple of things I might look at next is to see how to update the gtksharp sources for 3.22
and to see if it's possible to build and generate a Nuget package for .Net Core

@mikkeljohnsen mikkeljohnsen merged commit 3a80531 into openmedicus:master Oct 1, 2016
@Hecatron Hecatron deleted the Nuget branch October 1, 2016 08:50
@harry-cpp
Copy link

Few questions:

  • Are you copying the native glue libraries? (they are important, you can run base Gtk app without them, but some wrapper stuff requires them)
  • What are you doing with x86 vs x64, are you building only for one architecture?

PS. I have the "gtk-sharp3" package (https://www.nuget.org/packages/gtk-sharp3/), we can use the ID for this, we would just need to have some build server for auto publishing

@Hecatron
Copy link
Author

Hecatron commented Oct 1, 2016

I've not copied the glue libraries at this stage, I wasn't entirely sure what they were used for (I think integration with msys?)
I had a look at both gtksharp3 and gtksharp3.win32 libraries within Nuget to see if they were included there but I don't believe they are.
It should be easy to add them in if they're needed.

Msys2 has three different consoles Msys2, Mingw32bit, Mingw64bit
It's possible to install gtk3 under Mingw32bit, Mingw64bit for different arch's so the script just copies the dll's from each into a different Nuget package (also all dependencies I've picked up using PE Explorer for users without Msys2)

Based on the design of gtksharp currently we can't have both the 32bit and 64bit windows libs via the Nuget package installed at the same time (as the files are named the same).
To have both at the same time would probably require changes to the Gtksharp source's pinvoke commands so that it looks in a different subdirectory such as x32 or x64 based on the current arch setting at runtime.

@Hecatron
Copy link
Author

Hecatron commented Oct 1, 2016

Thinking about it for the glue libraries maybe they should be in they're own separate Nuget package.
Only because the libraries may be different per platform (linux vs windows 32bit vs windows 64bit)

@harry-cpp
Copy link

harry-cpp commented Oct 1, 2016

I've not copied the glue libraries at this stage, I wasn't entirely sure what they were used for (I think integration with msys?)

Nope, they are generated per platform and per arch, and stuff like Eto.Forms will crash without them. I was guessing they were used for stuff that wasn't wrapable but I never checked because the name sounded self explanatory: https://en.wikipedia.org/wiki/Glue_code

@Hecatron
Copy link
Author

Hecatron commented Oct 1, 2016

I've put together some issues here which I'll try and look into when I get time
https://github.com/grbd/gtk-sharp/issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants