From: Veeti P. <vee...@ro...> - 2013-11-12 21:57:50
Attachments:
signature.asc
|
Hello! Ever since the initial LXDE-Qt announcement I've been very excited to try out a new Qt-based DE. I recently decided to check it out using the instructions in the wiki ([1]) and being the lazy ass I am, I was a bit scared by the long list of manual steps to perform. Needless to say, I instantly set out on a crusade to automate this process for both my own and others' sake. Having tinkered with GNOME in the past, I thought of trying out their JHBuild [2] utility for automating the LXDE build process. (Hopefully this is not too blasphemous). If it works for GNOME's countless modules and X.org [3], surely it must be good enough for LXDE too! Compared to the build_all.sh script included in the LXDE repositories JHBuild offers many advantages such as inter-module dependency handling, automation of installation prefixes, automatic environment variables for running the compiled binaries, and more. It also allows for working with individual modules at a time instead of compiling everything. Obviously it is also far less error-prone. And thus, I present to you the fruits of my labor. Assuming that all the development compilers, headers and libraries are installed on your machine, you can now build the entire LXDE-Qt codebase (libraries, apps, etc.) by installing JHBuild and running the following commands: $ git clone https://github.com/veeti/lxdeqt-jhbuild.git $ cd lxdeqt-jhbuild $ jhbuild -f jhbuildrc JHBuild will then clone every module, build them and install them under a prefix. (The default in the configuration I've created is install/ under the same directory as the jhbuildrc config file. No sudo required!) You can also build individual modules, such as: $ jhbuild -f jhbuildrc build pcmanfm-qt And run them: $ jhbuild -f jhbuildrc run install/bin/pcmanfm-qt Check out the README at https://github.com/veeti/lxdeqt-jhbuild for more details. To accomplish this, I had to fork some of the modules (liblxqt, liblxqt-mount, libsysstat, libfm, lxqt-globalkeys and pcmanfm-qt) to play nice with the de-facto standard LIB_INSTALL_DIR and INCLUDE_INSTALL_DIR CMake attributes. I also had to modify the autotools-based modules to allow autogen.sh from out of the tree and to configure automatically (since JHBuild expects that for some reason beyond my understanding). Anyway, it would be great if the small build changes I've made in my forked repositories could be pulled in. Would it be fine to submit pull requests at GitHub for them? And of course, please try this automagic build stuff out and tell me how it goes! (Hopefully well.) [1] http://wiki.lxde.org/en/Build_LXDE-Qt_From_Source [2] https://wiki.gnome.org/Jhbuild [3] http://www.x.org/wiki/JhBuildInstructions/ (TLDR: Install JHBuild. Clone my repository. Run the command. Use LXDE-Qt.) --- Thanks, Veeti |
From: Veeti P. <vee...@ro...> - 2013-11-24 18:30:19
|
Ping, pong. Did anyone get to try this out yet? --- Thanks, Veeti |
From: Petr V. <pe...@ya...> - 2013-11-25 12:14:09
|
On 11/24/2013 07:08 PM, Veeti Paananen wrote: > Ping, pong. Did anyone get to try this out yet? not yet. i use Jenkins in my job. http://jenkins-ci.org/ for packaging I use OBS: https://build.opensuse.org/ On the other side - I find current lxqt build quite complex to setup (comparing old razor all-in-one tree). So maybe it needs some time to finish the "unified tree" cmake files... > > --- > Thanks, > Veeti > > ------------------------------------------------------------------------------ > Shape the Mobile Experience: Free Subscription > Software experts and developers: Be at the forefront of tech innovation. > Intel(R) Software Adrenaline delivers strategic insight and game-changing > conversations that shape the rapidly evolving mobile landscape. Sign up now. > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > _______________________________________________ > Lxde-list mailing list > Lxd...@li... > https://lists.sourceforge.net/lists/listinfo/lxde-list |
From: <chr...@su...> - 2013-11-25 12:20:21
|
2013/11/24 Veeti Paananen <vee...@ro...> > Ping, pong. Did anyone get to try this out yet? > > I have tried it. Works ok. I will have a look at your patches later today. Hopefully. br. Chr. --- > Thanks, > Veeti > > > ------------------------------------------------------------------------------ > Shape the Mobile Experience: Free Subscription > Software experts and developers: Be at the forefront of tech innovation. > Intel(R) Software Adrenaline delivers strategic insight and game-changing > conversations that shape the rapidly evolving mobile landscape. Sign up > now. > http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk > _______________________________________________ > Lxde-list mailing list > Lxd...@li... > https://lists.sourceforge.net/lists/listinfo/lxde-list > |
From: Chen W. <chu...@ou...> - 2013-11-25 14:53:22
|
I tried it, which built all components smoothly. Wayne Date: Mon, 25 Nov 2013 13:20:13 +0100 From: chr...@su... To: vee...@ro... CC: lxd...@li... Subject: Re: [Lxde-list] Automatic LXDE-Qt builds with JHBuild 2013/11/24 Veeti Paananen <vee...@ro...> Ping, pong. Did anyone get to try this out yet? I have tried it. Works ok. I will have a look at your patches later today. Hopefully. br. Chr. --- Thanks, Veeti ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ Lxde-list mailing list Lxd...@li... https://lists.sourceforge.net/lists/listinfo/lxde-list ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ Lxde-list mailing list Lxd...@li... https://lists.sourceforge.net/lists/listinfo/lxde-list |
From: Veeti P. <vee...@ro...> - 2013-11-25 18:56:09
Attachments:
signature.asc
|
On 25/11/13 14:13, Petr Vanek wrote: > On the other side - I find current lxqt build quite complex to setup > (comparing old razor all-in-one tree). So maybe it needs some time to > finish the "unified tree" cmake files... Well, a system like jhbuild removes the need for tightly coupling each component/module in the same cmake build, yet provides the same "easy build process". I suggest you try it out: it might be what you're looking for. :P -- Thanks, Veeti |
From: Luís P. <lui...@gm...> - 2014-02-06 15:26:23
|
On Mon, Nov 25, 2013 at 10:55 AM, Veeti Paananen <vee...@ro...> wrote: > Well, a system like jhbuild removes the need for tightly coupling each > component/module in the same cmake build, yet provides the same "easy > build process". > > I suggest you try it out: it might be what you're looking for. :P I'm trying it and loving it :) -- Luís Pereira |
From: PCMan <pcm...@gm...> - 2014-02-06 06:59:28
|
OK, This is an old post, but since we encountered some problems building the sub projects, I took some time and tried it again. With the simple patches Veeti did, jhbuild can build all of the repos at once flawlessly. I confirm that the config files provided in https://github.com/veeti/lxdeqt-jhbuild.git works. This even works better than git submodule + my handcrafted script. Jhbuild does the following well: 1. checking out every module and build them in the specified order. 2. checking if they're up-to-date and do not need to be rebuilt. If a module is updated and is the same as the current git, it won't be rebuilt. 3. if a module or its dependencies are updated in git, the new code is checked out, and the affected modules are rebuilt. Other modules are not touched. 4. All of the components are installed locally in the specified dir without the requirement of "root" permission. 5. The locally installed components can be run correctly with the help of jhbuild. We only need to replace "lib" and "include" target dirs with two cached values LIB_INSTALL_DIR and INCLUDE_INSTALL_DIR and then everything works. No other patches are needed. This completely solves the problems we have now. Though it's a tool from gnome, it works well and it supports both cmake and automake-based projects. Before we go back to the single huge repo approach, I'd recommend trying jhbuild first. It's in ArchLinux's AUR and the installation is easy. Please see the guide Veeti provided. https://github.com/veeti/lxdeqt-jhbuild.git The config file provided by Veeti uses minimally patches versions of lxqt repos. So they're not the latest versions. However, this is enough the demonstrate the ability of jhbuild. Cheers! On Wed, Nov 13, 2013 at 5:28 AM, Veeti Paananen <vee...@ro...> wrote: > Hello! > > Ever since the initial LXDE-Qt announcement I've been very excited to > try out a new Qt-based DE. I recently decided to check it out using the > instructions in the wiki ([1]) and being the lazy ass I am, I was a bit > scared by the long list of manual steps to perform. > > Needless to say, I instantly set out on a crusade to automate this > process for both my own and others' sake. Having tinkered with GNOME in > the past, I thought of trying out their JHBuild [2] utility for > automating the LXDE build process. (Hopefully this is not too > blasphemous). If it works for GNOME's countless modules and X.org [3], > surely it must be good enough for LXDE too! > > Compared to the build_all.sh script included in the LXDE repositories > JHBuild offers many advantages such as inter-module dependency handling, > automation of installation prefixes, automatic environment variables for > running the compiled binaries, and more. It also allows for working with > individual modules at a time instead of compiling everything. Obviously > it is also far less error-prone. > > And thus, I present to you the fruits of my labor. Assuming that all the > development compilers, headers and libraries are installed on your > machine, you can now build the entire LXDE-Qt codebase (libraries, apps, > etc.) by installing JHBuild and running the following commands: > > $ git clone https://github.com/veeti/lxdeqt-jhbuild.git > $ cd lxdeqt-jhbuild > $ jhbuild -f jhbuildrc > > JHBuild will then clone every module, build them and install them under > a prefix. (The default in the configuration I've created is install/ > under the same directory as the jhbuildrc config file. No sudo required!) > > You can also build individual modules, such as: > > $ jhbuild -f jhbuildrc build pcmanfm-qt > > And run them: > > $ jhbuild -f jhbuildrc run install/bin/pcmanfm-qt > > Check out the README at https://github.com/veeti/lxdeqt-jhbuild for more > details. > > To accomplish this, I had to fork some of the modules (liblxqt, > liblxqt-mount, libsysstat, libfm, lxqt-globalkeys and pcmanfm-qt) to > play nice with the de-facto standard LIB_INSTALL_DIR and > INCLUDE_INSTALL_DIR CMake attributes. I also had to modify the > autotools-based modules to allow autogen.sh from out of the tree and to > configure automatically (since JHBuild expects that for some reason > beyond my understanding). > > Anyway, it would be great if the small build changes I've made in my > forked repositories could be pulled in. Would it be fine to submit pull > requests at GitHub for them? > > And of course, please try this automagic build stuff out and tell me how > it goes! (Hopefully well.) > > [1] http://wiki.lxde.org/en/Build_LXDE-Qt_From_Source > > [2] https://wiki.gnome.org/Jhbuild > > [3] http://www.x.org/wiki/JhBuildInstructions/ > > (TLDR: Install JHBuild. Clone my repository. Run the command. Use LXDE-Qt.) > > --- > Thanks, > Veeti > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > Lxde-list mailing list > Lxd...@li... > https://lists.sourceforge.net/lists/listinfo/lxde-list > |
From: Luís P. <lui...@gm...> - 2014-02-06 15:34:41
|
On Wed, Feb 5, 2014 at 10:59 PM, PCMan <pcm...@gm...> wrote: > The config file provided by Veeti uses minimally patches versions of > lxqt repos. So they're not the latest versions. > However, this is enough the demonstrate the ability of jhbuild. I was working on a new root CMakeList.txt that build the automake and cmake based repos handling dependencies. I was using the ExternalProject cmake module. Something like this: ExternalProject_Add(menu-cache SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/menu-cache CONFIGURE_COMMAND ./autogen.sh && ./configure --prefix=${CMAKE_INSTALL_PREFIX} BUILD_COMMAND make INSTALL_COMMAND sudo make install && sudo ldconfig BUILD_IN_SOURCE 1 ) ExternalProject_Add(libfm DEPENDS menu-cache SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libfm CONFIGURE_COMMAND ./autogen.sh && ./configure --without-gtk --sysconfdir=/etc --prefix=${CMAKE_INSTALL_PREFIX} BUILD_COMMAND make INSTALL_COMMAND sudo make install && sudo ldconfig BUILD_IN_SOURCE 1 ) Dependencies were working Ok... Next step was local installation. jhbuild does everything that we need :) -- Luís Pereira |