Hi, Please find attached wx-dotnet-0.6.1.ebuild and a few patches to facilitate successful compiling and installing on Gentoo. wx.NET is a .NET Common Language Infrastructure (CLI) wrapper for wxWidgets. It provides an alternative cross-platform UI for those who can't stand the idea of using System.Windows.Forms or gtk. There are 2 main pieces: wxNET.dll, the .NET assembly developers would be programming against, and wx-c, a C++ library exposing the wxWidgets API to C# (I presume to get around problems with callback delegates using the cdecl calling convention). The rest is docs, utils, sample apps and source code. Because the wx.NET folks provided a public key, I made sure the 2 main assemblies produced by the build were strong named and installed them in the GAC. The C++ library went to /usr/lib. This makes it easier to use the wrapper without fiddling with MONO_PATH and such. This package depends on wxGTK-2.5.3 which is still hard-masked, and is itself in development, so is probably not quite ready for prime time. But it seems to work well enough to be included for those who are risk-averse or want to experiment. On my system, running against Mono-1.1.6 and wxGTK-2.5.3, all the examples run quite will with only a couple of errors. /usr/share/wx-dotnet/bin/Sample-Launcher.sh will launch the sample browser. This package was not tested against Mono-1.0.6, so I can't verify it will work, but should. I apologize in advance for any stupidity related to naming and locations of files (the patch names are particularly horrid) - I was just glad that various pieces came together finally to allow this to work at all. Cheers, Terry
Created attachment 55246 [details] wx-dotnet-0.6.1.ebuild
Created attachment 55247 [details, diff] Patch to disable build system sanity check preventing successful build There is a sanity check in wx-config-helper that looks for -L/path/to/wx-widgets/lib/directory in the wxGTK tool wx-config and dies because it isn't there. It falsely assumes wxWidgets isn't installed. It turns out that when wxWidgets libs are installed in /usr/lib (standard location on Gentoo), wx-config doesn't emit that particular output. This patch disables this particular check so the build can proceed to completion.
Created attachment 55248 [details, diff] Adds AssemblyInfo.cs to allow a utility assembly to be strong-named for GAC install The tool 'towxnet.exe' (converts wxglade output to C-Sharp) depends on a dll called RJH.CommandLineHelper.dll to parse command-line options. towxnet.exe works without modification if this dll is installed in the GAC (I suppose I could have written a wrapper shell script to accomplish the same thing). This patch allows the assembly to get a strong name at build time so GAC install succeeds. (the wx.NET packagers provided a public key for this purpose).
Terry I haven't tested your ebuild. There is already an existing bug for this though, bug #71086. When wxGTK-2.6.0 gets put in portage this week I'll test yours and see which bug to mark as a dup and close, thanks.
Hi Rob, Apologies for not noticing the previous bug. I searched but didn't come across it - successful bugzilla searching can be a black art, IMHO. There seems to be more discussion there so it might make sense to roll anything useful into the older ebuild and mark this as a dupe. Your call. I didn't look at the other bug posting too closely, but the primary difference seems to be that I place the assemblies in the GAC rather than the filesystem. This parallels other development libraries (like gtk-sharp, glade-sharp and the like). Placement it the GAC makes it easier to reference from build scripts, runtime scripts or IDE's without mucking about with MONO_PATH. There isn't a definitive GAC policy for Gentoo that I know, so I'm uncertain about what belongs there and what naming conventions to follow etc. It might be a good time to initiate a discussion with the dotnet herd regarding this - it beats feeling about in the dark. Anyhow, please feel free to contact me about this - I'll be happy to modify and test ebuilds or otherwise help.
Ok, I'll mark this as a dup, simply because the other has more people cc'd. This was my first venture into dotnet-land, so I have no opinion about the GAC. I'll take a look after I get wxGTK-2.6.0 in portage though. *** This bug has been marked as a duplicate of 71086 ***