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

Build system patches #7

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

andrewshadura
Copy link

Hi,

These are patches Thanh Tung Nguyen developed for his PPA, a patch by me to add mdoc support instead of the deprecated monodocer and a couple of other fixes.

Update: I have reworked the patches based on my work on (soup-sharp)[/stsundermann/soup-sharp]. See the comments for the details.

Thanks.

SUBDIRS = sources sources/glue doc

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = webkitgtk-sharp-3.0.pc

EXTRA_DIST = webkitgtk-sharp-3.0.pc.in out/webkitgtk-sharp.dll.config
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the purpose of this change?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I'm not sure. Let me explain this: Thanh Tung Nguyen has developed a Debian packaging for webkitgtk-sharp but has not uploaded it to Debian. I was going to update SparkleShare in Debian (we use it at @collabora), and it uses this library. I found the PPA by Nguyen, updated it and fixed a couple of bugs in his packaging and I'm going to upload it to Debian.

I tried to review the patches, I dropped some changes not relevant upstream, but I have overlooked this particular change. This file still ends up installed, so I suppose something else installs it — but I don't have the clear understanding what exactly does that. I will try to ask the guy what was his intent when he wrote this.

If you also can't figure this out, please ignore this particular change for now.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Asides from this change everything looks fine to me.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andrewshadura Things look fine, yeah, it's just this and the two other changes that I commented on below that look odd... they're all dllmap related, so we can merge without them and then once the debian package is done you can check if everything is working ok and all the mappings are good or if we need to tweak something. Does that work for you?

@shana
Copy link

shana commented Dec 15, 2015

Summarizing: commits andrewshadura@7d0039c and andrewshadura@abbb67b look iffy, everything else looks 👍

We can merge this PR without those commits, or wait for clarification from the original author (I suspect they were an attempt to fix some problem with code that was using this library, hence the extra dll maps for things that we don't use directly (but code that uses this library would certainly use them))

@shana
Copy link

shana commented Dec 15, 2015

(well Stephan can merge when he feels like it, I'm just an observer here haha 😄)

@andrewshadura
Copy link
Author

I think better merge just those commits that are definitely right, and then if and when the rest gets receives some explanation, I'll come up with a new PR.

@andrewshadura
Copy link
Author

I will try to build the package with those strange changes excluded and see what happens.

Thanh Tung Nguyen and others added 12 commits December 20, 2015 02:54
INCLUDES is deprecated, and AM_C(PP)FLAGS is the proper way to
specify the compiler and preprocessor options.

Signed-off-by: Andrew Shadura <[email protected]>
The DLL map isn't being generated, so it needs to be preserved
when distcleaning.

Signed-off-by: Andrew Shadura <[email protected]>
Add GAPI XML to the CFLAGS.

Signed-off-by: Andrew Shadura <[email protected]>
Signed-off-by: Andrew Shadura <[email protected]>
The shell syntax doesn't require strings in comparisons to be non-empty,
it's enough to have them quoted.

Signed-off-by: Andrew Shadura <[email protected]>
@andrewshadura
Copy link
Author

For some reason, without additional references (2dda4ac) a post-build step of the package build process fails here:

   dh_clideps
dh_clideps: Error: Could not resolve moduleref: libsoup-2.4 for: webkitgtk-sharp.dll!
dh_clideps: Error: Could not resolve moduleref: libgtk-3-0.dll for: webkitgtk-sharp.dll!
dh_clideps: Error: unresolvable module references or missing shlibs entries, please check above errors!

I haven't tried running any applications though, and the build itself and the documentation generation step went fine.

@andrewshadura
Copy link
Author

08:02:01 < RAOF> andrewsh: If you grep the code, does the webkit source have #[dllimport("gtk-3.0")] anywhere in it?
08:02:14 < RAOF> The string "gtk-3.0" should be enough to grep on.
08:02:31 < RAOF> If it does, then you need the dllmap.
08:03:20 < RAOF> Upstream almost certainly doesn't notice because they have the development packages installed, which provide the libgtk-3.so that #[DllImport("gtk-3")] will look for.
08:03:35 < RAOF> (So actually the string you're grepping for is "gtk-3", sorry ☺)
08:05:08 < RAOF> dh_clideps is mostly not wrong about these things.
08:24:05 < andrewsh> ./sources/generated/WebKit/WebView.cs:     [DllImport("libgtk-3-0.dll", CallingConvention = CallingConvention.Cdecl)]
08:24:11 < andrewsh> in generated code, yes :)
08:25:03 < andrewsh> right, and this:
08:25:03 < andrewsh> ./sources/generated/WebKit/SoupAuthDialog.cs:      [DllImport("libsoup-2.4", CallingConvention = CallingConvention.Cdecl)]

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