[12:40] <leinardi> Hi, I'm trying to distribute GWE via Snap (https://forum.snapcraft.io/t/help-porting-gwe-nvidia-info-and-overclock-app-to-snap/9440) and I was wondering if someone here can give me some real time support.
[12:48] <leinardi> diddledan, popey told me that you have done some gnome stuff recently, do you have some time to help me getting started?
[14:45] <Chipaca> leinardi: maybe during the week...?
[14:45] <Chipaca> people go outside for the weekend
[14:47] <leinardi> Chipaca, I work during the week but I can be available after 18:00 CET. I work on this project on my free time so, usually, during the weekend.
[14:47] <popey> hey leinardi happy to help
[14:47] <Chipaca> popey: go outside! i hear there's icecream
[14:47] <cwayne> Chipaca: what's this "outside" you speak of
[14:47] <leinardi> :D
[14:48] <popey> I went outside. Didn't like it much.
[14:48] <Chipaca> ah, fair enough
[14:48] <cwayne> There's bees and stuff out there
[14:48] <Chipaca> did you say beer
[14:48]  * Chipaca runs
[14:48] <popey> BEES!
[14:49] <popey> leinardi: snap install gnome-3-26-1604
[14:49] <popey> I have seen that error too
[14:49] <popey> it tells you the wrong content snap to use, right?
[14:49] <Chipaca> popey: https://youtu.be/Nni0rTLg5B8?t=40
[14:50] <popey> ooh oooh, i know wht
[14:50] <popey> *why
[14:50] <popey> leinardi: how are you building this given your snap/snapcraft.yaml isn't in the root of the project but buried in dist?
[14:51] <leinardi> popey, yep, that's the error, but I don't get why should I install both gnome-3-26-1604 and gnome-3-30-1804, is that normal?
[14:51] <popey> no, i know why it's happening and want to build here on my laptop to prove it
[14:51] <leinardi> on my local branch is on the root, but I would like to move it to dist if possible
[14:52] <leinardi> I can push another commit so that we have the same location for the snapcraft.yaml
[14:52] <popey> how can i get the latest source and yaml?
[14:55] <leinardi> popey, ok just pushed, you can checkout the branch feature/snap
[14:55] <popey> ok, lemme have a play
[14:56] <leinardi> sure, thanks!
[15:02] <mup> PR snapd#6436 opened: interfaces: add system-backup interface <Created by jdstrand> <https://github.com/snapcore/snapd/pull/6436>
[15:17] <popey> https://www.irccloud.com/pastebin/5aQABZPM/
[15:18] <popey> ^ leinardi
[15:19] <popey> https://www.irccloud.com/pastebin/iwsIb2xx/meson-log.txt
[15:20] <leinardi> popey, could it be that you are missing some of the dependencies? Are you able to run GWE with the ./run.sh?
[15:20] <leinardi> deps: sudo apt install python3-pip libcairo2-dev libgirepository1.0-dev libglib2.0-dev libdazzle-1.0-dev gir1.2-gtksource-3.0 gir1.2-appindicator3-0.1 python3-gi-cairo
[15:20] <popey> thats me building it as a snap
[15:20] <popey> will check those are build-packages..
[15:24] <popey> Dependency gtk+-3.0 found: NO found '3.22.30' but need: '>=3.24'
[15:24] <popey> :(
[15:24] <popey> do you really need 3.24?
[15:26] <leinardi> popey, unfortunately yes, due to libdazzle
[15:26] <popey> This is a bit of a blocker. There's ways around it though.
[15:26] <leinardi> https://gitlab.gnome.org/GNOME/libdazzle/issues/31
[15:27] <popey> One way is to add a ppa from the ubuntu desktop team, which pulls in newer GTK
[15:27] <popey> Another way is to build gtk (and whatever else) from sauce
[15:28] <popey> I believe there is work ongoing to fix this
[15:28] <popey> kenvandine and diddledan are working on a gnome extension for snapcraft
[15:29] <leinardi> the ppa needs to be added to the host machine, right? I guess is needed only for Ubuntu < 18.10. I'm on 18.10 I have the right version
[15:29] <popey> Well...
[15:29] <kenvandine> Build for core18
[15:29] <popey> Snaps are built against a runtime. The main ones are core(16) and core18
[15:29] <popey> kenvandine: i am building for core18
[15:29] <kenvandine> Is my recommendation
[15:30] <popey> but this app needs newer gtk
[15:30] <kenvandine> Oh
[15:30] <kenvandine> The future build snap will help there... But not ready yet
[15:30] <kenvandine> You can also build you own gtk part
[15:31] <popey> got any examples?
[15:31] <leinardi> I'm confused, what is the gnome-3-30-1804 that I have in the snapcraft.yaml? Isn't that providing gtk 3.24?
[15:33] <popey> That's used at runtime, to provide some support libs and a launcher
[15:33] <popey> We're (I'm) stuck at the "building" part
[15:33] <popey> When you built on 18.10, you're going to likely end up with a snap that won't run on anything
[15:33] <popey> Because it will be built against newer libc and friends.
[15:34] <leinardi> I see
[15:34] <popey> We recommend building in a clean container or vm running 18.04 or 16.04
[15:34] <popey> now, 16.04 is too old for your application, so prefer 18.04.
[15:34] <popey> http://paste.ubuntu.com/p/rtv4V37Ddm/
[15:35] <popey> that's the yaml I have so far, note the addition of "base: core18" which tells snapcraft to build against core 18 which is ~ ubuntu 18.04
[15:36] <popey> Unless we go down the path of building the world from scratch, starting with newer GTK, we may have to put this on pause.
[15:36] <popey> I mean, I'm happy to help you move forward, and build these bits to get you moving :)
[15:36] <popey> until the work ken mentioned is done.
[15:37] <popey> This is a pitfall of having a beautiful app on the bleeding edge :)
[15:37] <popey> but you'd likely have to build quite a bit of gtk / gnome / gi to get this working.
[15:38] <leinardi> is there any ETA it? Are we talking about weeks, months or 20.04?
[15:38] <leinardi> *for it
[15:39] <popey> Great question. Might be faster to build those parts :S
[15:39] <leinardi> :)
[15:39] <popey> I was hoping kenvandine might have a repo on gitlab somewhere which we can steal parts from :)
[15:40] <leinardi> sorry for the silly question but it is still not clear to me: shouldn't be enough to have the proper runtime and just build on a host that has GTK 3.24?
[15:40] <popey> 18.10 for example? No, because it will be built against the libc that's in 18.10
[15:41] <popey> So someone on 16.04 installs your snap and it will fall over with horrible LIBC errors in capital letters
[15:42] <kenvandine> https://gitlab.gnome.org/Community/Ubuntu/gnome-3-28-1804-sdk/blob/master/snapcraft.yaml#L297
[15:43] <popey> GOOD LORD
[15:43] <kenvandine> That's a gtk part, just ignore the build-environment line
[15:43] <popey> and bump source-branch?
[15:43] <kenvandine> But, you might run into issues
[15:43] <popey> haha, no shit :)
[15:44] <kenvandine> I gotta run now.. but I can help out on Monday
[15:44] <popey> thanks!
[15:45] <leinardi> mmm please be patient, just need to ask more questions to better understand :) When we are talking about building, we are talking just about libdazzle, right? Because My app is a PyGOpject app, so I don't have to build anything beside libdazzle, or not?
[15:46] <leinardi> what I am expecting is that gnome-3-30-1804 is providing all the gnome 3.30 support, but I still need to provide libdazzle since is not part of it
[15:46] <leinardi> or am I missing something?
[15:47] <popey> gnome-3-30-1804 doesn't provide the stuff needed at *build* time.
[15:47] <popey> only runtime components
[15:48] <popey> The problem is that you're targetting 3.24 which isn't available in Ubuntu 18.04 repos
[15:48] <popey> (I mean, libdazzle needs that)
[15:50] <leinardi> ok but, I don't get why for a user with gnome-3-30-1804 installed would be a problem to run the snap build on my machine, if I bundle libdazzle binary (I'm an Android dev, so not really familiar with C dependencies)
[15:53] <popey> if you build on a system which has newer libc, it likely won't work on a system with older libc
[15:53] <popey> this is part of the reason snaps exist at all. You build in a specific environment (core 16 ~ Ubuntu 16.04, or core 18 ~ Ubuntu 18.04).
[15:54] <popey> When the user instals the snap, they get core16 or core18 which contains the libc the app was built against, no matter what they install the snap on
[15:54] <popey> So whether they install your snap on fedora 28 or arch bleeding edge, your snap works because along comes core18 or core16 snap "runtime"
[15:54] <popey> That's all fine, and isn't the problem we need to solve today.
[15:54] <popey> The problem is *building* the thing at all on 18.04 (not 18.10)
[15:56] <leinardi> ok, now I think is clear, thanks :)
[15:56] <popey> :)
[15:58] <popey> I'll have a chat with Ken on Monday. I'll add it to discuss in our regular catch up meeting to see what our options are, okay?
[15:58] <popey> (and reply on the forum)
[15:58] <leinardi> that would be awesome, thanks a lot!
[16:00] <popey> left a placeholder reply on the forum so others don't waste time on it.
[16:01] <popey> sorry I don't have a quick answer for you
[16:03] <leinardi> no worries, I'm glad to be getting some help, I can work on other thing while we figure out how to build on 18.04 :)
[16:05] <leinardi> popey, one last question for today: do you know if this is possible? https://forum.snapcraft.io/t/specify-custom-build-directory/9671
[16:12] <diddledan> popey: leinardi: building against core18 should give you gnome 3.28 from the 18.04 repo (that's what bionic has natively)
[16:13] <leinardi> diddledan, correct, but I need gnome 3.30 / gtk 3.24
[16:15] <diddledan> aah, gtk. sorry, I misunderstood
[16:25] <diddledan> in that case then popey is right that the only way currently to get a more recent gtk is to rebuild it from source
[16:29] <leinardi> diddledan, I see, thanks. Do you know if it's possible to specify a custom directory for the build output of snapcraft? I'm talking about the parts, prime and stage directories. I'd like to have them inside a build folder.
[16:29] <diddledan> that's not possible
[16:31] <popey> note I tweaked your yaml to not have references to snap in the prefix
[16:31] <diddledan> the idea is that you use a throwaway build system, e.g. a vm, that does everything internally to the vm
[16:31] <popey> it shouldn't be needed
[16:31] <popey> yeah, base: core18 will use multipass to build in an 18.04 vm
[16:31]  * diddledan goes to find a multipass pic
[16:32] <diddledan> https://cdn.instructables.com/FTJ/CYOV/IEB8CSW1/FTJCYOVIEB8CSW1.LARGE.jpg?auto=webp
[16:32] <leinardi> oh ok. popey: thanks, I have already pushed your changes to the feature/snap branch
[16:32] <leinardi> diddledan, :D