Open ZachBacon opened 8 years ago
I also think if the mpv interface is done, technically it would work better than the gst, seems despite having the gstreamer plugins installed local copy of gstreamer isn't loading them correctly.
Thanks for the info! @riflex is also working on building GT on Windows and I think he even got 0.2.0 working to some extent. I guess I can try to add support for the old GtkWebkit1 API. Also I am working on the MPV backend at this very moment, so should be ready soon.
Also if you are able to get a complete build working at some point, I'd be really happy if you could post the steps you took so I can post Windows builds here for everyone.
I had to put working on it on hold, having my exams pretty soon, but as @DoctorWho11 noticed, gtkwebkit and gst is mainly the source of the compilation problems.
I also ported from meson to cmake, as i'm more comfy with it, but it's still pretty hackish.
the mpv backend would work as long as proper gdk backends were used, also webkit1 api would be nice, I may investigate on patching webkitgtk for webkit2 support, iirc there was a lot of issues to explore and with just one person looking at it... well not exactly fun work.
I currently have a working Windows build using the GStreamer-Cairo player backend. You can check out the build files here and I will hopefully be able to include a Windows installer for the 0.4.0 release if all goes smoothly.
EDIT: It also uses the deprecated WebKit api using the -Duse-deprecated-webkit
flag. Just note that this is buggy and causes the application to appear frozen and Windows pops up the "This application has stopped working" window, but it is actually still running and after a few seconds will come back.
At a glance only the login dialog uses webkit? Would it be possible to move that out of process, that is a very large dependency for such a small feature.
It would be possible, by opening the login page in an existing browser and getting the user to manually copy their OAuth token from the url. Also it doesn't always freeze, I've just noticed that it can happen on occassions.
I could potentially wip up a quick nsis based installer which would be effective on any platform nsis is compiled on. So if gnome-twitch is cross compiled for windows on linux it would be simple enough to run makensis to compile the nsis script into a windows installer.
I already have a Inno setup script in the build directory which creates a Windows installer. I haven't actually tried cross-compiling, I just compile in a Windows VM. Thanks for the offer though!
No problems.
Should be trivial to cross compile, here is an example cross-file for fedora:
; dnf install mingw64-webkitgtk3
[binaries]
c = '/usr/bin/x86_64-w64-mingw32-gcc'
cpp = '/usr/bin/x86_64-w64-mingw32-g++'
ar = '/usr/bin/x86_64-w64-mingw32-gcc-ar'
strip = '/usr/bin/x86_64-w64-mingw32-strip'
pkgconfig = '/usr/bin/x86_64-w64-mingw32-pkg-config'
[host_machine]
system = 'windows'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'
Any news on this?
I created Windows build scripts here, but too be honest it's too much effort for me to maintain. Anybody that wants to take this on is welcome, the current build setup should make it straight forward enough to compile as long as you can get the dependencies.
I could probably maintain unofficial builds. At the moment I'm tracking a webkit gtk issue in getting the newer version to compile for use on the windows platform so that we don't need to rely on shitty old webkit versions
There are supposedly patches adding win32 waiting to be merged in upstream Webkit.
@TingPing that's what I was talking about. Been tracking that as much as possible. Waiting for a merge to happen.
I have a whole lot of stuff I need to push to GH, but in my local tree I have implemented a way to login without using the built in browser. It opens an already installed browser and starts a light web server using libsoup. Should simplify a lot of things seeing as WebKit seems to be causing problems in other areas as well (Flatpak, etc).
It will probably be available as a compile time flag to enable logging in with the built in browser.
That's great, libsoup etc are already buildable on windows.
WebKit seems to be causing problems in other areas as well (Flatpak, etc).
I wasn't aware of any issues with Flatpak?
Ones like this: https://github.com/vinszent/gnome-twitch/issues/291
tried to run the windows script as it is, and it didn't compile. here's the log: build-log.txt
Since I'm unaware of a public forum etc I just wanted to share that with some minor adjustments (mind you this is for the older 0.1.0 release) gnome-twitch compiles on windows pretty easily. I've tried the 0.2 release however due to reliance for webkit2gtk (atm most patches for webkitgtk has been mainly for webkit1 version for gtk) compiling is a no go. But I felt like sharing that it's a good code base.