Closed Zishan-Rahman closed 1 year ago
Started test build 72488
Build 72488 failed
../meson.build:71:12: ERROR: Problem encountered: One or more required GStreamer elements were not found.
You will have to install your system's "base", "good", and "bad" plugins
packages. Try looking for names such as: gstreamer1-plugins-base,
gstreamer1-plugins-good, gstreamer1-plugins-bad-free,
gstreamer1-plugins-bad-free-extras, gstreamer1.0-plugins-base,
gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad
A full log can be found at /run/build/chimara/_flatpak_build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
FB: host_command_exited_cb 2073460 256
:thinking:
Yes, trying is appreciated, thanks!
I would guess that this failure is due to the freedesktop runtime updating gstreamer-plugins-bad. Freedesktop doesn't include the modplug plugin, so we have to build gstreamer-plugins-bad again in the app's manifest with just that plugin: https://github.com/flathub/com.inform7.IDE/blob/master/com.inform7.IDE.yml#L129-L147 However, the version must match freedesktop exactly. So my suggestion would be to find what git tag and commit is used by whatever version of freedesktop underlies the GNOME 45 runtime, and update Inform's manifest to match that.
Yes, trying is appreciated, thanks!
I would guess that this failure is due to the freedesktop runtime updating gstreamer-plugins-bad. Freedesktop doesn't include the modplug plugin, so we have to build gstreamer-plugins-bad again in the app's manifest with just that plugin: https://github.com/flathub/com.inform7.IDE/blob/master/com.inform7.IDE.yml#L129-L147 However, the version must match freedesktop exactly. So my suggestion would be to find what git tag and commit is used by whatever version of freedesktop underlies the GNOME 45 runtime, and update Inform's manifest to match that.
Thanks for your suggestion. I had a look at the GNOME runtime repository. The GNOME 45.0 runtime uses the Freedesktop SDK 23.08.0. The Freedesktop SDK 23.08.0 uses the same version of gstreamer-plugins-bad
as the version of GStreamer it uses for everything else, GStreamer 1.22.5-0. As it turns out, the development of gstreamer-plugins-bad
no longer happens in its own repo. It's now developed in the GStreamer monorepo itself, along with all the other plugins. So we need a new plan for how to build gstreamer-plugins-bad
specifically, for the modplug plugin.
There are several ways we could go about it, but since the GStreamer project provides their own source code tarballs for gstreamer-plugins-bad
(and, I'm sure, other modules) specifically, I ultimately decided to use the specific one we need from there. We could maybe find out how to use the GStreamer monorepo to build only gstreamer-plugins-bad
for the modplug plugin in the future, but right now getting the Flatpak itself built is more important, and this is most likely the easiest way to achieve this at the moment. I just pushed the commit that takes care of this change (hopefully it works) :+1:
Started test build 72582
Run-time dependency webkit2gtk-4.0 found: NO (tried pkgconfig and cmake)
../meson.build:61:9: ERROR: Dependency "webkit2gtk-4.0" not found, tried pkgconfig and cmake
I'll use the aforementioned GNOME 44 update PR to deal with this. hfiguiere made a branch in this repository for his PR so I'm going to try merging it with mine.
By merging hfiguiere's PR, I found out that he already managed to build the gstreamer-plugins-bad
module using the GStreamer monorepo. I can't believe I struggled with that now :man_facepalming:
Now all that's left to do is to update the tag and commit before I push again :+1:
Build 72582 failed
Started test build 72591
Build 72591 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/55244/com.inform7.IDE.flatpakref
@ptomato I'm also updating the appdata.xml with a patch to include updated links and other changes to make it look better on Flathub and clarify some confusions. For example, even though Inform is no longer proprietary, it currently says it is on Flathub, so hopefully this should fix that. It also denotes the last change as being made over 8 years ago, which is also misleading as both Inform and the Linux IDE have had major releases last year. The new appdata.xml also makes distinctions between the actual Inform design system and this IDE, as this Flatpak is meant to be for the whole IDE and it might be better to clarify that here. I also copied the paragraphs from README.md that were missing in appdata.xml.
It should look like this after the patch is applied:
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.inform7.IDE</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0</project_license>
<content_rating type="oars-1.0" />
<name>Inform 7 IDE</name>
<summary>Write interactive fiction</summary>
<keywords>
<keyword translate="no">IDE</keyword>
<keyword>interactive fiction</keyword>
<keyword translate="no">inform</keyword>
<keyword translate="no">GNOME</keyword>
<keyword translate="no">GTK</keyword>
<keyword>development</keyword>
</keywords>
<description>
<p>
Inform 7 IDE, also known as GNOME Inform, is a development environment
for building interactive fiction on Linux with the Inform design system.
Initially in development since 2006, and stemming from prior development
of the Inform system, which was originally released in 1993, the system
was released as free and open-source software under the Artistic License
2.0 in 2022. This IDE is built with GNOME and released as free-and-open-source
software under the GPLv3.
</p>
<p>
Inform is a design system for interactive fiction based on natural
language, a new medium of writing which came out of the "text adventure"
games of the 1980s.
It has been used by many leading writers of IF over the last twenty
years, for projects ranging from historical reconstructions, through
games, to art pieces, which have won numerous awards and competitions.
</p>
<p>
Inform's educational users span a uniquely wide age range, from primary
schools to graduate computer science classes.
Although Inform has also been used for commercial commissions, in
architecture, in the games industry and in advertising (most recently
for a major 2014 product launch), its primary aim is to help and to
encourage individual writers to express themselves in a new medium.
In a single evening with Inform, it's possible to write a vignette and
publish it as an interactive website, playable on any browser.
</p>
<p>
The Inform project was created by Graham Nelson in 1993 and first came to
the Macintosh Programmer's Workshop in 1995, and is now available as an app.
It combines the core Inform software with full documentation, including two
books and nearly 500 fully working examples. Connecting to the Inform website,
it can automatically download and update extensions from a fully curated Public
Library used by the world-wide Inform community. The app offers richly detailed
indexing of projects and scales from tiny fictions like "Kate is a woman in the
Research Lab" right up to enormous imaginary worlds whose source text runs to
over 3 million words. Features for automated testing, packaging and releasing
round out a fully-featured development environment for IF.
</p>
<p>
Inform is free, with no strings attached. What you make with it is yours, to
publish on your website, sell, or give to your friends. There's a vibrant community
of users who welcome newcomers (and the app will help you find a high-traffic forum
for discussions). Lastly, Inform is continuously maintained and developed. All bug
reports are examined and acted on (and the app will show you how to post them).
</p>
<p>
The source code behind the Inform 7 design system itself is linked here:
https://github.com/ganelson/inform/
</p>
<p>
The source code behind this IDE is linked here:
https://github.com/ptomato/inform7-ide/
</p>
</description>
<launchable type="desktop-id">com.inform7.IDE.desktop</launchable>
<screenshots>
<screenshot type="default">
<image>https://raw.githubusercontent.com/ptomato/inform7-ide/main/pixmaps/screenshots/source.png</image>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/ptomato/inform7-ide/main/pixmaps/screenshots/skein.png</image>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/ptomato/inform7-ide/main/pixmaps/screenshots/welcome.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://ganelson.github.io/inform-website/</url>
<url type="bugtracker">https://ganelson.github.io/inform-website/bugs/</url>
<url type="help">https://ganelson.github.io/inform-website/doc/</url>
<url type="donation">https://ganelson.github.io/inform-website/donate/</url>
<url type="vcs-browser">https://github.com/ptomato/inform7-ide</url>
<url type="contribute">https://github.com/ganelson/inform/</url>
<releases>
<release version="2.0.0" date="2022-09-03">
<description>
<p>
Long-awaited 2.0.0 release, corresponding to Inform 10.1.2.
</p>
<p>
Inform 10.1.2 was released on August 31st 2022, with changes to the build manager
to fix sandboxing issues on Linux that prevented the building and publishing of a
Linux build of Inform 10.1.1, as well as 10 other bug fixes.
</p>
</description>
</release>
</releases>
</component>
Started test build 72608
bot, build
Queued test build for com.inform7.IDE.
bot, build
Queued test build for com.inform7.IDE.
Build 72608 failed
Started test build 72615
FB: Running: git remote add --mirror=fetch origin https://github.com/ganelson/intest.git
FB: Running: git cat-file -e v2.1.0
FB: Running: git --version
FB: Git version: 2.42.0.0
FB: Running: git ls-remote origin
fatal: unable to access 'https://github.com/ganelson/intest.git/': Failed sending data to the peer
Failed to download sources: module inform: Child process exited with code 128
program finished with exit code 1
I didn't change anything about the intest source in the manifest, so this shouldn't be happening. Maybe it was a server issue. I'll try it again.
bot, build
Queued test build for com.inform7.IDE.
Build 72615 failed
Started test build 72622
Build 72622 failed
Started test build 72626
Build 72626 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/55279/com.inform7.IDE.flatpakref
Unfortunately with the testing build, compilation fails in the same way as https://github.com/flathub/com.inform7.IDE/pull/11#issuecomment-1599180144
I'm not sure what to suggest, maybe looking carefully at the output of the "build inform" step to see if there are any errors that didn't halt the process?
In the meantime, would you be interested in submitting the webkitgtk-4.1 change and the improvements to the appdata XML over at ptomato/inform7-ide? We can at least incorporate those improvements already.
Unfortunately with the testing build, compilation fails in the same way as #11 (comment)
I'm not sure what to suggest, maybe looking carefully at the output of the "build inform" step to see if there are any errors that didn't halt the process?
Thanks for your advice. I'll let you know when I've tried that out myself.
In the meantime, would you be interested in submitting the webkitgtk-4.1 change and the improvements to the appdata XML over at ptomato/inform7-ide? We can at least incorporate those improvements already.
@ptomato I've opened 2 PRs in your Inform 7 IDE repository: ptomato/inform7-ide#32, which takes care of the webkitgtk-4.1 change, and ptomato/inform7-ide#33, which takes care of the appdata.xml improvements.
bot, build
Queued test build for com.inform7.IDE.
Started test build 74596
Build 74596 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/57247/com.inform7.IDE.flatpakref
I figured out the problem that was making the Inform compiler unusable, or at least a workaround for it. The versions of GCC in runtimes 43 and later either miscompiles Inform when optimization is turned on, or (more likely) there is undefined behaviour in Inform that these newer versions of GCC handle differently than Clang. The workaround is to turn off optimization. This is probably temporary until the next version of Inform is released.
I've pushed an update to the development Flatpak manifest, https://github.com/ptomato/inform7-ide/commit/b8be210a336179c4c7592be7599c90d5f291c8f0 and you can probably adapt it to this PR.
Started test build 74973
Started test build 74975
Started test build 74976
74976 is the test build we're after (once it's built, of course).
Build 74975 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/57608/com.inform7.IDE.flatpakref
Build 74976 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/57609/com.inform7.IDE.flatpakref
Build 74973 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/57606/com.inform7.IDE.flatpakref
@ptomato (sorry for the ping) Rejoice! I tried compiling and running the Actor's Studio example under the test build, and now it works! Compiling a .gblorb
file for release with the Flatpak works too. Now I need to learn, among other things, how to run it (well, I'm still a novice towards the Inform and broader interactive fiction ecosystems in general)! :sweat_smile:
I tried seeking out the problems by running the Flatpak through the command line, but, sadly, the console messages were not of much help (lots of Gtk-Message: XX:XX:XX.XXX: Failed to load module "xapp-gtk3-module"
). I'm glad you managed to find them out and fix them eventually. Thanks for all your help! Hopefully this can get merged as soon as possible :+1:
Also, once this is merged, https://github.com/flathub/com.inform7.IDE/pull/11 can be closed. I already merged the commits from that PR into this one, anyway.
I'm aware that there's already a PR open at the moment for updating the GNOME runtime to 44: flathub/com.inform7.IDE#11
However, @ptomato (sorry for the ping), I believe you mentioned having problems with compiling projects under runtime 44 (and a few other things). Since GNOME 45 recently got released, I thought I'd update the runtime further, as version 44 reaches EOL next year, while version 45 reaches EOL the following year. Whether this runtime update has any effect on the issues you have mentioned I'm not sure yet, as I haven't tried it myself yet. I do think it's worth trying, just to see if things somehow change, but that's just my opinion.