Skip to content

New: Usr: Added gtkmm/2.24.5 #3410

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

Closed
wants to merge 4 commits into from
Closed

Conversation

bverhagen
Copy link
Contributor

@bverhagen bverhagen commented Nov 4, 2020

Specify library name and version: gtkmm/2.24.5

  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@conan-center-bot
Copy link
Collaborator

Some configurations of 'gtkmm/system' failed in build 1 (3673b26af8e889ee825cd3ba27eb6ff34c44b1fc):

@Croydon
Copy link
Contributor

Croydon commented Nov 4, 2020

Almost all of gtkmm dependencies are already work in progress. I don't think this should be a system package.

But we kinda already had that discussion with gtk itself 🤔 💁🏼

@bverhagen bverhagen changed the title New: Usr: Added gtkmm/system New: Usr: Added gtkmm/2.24.5 Nov 4, 2020
@bverhagen
Copy link
Contributor Author

bverhagen commented Nov 4, 2020

@Croydon : I reworked it to become gtkmm/2.24.5 rather than gtkmm/system. This, however, leaves me once again with a dependency (glibmm) that is not yet in the repo's. I would like to break this chain somehow, all I wanted was to add a very simple library to the index for everyone's convenience.

So consider this a work in progress.

@conan-center-bot
Copy link
Collaborator

Failure in build 2 (d84f0a2a216d9bdeb2ca1e656186fce05f79a958):

  • Error processing recipe (ref 'gtkmm/2.24.5'): Windows x86_64, Release, Visual Studio 14, MT. Options: gtkmm:shared-True
    Unexpected error happened:
ERROR: gtkmm/2.24.5: Error in configure() method, line 41
	raise ConanInvalidConfiguration("Visual Studio and Runtime MT is not supported for shared library.")
	NameError: name 'ConanInvalidConfiguration' is not defined

@Croydon
Copy link
Contributor

Croydon commented Nov 4, 2020

I know that it can be frustrating at times since there is literally endless work for us to do.
That said, system packages should stay a nuclear option when regular packages are really, really not a wise choice. If we relax this, we might choose it more and more often as a seemingly quicker way to make progress.

@Croydon Croydon mentioned this pull request Nov 4, 2020
@conan-center-bot
Copy link
Collaborator

Some configurations of 'gtkmm/2.24.5' failed in build 3 (3afa43a4109453642cf99f56903e447840c4a6d9):

self.copy("LICENSE", dst="licenses", src=self._source_subfolder)
autoconf = self._configure_build()
autoconf.install()
tools.rmdir(os.path.join(self.package_folder, "share"))
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
tools.rmdir(os.path.join(self.package_folder, "share"))
tools.rmdir(os.path.join(self.package_folder, "share"))
tools.rmdir(os.path.join(self.package_folder, "res"))

I see a lot of html files in res/

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I do not. Are we talking about the same package?


def package_info(self):
self.cpp_info.includedirs = ['include', 'include/gtkmm-2.4', 'include/gdkmm-2.4']
self.cpp_info.libs = tools.collect_libs(self)
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
self.cpp_info.libs = tools.collect_libs(self)
self.cpp_info.libs = tools.collect_libs(self)
self.cpp_info.libdirs.append(os.path.join(self.package_folder, "lib", "cairo"))
ls /home/conan/.conan/data/cairo/1.17.2/_/_/package/8d0b5f353aa5e0e4f75b6ab896cdd7f05569992f/lib/cairo/
libcairo-trace.a

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I do not see that file. Are we talking about the same package (gtkmm)? Your path seems to suggest otherwise.

@conan-center-bot
Copy link
Collaborator

Some configurations of 'gtkmm/2.24.5' failed in build 4 (f66532198af28530fa64954e99dee7a9ae04609e):

if self._autoconf:
return self._autoconf

self._autoconf = AutoToolsBuildEnvironment(self)
Copy link
Contributor

Choose a reason for hiding this comment

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

gtkmm has meson support.
Is that working?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I preferred to use Meson too, but the meson.build files in the source repository are not in the official release tar balls. Their README talks about separate release tar balls based on autoconf and meson.build, but on their own website, I only found the ones supporting autoconf. Ergo, I went with AutoTools for the package.

license = "LGPL-2.1-or-later"
homepage = "https://www.gtk.org"
description = "The C++ API for GTK."
settings = {"os": "Linux"}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
settings = {"os": "Linux"}

Comment on lines +13 to +14
options = {"version": [2]}
default_options = {"version": 2}
Copy link
Contributor

Choose a reason for hiding this comment

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

This option depends on the value self.options["gtk"].version, and is thus not choose-able freely.
Having -o gtk:version=2 -o gtkmm:version=3 is an invalid configuration.

Also, I don't see you using this gtk version value anywhere in the recipe.
How does it choose between gtk-2 and gtk-3?

I would do the following:

Suggested change
options = {"version": [2]}
default_options = {"version": 2}
options = {"version": "auto"}
default_options = {"version": "auto"}
@property
def _gtk_version(self):
return self.options["gtk"].version
def package_id(self):
self.info.options.version = self._gtk_version

and use self._gtk_version anywhere.

class GtkmmConan(ConanFile):
name = "gtkmm"
url = "https://github.com/conan-io/conan-center-index"
license = "LGPL-2.1-or-later"
Copy link
Contributor

Choose a reason for hiding this comment

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

There is also a COPYING.tools license (GPL-2.0-or-later) for the tools

tools.rmdir(os.path.join(self.package_folder, "share"))

def package_info(self):
self.cpp_info.includedirs = ['include', 'include/gtkmm-2.4', 'include/gdkmm-2.4']
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you know how this 2.4 suffix is calculated? It is not equal to gtkmm's version.


add(m_Table);

/*
Copy link
Contributor

Choose a reason for hiding this comment

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

Is the commented-out code not working? Or can it be removed/re-enabled?

sources:
"2.24.5":
sha256: 0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09fc4dd2f5fe6b72
url: https://download.gnome.org/sources/gtkmm/2.24/gtkmm-2.24.5.tar.xz
Copy link
Contributor

Choose a reason for hiding this comment

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

Does this actually co-operate with the current cci gtk/system recipe?
We don't have a gtk recipe built from sources (yet).

@stale
Copy link

stale bot commented Dec 17, 2020

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Dec 17, 2020
@Croydon Croydon mentioned this pull request Jan 5, 2021
@stale
Copy link

stale bot commented Jan 16, 2021

This pull request has been automatically closed because it has not had recent activity. Thank you for your contributions.

@stale stale bot closed this Jan 16, 2021
@Croydon Croydon mentioned this pull request Sep 13, 2021
@PaulCombal
Copy link

Now that #7279 is all green, will we see new developments here?

@uilianries
Copy link
Member

@PaulCombal I don't think, but still can fork and open a new Pull request.

@bverhagen
Copy link
Contributor Author

Given sufficient interest, we could. The initial driver for which I created this, is no longer valid

@planetmarshall
Copy link
Contributor

Draft PR for gttkmm 4 at #11415 . Currently requires an upstream modification of the Gtk recipe (see #11399)

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

Successfully merging this pull request may close these issues.

7 participants