Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 263087 - A modified qt-creator-1.0.0 ebuild which allows (limited) modification of compiled plugins and adds designer plugin
Summary: A modified qt-creator-1.0.0 ebuild which allows (limited) modification of com...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement (vote)
Assignee: Markos Chandras (RETIRED)
URL:
Whiteboard: [qting-edge]
Keywords: EBUILD, InOverlay
Depends on: 146436
Blocks:
  Show dependency tree
 
Reported: 2009-03-19 23:56 UTC by Livid
Modified: 2009-03-24 18:41 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Modified ebuild (qt-creator-1.0.0.ebuild,2.81 KB, text/plain)
2009-03-19 23:58 UTC, Livid
Details
new ebuild (qt-creator-1.0.0.ebuild,2.16 KB, text/plain)
2009-03-20 14:30 UTC, Markos Chandras (RETIRED)
Details
new(er) ebuild (qt-creator-1.0.0.ebuild,2.42 KB, text/plain)
2009-03-20 22:45 UTC, Livid
Details
new ebuild (qt-creator-1.0.0-r1.ebuild,2.88 KB, text/plain)
2009-03-21 21:15 UTC, Livid
Details
ebuild using add_missing_plugin patch (qt-creator-1.0.0-r1.ebuild,2.55 KB, text/plain)
2009-03-22 16:36 UTC, Markos Chandras (RETIRED)
Details
add missing plugins patch (add_missing_plugins.patch,618 bytes, patch)
2009-03-22 16:37 UTC, Markos Chandras (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Livid 2009-03-19 23:56:26 UTC
By default, qt-creator builds with all stable plugins (except, for some strange reason, designer plugin). However, it is very easy to control this behaviour, since a list of enabled plugins can be found at src/plugins/plugins.pro

Reproducible: Always
Comment 1 Livid 2009-03-19 23:58:31 UTC
Created attachment 185586 [details]
Modified ebuild

I took care to enable all plugins except designer by default, so with no configuration (i.e. no USE or package.use modifications) it works just as old ebuild.
Comment 2 Markos Chandras (RETIRED) gentoo-dev 2009-03-20 09:24:58 UTC
Thanks for that ebuild. My first concern is what do you mean by "not installing designer" plugin. I am able to design Ui forms perfectly. Do you mean something else?

The other thing is , do we really need to have so many use flags? In my head qt-creator is a full-feature IDE so I wouldnt want it with half-of-its-features installed. 

I am sure that 99% of users will want it full.
Comment 3 Livid 2009-03-20 11:43:45 UTC
Well, if editing Ui from qtcreator works on your end, i'm sort of lost there, since both ebuild and manual build failed to build designer support by default, since it's not listed in SUBDIRS -- most likely because someone @ qt software forgot to add it or something. As a result, qtcreator opens *.ui files with built-in text editor.
Maybe I overlooked some autodetection which fails on my end though. I'll double-check that.

As to overwhelming number of USE flags, I figured that I want to compile out perforce support. Some people might want to remove fakevim or cmake manager (at least, I can imagne that). Main reasonong here is to allow user to choose, after all it's what free software about.

Another subtle reason is the fact that some plugins actually do have runtime dependances not listed in ebuild (yet). I thought about it, but turned lazy all of a sudden, so it isn't there :)
To illustrate my point, debugger plugin relies on sys-devel/gdb, svn on dev-util/subversion, git on dev-util/git, and so on. A failure to satisfy this defendances does not really break anything, but it does not allow related plugins to be used as well, so why bother building them then?

On the other hand, you might be right in a sense that editors and managers are best left compiled in, so it might be better to trim down IUSE list a bit.
Comment 4 Livid 2009-03-20 11:58:27 UTC
(In addition to comment #3)
Yes, i sort of overlooked a wierd autodetection there. It checks if qt is installed version (prebuilt release) or built from source with exists($$(QTDIR)/.qmake.cache). First of, my QTDIR env variable is empty. But even if it wasn't, there's no .qmake.cache there (most likely since it was removed at some point of cleanup).
BTW, I failed to notice absence of resourceeditor plugin, which also uses this strange .cache thing.
I'm really not shure if it's a bug, or a feature.
Comment 5 Markos Chandras (RETIRED) gentoo-dev 2009-03-20 13:21:44 UTC
Yes, I am able to edit ui files via designer. However I ve heard it before that users had the same issues with ui files. I am not sure what is going on there so far.

I assume that we could add git,svn and gdb use flags there. A reasonable number of use flags is ok by me. But I wouldnt want to have +5 use flags in order to build every basic component separately.

I wouldn't add cmake use flag cause people are developing different projects from time to time so it wouldn't be comfortable from our side to make them re-install the program in order to get a basic feature.

However I agree that there are many ways to split/improve the build system so I am open to new ideas.

I ll try to come up with a new ebuild with git,svn,gdb use flags for now :)
Comment 6 Livid 2009-03-20 13:53:27 UTC
(In reply to comment #5)
> I wouldn't add cmake use flag cause people are developing different projects
> from time to time so it wouldn't be comfortable from our side to make them
> re-install the program in order to get a basic feature.
IMO it's better to have cmake use-flag, and make it enabled by default. Then we still have configurability and users will have cmake support unless they disabled it (which is most likely to happen when they are sure that they won't need it)
I'll try to come up with something less use-cluttered later today.
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2009-03-20 14:30:20 UTC
Created attachment 185631 [details]
new ebuild

This is my proposal ( so far )
Comment 8 Livid 2009-03-20 22:45:27 UTC
Created attachment 185679 [details]
new(er) ebuild

I'd say it's missing perforce use-flag. It also might be good to let user know that he needs to install perforce by hand if he enables it.

Except for above, ebuild looks good.

P.S. I also thought that debugger should be enabled by default, since it's one of main features in qtcreator.
Comment 9 Livid 2009-03-20 23:02:37 UTC
As for designer plugin not building on my machine, if I create /.qmake.cache (yes, in slash aka root directory) then it builds like charm.

I have the following thought on the matter: since gentoo does not have qt binary packages whatsoever, we might be better off to remove this check complitely, since it does not work as expected anyway (in some cases at least)

I'm not sure if I should open another bug for that though.
Comment 10 Markos Chandras (RETIRED) gentoo-dev 2009-03-21 11:26:43 UTC
First of all , I assume I can add an extra use flag ( enabled by default ) in order to build designer anyway. It is not a big deal.

I agree it is good to have enabled by default the debugger use flag.

About the perforce, well this is kinda tricky. There is no ebuild about this so either this plugin should be disabled or make an ebuild for perforce or as a final solution to add the ewarn you suggested.

I ll try to do some tests locally and reply back
Comment 11 Markos Chandras (RETIRED) gentoo-dev 2009-03-21 14:38:44 UTC
Ebuild and perforce client are now on qting-edge overlay. Will stay there for a couple of days for further testing before moving to the tree.

Upstream has fixed the plugin_designer issue on git repository. So I included this fix on new ebuild until they release a new version
Comment 12 Livid 2009-03-21 21:15:44 UTC
Created attachment 185791 [details]
new ebuild

Erm... It is sort of late to inform you about that, but it's not just designer, but also resourceeditor plugin which is not built. It can be forced by adding plugin_resourceeditor to subdirs. I mentioned it earlier, but maybe with too little emphasis.
Also, there's no real reason to check if designer use-flag is enabled, since if it's not, corresponding line will be commented out on next step.
And one more, if we add designer and/or resourceeditor lines to SUBDIRS, we should remove so-called autodetection so that there are no duplicates in SUBDIRS (if there are duplicates, it isn't likely to break anything, but it'll make unnecesary steps while compiling).
To sum it up, I attach my proposal (based on r1 from qting-edge)
Comment 13 Markos Chandras (RETIRED) gentoo-dev 2009-03-21 21:22:14 UTC
The  key point here is to add the extra targets ( designer and resourceeditor ) on plugins.pro and then comment them if the use flag is not enabled. Resourceeditor is a major feature so it wont be a use flag for this. There will be one or two extra checks but this is not really important. Upstream seems that is aware of those buggies so it is ok to come up with a workaround for now

Also make sure that you use the latest ebuild from qting-edge. I am pretty sure that I wont add perforce ebuild on portage due to licensing issues , so I shall add an ewarn message just like you proposed on your ebuild.

Comment 14 Markos Chandras (RETIRED) gentoo-dev 2009-03-22 16:36:59 UTC
Created attachment 185893 [details]
ebuild using add_missing_plugin patch

I came up with a new ebuild . Missing plugins issue will be fixed using a patch instead of seds for a more clean solution
Comment 15 Markos Chandras (RETIRED) gentoo-dev 2009-03-22 16:37:48 UTC
Created attachment 185894 [details, diff]
add missing plugins patch

The patch for the latest qt-creator-1.0.0-r1 ebuild
Comment 16 Livid 2009-03-22 16:46:03 UTC
Make sure to remove 

# These two plugins require private headers from Qt and therefore don't work
# with an installed/released version of Qt.
exists($$(QTDIR)/.qmake.cache) {
    SUBDIRS += plugin_designer plugin_resourceeditor
} else {
    message(Designer and Resource Editor plugins are not build! They require private headers and do not compile with your released/installed version of Qt)
}

with your patch then as well.
Comment 17 Markos Chandras (RETIRED) gentoo-dev 2009-03-23 00:34:49 UTC
(In reply to comment #16)
> Make sure to remove 
> 
> # These two plugins require private headers from Qt and therefore don't work
> # with an installed/released version of Qt.
> exists($$(QTDIR)/.qmake.cache) {
>     SUBDIRS += plugin_designer plugin_resourceeditor
> } else {
>     message(Designer and Resource Editor plugins are not build! They require
> private headers and do not compile with your released/installed version of Qt)
> }
> 
> with your patch then as well.
> 

Done. Final ebuild ( and patch ) are now updated on the overlay. They will remain there for the next 48 hours and then will be moved on tree.

Thanks you for your ideas and cooperation :)
Comment 18 Markos Chandras (RETIRED) gentoo-dev 2009-03-24 18:41:10 UTC
On tree now. Thanks for your effort
Closing now. Re open if needed

+*qt-creator-1.0.0-r1 (24 Mar 2009)
+
+  24 Mar 2009; Markos Chandras <hwoarang@gentoo.org>
+  +files/add_missing_plugins.patch, -files/fix_headers_git.patch,
+  +qt-creator-1.0.0-r1.ebuild:
+  Introduce use flags for qt-creator plugins. Thanks to Livid
+  <g.livid@gmail.com> for his ebuilds,patches and effort. Dropping old
+  obsolete patch
+