Skip to content
This repository was archived by the owner on Jan 16, 2025. It is now read-only.

Conversation

@haf
Copy link
Contributor

@haf haf commented Oct 27, 2015

Copy link
Member

Choose a reason for hiding this comment

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

We can't have this depend on X11, unfortunately; we can't assume users have it installed.

@haf
Copy link
Contributor Author

haf commented Oct 27, 2015

@MikeMcQuaid how about when compiling like now?

@haf
Copy link
Contributor Author

haf commented Oct 27, 2015

Another question: libgdiplus would prefer a pre 4.2 version of giflib – can I specify that somewhere?

@MikeMcQuaid
Copy link
Member

Unfortunately not; it needs to use the newest version of glib or vendor it as a resource.

@haf
Copy link
Contributor Author

haf commented Oct 27, 2015

Well, OK, I'd say this is more with regards to the libgdiplus project.

@directhex – could you use line the QuantizeBuffer function from http://sourceforge.net/p/giflib/code/ci/ce02f85e6ed1e1455a4aea9ffa68a3e2b8f8a4b1/ (a bit down in the util/rgb2gif.c file) instead of from the lib/gif_lib.h file?

@haf
Copy link
Contributor Author

haf commented Oct 27, 2015

Copy link
Contributor

Choose a reason for hiding this comment

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

Need nothing after head "https://github.com/mono/libgdiplus.git" here. Everything else is the assumed default.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

@Mailaender
Copy link

Yeah, we have to patch this in @openSUSE for months now. I upstreamed it, adapted it according to the code review. No idea why mono/libgdiplus#32 hasn't been merged yet. Shouldn't be controversial.

@haf
Copy link
Contributor Author

haf commented Oct 28, 2015

Ready to merge? The build is failing on some internal error in the audit command and the PR discussed above was successfully merged.

Copy link
Member

Choose a reason for hiding this comment

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

We'll need a stable release before we can add this to Homebrew.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You mean you need a stable location to download the bytes from, because this code is both stable and released. How do you prefer it hosted and what precisely are your requirements to allow it to be included in homebrew? Is not github a stable place to download it from?

Copy link
Member

Choose a reason for hiding this comment

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

We need a stable, tagged release.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You should be clear about what you need so we can move forward from this back-and-forth:

So you need a git tag in the linked repo? Or you can take a tag in any cloned repo? Are you saying you need the official mono sponsor, Xamarin, to tag it? Or isn't the code base OpenSUSE uses (this particular commit) good enough? Or good enough if it's git-tagged? Does it matter this code-base hasn't been changed for basically three quarters of a year and that many a mono release has been built from it; many stable official releases. Or isn't it stable because I say so because I've verified that it is on my side? Please be specific.

Copy link
Member

Choose a reason for hiding this comment

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

Our documentation is clear.

So you need a git tag in the linked repo?

Yes.

Are you saying you need the official mono sponsor, Xamarin, to tag it?

Yes.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks.

@directhex / Jo, Could you please tag the currently merged state in the git repository? Thank you. :)

@MikeMcQuaid
Copy link
Member

Ready to merge?

No, it needs to not rely on X11. Additionally (repeated above from @xu-cheng) I think it would be better if you could make this a resource on the Mono formula after it no longer relies on X11 and has an official upstream tag.

@haf
Copy link
Contributor Author

haf commented Oct 30, 2015

It relies on X11, that's how the software is built. And I've already followed @xu-cheng 's advice and removed the dependency on mono.

Just to make it clear; this is a piece of software that does graphics and X11 is closely related to graphics on unix.

The software doesn't drop dependencies because you declare it must, Mike. Could you explain your thinking?

@dunn
Copy link
Contributor

dunn commented Oct 31, 2015

We just don't allow software with hard X11 dependencies in the core repository. We have a homebrew-x11 tap for that.

@haf
Copy link
Contributor Author

haf commented Oct 31, 2015

So let us merge to the tap instead then.

@haf
Copy link
Contributor Author

haf commented Oct 31, 2015

But when you say hard, what do you mean? 99%of the usage of this module is not dependent on x11, and works fine without it.

@rakkesh
Copy link
Contributor

rakkesh commented Oct 31, 2015

@haf depends_on :x11 => :build is a hard dependency. If it was, depends_on :x11 => :optional, it would have been accepted in Homebrew core repository.

As @dunn has mentioned, you can open a PR over at https://github.com/Homebrew/homebrew-x11/pulls.

@haf
Copy link
Contributor Author

haf commented Oct 31, 2015

It seems there are ifdefs removing the need to use X11:

./src/graphics.c:#ifdef CAIRO_HAS_XLIB_SURFACE and
./src/gdiplus-private.h: #ifdef CAIRO_HAS_XLIB_SURFACE. However, there's an explicit check in ./configure: configure: error: "Failed to compile with X11/Xlib.h include. You must fix your compiler paths"; can you avoid the check and the code?

@rakkesh
Copy link
Contributor

rakkesh commented Oct 31, 2015

You could use a patch to test it but I am not sure if this going to be accepted unless you can justify.

Remove the lines for X11 check from configure.ac, generate a diff and apply it in the formula.

@haf
Copy link
Contributor Author

haf commented Oct 31, 2015

If I do it it should be accepted, otherwise I just should not do it. I am time constrained. I was asked to create a PR for this lib, but the discussion here is not encouraging. I don't give flying rats about X11 personally, I want to use Accord.Net on OS X, that's where I'm coming from.

@rakkesh
Copy link
Contributor

rakkesh commented Oct 31, 2015

I am sorry for digressing on this thread. Please follow @dunn's comment above, and make a PR in homebrew-x11 tap. That should be resolved quicker.

@haf
Copy link
Contributor Author

haf commented Oct 31, 2015

I'm just going to leave this here with you guys and check back next weekend. Feel free to do what you want with it, I have the code which covers my own use-case.

@MikeMcQuaid
Copy link
Member

You could use a patch to test it but I am not sure if this going to be accepted unless you can justify.

The justification is: OS X does not ship with X11 and this library doesn't seem to need X11 at runtime.

@haf
Copy link
Contributor Author

haf commented Nov 2, 2015

So that means you'll accept patch to the library that removes the check for x11.h?

@haf
Copy link
Contributor Author

haf commented Nov 2, 2015

So I've created a patch from https://github.com/mono/libgdiplus/pull/35.diff that seems to make it all compile fine without x11. However, the diff file doesn't work, and I haven't been google my way to a working diff file. The archaic binary that is patch talks about fuzz and chunks, but doesn't tell me what's wrong.

@haf
Copy link
Contributor Author

haf commented Nov 4, 2015

ping @MikeMcQuaid

@dunn
Copy link
Contributor

dunn commented Nov 4, 2015

Inline patches are sometimes a bit fussy; try a patch do block as in https://github.com/Homebrew/homebrew/blob/master/Library/Formula/bash.rb#L16-L19

@MikeMcQuaid
Copy link
Member

A few audit failures here: http://bot.brew.sh/job/Homebrew%20Pull%20Requests/35834/version=el_capitan/testReport/junit/brew-test-bot/el_capitan/audit_libgdiplus___strict___online/

With the patch either try a patch do block and if that doesn't work you'll probably need to manually patch the source as perhaps the upstream patch doesn't apply to this stable version.

@bfontaine
Copy link
Contributor

Ping?

@haf
Copy link
Contributor Author

haf commented Dec 17, 2015

I just don't know how to "manually patch the source"... I don't normally work with patches.

@bfontaine
Copy link
Contributor

Run brew install -i --git libgdiplus; edit the source to fix the issues; run git diff | pbcopy; exit the shell. In the formula, at its very end add __END__ then paste the patch just after it. Add patch :DATA at the beginning of the formula to apply it. Tell me if that’s not clear/you need help.

@bfontaine
Copy link
Contributor

Anything new here?

@haf
Copy link
Contributor Author

haf commented Jan 15, 2016

It's slightly cyclic for us, what we work on. We're moving towards graphics again in a week or two and then we're going to finish this PR. Sorry about the time taken, but we have not forgotten it! =)

@DomT4
Copy link
Contributor

DomT4 commented Mar 11, 2016

How's this going?

@haf
Copy link
Contributor Author

haf commented Mar 11, 2016

I had an intern try to do the patches like people here want but he didn't succeed either.

@bfontaine
Copy link
Contributor

Gentle ping 😉

@ghost ghost removed the needs response label Apr 10, 2016
@apjanke apjanke modified the milestone: Clear out Legacy May 3, 2016
@apjanke
Copy link
Contributor

apjanke commented May 3, 2016

Closing this due to inactivity/lack of response. If you'd still like to pursue this, feel free to respond to the previous comments/questions and re-open on the new homebrew/core repo.

@apjanke apjanke closed this May 3, 2016
@haf
Copy link
Contributor Author

haf commented May 3, 2016

Instead of closing, how about you fix the patch? You seem to know how to do it.

@Homebrew Homebrew locked and limited conversation to collaborators Jul 10, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants