Closed ghost closed 2 years ago
The beta version from flathub-beta is bumped to 5.0.X.
There's an instruction on how to install the flathub-beta repo: https://github.com/flathub/flathub#using-the-flathub-repository
Why not upgrade to 5.0.x now?
Just as an example, the version in fedora's repo is 5.0.3-2.fc34.
The beta build is also quite outdated at this point as it currently provides 5.0.0 as opposed to the latest 5.0.3.
Quoting the project's dev:
From PulseEffects 5.0.0 to 5.0.3 some critical bugs have been fixed. In this time window even the legacy branch had to receive fixes for critical bugs that also affect 5.0.0.
@vchernin it's not a PulseEffects issue, but a runtime issue. PulseEffects 5.0.3 requires PipeWire >=0.3.24 but the GNOME runtime ships with an older version, from what I understood. See https://github.com/flathub/com.github.wwmm.pulseeffects/pull/46#issuecomment-812296973.
@TheEvilSkeleton in #48 I attempted to build pulseeffects with the latest pipewire (0.3.26) instead of what is provided in the gnome runtime. This didn’t seem to help, although it’s entirely possible I didn’t integrate/link the newer pipewire properly.
Why not upgrade to 5.0.x now?
Just as an example, the version in fedora's repo is 5.0.3-2.fc34.
Because >=5.X doesn't support PulseAudio anymore. Most distros still use PulseAudio.
Yes this is indeed a problem, although I’d argue this is something upstream should find a solution for, and usually flathub policy is to try and follow upstream. Perhaps pulseeffects splitting into two apps and giving them distinct names would help. It may be even more confusing to users if the flatpak behaves differently from the already somewhat confusing upstream issue.
Still I agree just pushing PipeWire builds to the stable flatpak branch would absolutely cause a lot of headaches, unless we find a clear way of notifying users or another solution.
Perhaps pulseeffects splitting into two apps and giving them distinct names would help
Once I finish the work in my gtk4 branch the application will be renamed https://github.com/wwmm/pulseeffects/issues/874. As I am its only developer and I do not have time to develop 2 separated applications in the usual sense of the word the Pulseaudio branch will remain in maintenance mode forever. So it is better to do the same with its flatpak package.
pushing PipeWire builds to the stable flatpak branch would absolutely cause a lot of headaches
As things are right now it is likely what is going to happen. So my suggestion would be to wait a little longer for the gtk4 branch to be ready and creating a new package for EasyEffects
once its is released or I start the app renaming in the gtk4 branch. As the string pulseeffects
is in several files for several different reasons it is not just a matter of renaming the executable.
Of all the plugins available in the stable branch the only one that was not ported yet is the webrtc
plugin. I probably will have to write an echo cancellation plugin to replace it. Depending on how much this takes in 3 or 4 months EasyEffects
will be ready for use.
Of all the plugins available in the stable branch the only one that was not ported yet is the
webrtc
plugin
By this I meant ported to PipeWire native filters. The plan is not using GStreamer anymore. If that will be possible in the test signals pipeline remains to be seen. The effects pipelines in the gtk4 branch does not use GStreamer anymore.
@wwmm thank you for your input, and for your fantastic work on pulseeffects!
So would you say this flatpak’s stable repo should forever stay on 4.0.x (pulseaudio), and in the future a separate easyeffects flatpak should be created for the 5.0.x/gtk4 (pipewire) branch?
It certainly would be problematic to simply publish the Pipewire version under the com.github.wwmm.pulseeffects ID because that would break it for PA users through an update. A new app ID is the clean solution.
So would you say this flatpak’s stable repo should forever stay on 4.0.x (pulseaudio), and in the future a separate easyeffects flatpak should be created for the 5.0.x/gtk4 (pipewire) branch?
Yes. Trying to move the flatpak package to PipeWire now will bring the issue mentioned by DanMan. And from a functionality point of view the next big release will be better for flatpak users. Now that native PipeWire filters are replacing GStreamer realtime priorities will finally be used in the audio thread. In the current approach this is impossible because I have to handle this myself and flatpak does not work together with realtimekit. So the GStreamer thread handling audio is unable to use realtime.
Which is bad for reasons mentioned. I urge you not to do this.
Which is bad for reasons mentioned. I urge you not to do this.
I think you are being confused with what is happening. The update got merged to beta, not to stable. The stable version will stay on version <5 (PulseAudio) for a while, and those that installed the stable version will stay on stable. Version >=5 will be continued only on beta. So this is opt-in, and not automatic, as the user will have to manually install the beta version to get the PipeWire only version.
Then I have been mistaken indeed. 👍
@DanMan Yes, as seen above the intention is to keep pulseeffects flatpak stable on pulseaudio either for a very long time or forever.
In the future there hopefully will be an easyeffects flatpak which would be pipewire only.
Just in case none of you have noticed EasyEffects 6.0.0 has been released. Let me know if something out of the ordinary happens when trying to build a flatpak package.
Great to hear!
@wwmm would you prefer it to be called com.github.wwmm.easyeffects
in accordance with com.github.wwmm.pulseeffects
?
Strangely just building the current beta branch didn't work on my local machine, so I tried in #53. I got [135/507] Linking target glib/glibmm/libglibmm-2.4.so.1.3.0Error: module glibmm: Child process exited with code 137
, which is odd since it seems to have been fine before. Edit: apparently my machine behaves differently than buildbot, so perhaps that is the cause of all my issues.
I tried building easyeffects, I had some trouble building zita-convolver and gst-plugins-bad, so I just commented them out for now.
Easyeffects itself had this error. It seems like the Flatpak environment doesn't have recent enough C++? I tried using the master branch of gnome platform but that didn't seem to help.
The Meson build system
Version: 0.56.2
Source dir: /run/build/easyeffects
Build dir: /run/build/easyeffects/_flatpak_build
Build type: native build
Project name: easyeffects
Project version: 6.0.0
Using 'CFLAGS' from environment with value: '-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection '
Using 'LDFLAGS' from environment with value: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed '
C compiler for the host machine: ccache cc (gcc 10.2.0 "cc (GCC) 10.2.0")
C linker for the host machine: cc ld.bfd 2.35.2
Using 'CXXFLAGS' from environment with value: '-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection '
Using 'LDFLAGS' from environment with value: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed '
../meson.build:1:0: ERROR: Value "c++20" (of type "string") for combo option "C++ language standard to use" is not one of the choices. Possible choices are (as string): "none", "c++98", "c++03", "c++11", "c++14", "c++17", "c++1z", "c++2a", "gnu++03", "gnu++11", "gnu++14", "gnu++17", "gnu++1z", "gnu++2a".
A full log can be found at /run/build/easyeffects/_flatpak_build/meson-logs/meson-log.txt
Error: module easyeffects: Child process exited with code 1
@wwmm would you prefer it to be called com.github.wwmm.easyeffects in accordance with com.github.wwmm.pulseeffects?
I think it is a good idea. Unless there is some reason to do otherwise.
../meson.build:1:0: ERROR: Value "c++20" (of type "string") for combo option "C++ language standard to use" is not one of the choices
Which compiler version are you using? Here on Arch Linux I have gcc 11.1.0
. Or could this be a Meson version problem? Here I have 0.58.1
. I did not test with others. I just assumed it would work.
I remember seeing GCC 10 being used according to the build logs, and meson 0.56.2. I'm not sure exactly where Flatpak sources those, but it's not from my host system (Fedora 34) as that comes with GCC 11.
Presumably we need a newer SDK or runtime.
As I am using some c++20 features gcc 10 might be a problem. I do not remember now if I am using something that was only implemented in gcc 11. But it is possible.
Great to hear! @wwmm would you prefer it to be called
com.github.wwmm.easyeffects
in accordance withcom.github.wwmm.pulseeffects
?
Once we get EasyEffects working, can we create a new Flatpak package under the ID mention above?
definitely.
I tried different runtimes, including org.gnome.Platform's master (from gnome-nightly), and none of the currently include gcc 11. I'm not quite sure how to proceed here.
@TheEvilSkeleton I've already started working on it, see the issues discussed here and in #53.
I tried different runtimes, including org.gnome.Platform's master (from gnome-nightly), and none of the currently include gcc 11. I'm not quite sure how to proceed here.
Yup, I did the same. I also tried 40beta from flathub-beta, but no luck sadly.
You can build meson 0.57 (I think it's enough for C++20). And also upstream should require that version in the meson.build.
See https://github.com/mesonbuild/meson/commit/a7aba905a0e53ebdbaeccb3890291e5c147bd845 for when it was added to meson.
Now it's not enough for gcc 10.2, then upstream would need to relax the requirement a bit, or risk not being buildable on a lot of distros.
See mesonbuild/meson@a7aba90 for when it was added to meson.
Thanks! I forgot about that.
or risk not being buildable on a lot of distros
I think that by using c++20 features I am already causing that anyway. I will increase the minimum Meson version to 0.57
.
the gcc in the GNOME 40 runtime seem to accept -std=c++20
, so it's possible that building the right version of meson ought to be enough.
I tried installing the latest version of Meson, see https://github.com/TheEvilSkeleton/com.github.wwmm.pulseeffects/commit/e90b7d9032fdc4236e51e7d09528baec31458b76#diff-4644890bef7700c69927879d04ee35e504b9beaa2a158604fc618f8a6b7e73c1R362-R375.
However, it still doesn't use the latest version of Meson:
========================================================================
Building module meson in /var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10
========================================================================
Running: pip3 install --ignore-installed --exists-action=i --no-index --find-links="file://${PWD}" --prefix=/app "meson"
FB: Running: flatpak build --die-with-parent --env=FLATPAK_BUILDER_BUILDDIR=/run/build/meson --nofilesystem=host --filesystem=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --bind-mount=/run/build/meson=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --build-dir=/run/build/meson --bind-mount=/run/ccache=/var/home/TheEvilSkeleton/.cache/flatpak-builder/ccache --unshare=network --env=SOURCE_DATE_EPOCH=1625872695 '--env=CFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=CXXFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=LDFLAGS=-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed ' --env=CCACHE_DIR=/run/ccache --env=PATH=/run/ccache/bin:/app/bin:/usr/bin --env=LD_LIBRARY_PATH=/app/lib --env=PKG_CONFIG_PATH=/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig --env=FLATPAK_BUILDER_N_JOBS=12 /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG /bin/sh -c 'pip3 install --ignore-installed --exists-action=i --no-index --find-links="file://${PWD}" --prefix=/app "meson"'
Looking in links: file:///run/build/meson
Processing ./meson-0.58.1.tar.gz
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Building wheels for collected packages: meson
Building wheel for meson (PEP 517) ... done
Created wheel for meson: filename=meson-0.58.1-py3-none-any.whl size=758357 sha256=dabdaf095576aafea97da0f2174188ca3a4cabb0ad2f2f09198bfc47f81a6098
Stored in directory: /var/home/TheEvilSkeleton/.cache/pip/wheels/48/a2/64/5690a740155f5083636ebd1f4b45d8ae9d2ca789d3b4a64060
Successfully built meson
Installing collected packages: meson
Successfully installed meson-0.58.1 # <=============== Notice Meson 0.58.1 was installed ####################
FB: unmounting rofiles-fuse /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG
Committing stage build-meson to cache
FB: Running: git rev-parse v6.0.0
FB: Mounting read-only fs: rofiles-fuse /var/home/TheEvilSkeleton/.cache/flatpak-builder-builddir/com.github.wwmm.pulseeffects /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG
========================================================================
Building module easyeffects in /var/home/TheEvilSkeleton/.cache/flatpak-builder/build/easyeffects-21
========================================================================
FB: Running: cp -al /var/home/TheEvilSkeleton/.cache/flatpak-builder/git/https_github.com_wwmm_easyeffects.git /var/home/TheEvilSkeleton/.cache/flatpak-builder/build/easyeffects-21/.git
FB: Running: git config --bool core.bare false
FB: Running: git checkout v6.0.0
Note: switching to 'v6.0.0'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 2ee3f0b7 updated changelog
FB: Running: git rev-parse --verify --quiet v6.0.0:.gitmodules
FB: Running: flatpak build --die-with-parent --env=FLATPAK_BUILDER_BUILDDIR=/run/build/easyeffects --nofilesystem=host --filesystem=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/easyeffects-21 --bind-mount=/run/build/easyeffects=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/easyeffects-21 --build-dir=/run/build/easyeffects/_flatpak_build --bind-mount=/run/ccache=/var/home/TheEvilSkeleton/.cache/flatpak-builder/ccache --unshare=network --env=SOURCE_DATE_EPOCH=1625872695 '--env=CFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=CXXFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=LDFLAGS=-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed ' --env=CCACHE_DIR=/run/ccache --env=PATH=/run/ccache/bin:/app/bin:/usr/bin --env=LD_LIBRARY_PATH=/app/lib --env=PKG_CONFIG_PATH=/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig --env=FLATPAK_BUILDER_N_JOBS=12 /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG meson --prefix=/app ..
Using 'PKG_CONFIG_PATH' from environment with value: '/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig'
Using 'PKG_CONFIG_PATH' from environment with value: '/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig'
The Meson build system
Version: 0.56.2 # <=========== Notice it is using an older Meson of version ##########################
Source dir: /run/build/easyeffects
Build dir: /run/build/easyeffects/_flatpak_build
Build type: native build
Project name: easyeffects
Project version: 6.0.0
Using 'CFLAGS' from environment with value: '-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection '
Using 'LDFLAGS' from environment with value: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed '
C compiler for the host machine: ccache cc (gcc 10.2.0 "cc (GCC) 10.2.0")
C linker for the host machine: cc ld.bfd 2.35.2
Using 'CXXFLAGS' from environment with value: '-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection '
Using 'LDFLAGS' from environment with value: '-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed '
../meson.build:1:0: ERROR: Value "c++20" (of type "string") for combo option "C++ language standard to use" is not one of the choices. Possible choices are (as string): "none", "c++98", "c++03", "c++11", "c++14", "c++17", "c++1z", "c++2a", "gnu++03", "gnu++11", "gnu++14", "gnu++17", "gnu++1z", "gnu++2a".
A full log can be found at /run/build/easyeffects/_flatpak_build/meson-logs/meson-log.txt
Error: module easyeffects: Child process exited with code 1
FB: Unmounting read-only fs: fusermount -uz /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG
Build failed!
Changing the build-commands
of the meson
module to
build-commands:
- 'which meson'
- 'pip3 install --ignore-installed --exists-action=i --no-index --find-links="file://${PWD}" --prefix=/app "meson"'
- 'which meson'
- '/app/bin/meson --version'
Gives me this:
Running: which meson
FB: Running: flatpak build --die-with-parent --env=FLATPAK_BUILDER_BUILDDIR=/run/build/meson --nofilesystem=host --filesystem=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --bind-mount=/run/build/meson=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --build-dir=/run/build/meson --bind-mount=/run/ccache=/var/home/TheEvilSkeleton/.cache/flatpak-builder/ccache --unshare=network --env=SOURCE_DATE_EPOCH=1625873243 '--env=CFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=CXXFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=LDFLAGS=-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed ' --env=CCACHE_DIR=/run/ccache --env=PATH=/run/ccache/bin:/app/bin:/usr/bin --env=LD_LIBRARY_PATH=/app/lib --env=PKG_CONFIG_PATH=/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig --env=FLATPAK_BUILDER_N_JOBS=12 /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG /bin/sh -c 'which meson'
/usr/bin/meson
Running: pip3 install --ignore-installed --exists-action=i --no-index --find-links="file://${PWD}" --prefix=/app "meson"
FB: Running: flatpak build --die-with-parent --env=FLATPAK_BUILDER_BUILDDIR=/run/build/meson --nofilesystem=host --filesystem=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --bind-mount=/run/build/meson=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --build-dir=/run/build/meson --bind-mount=/run/ccache=/var/home/TheEvilSkeleton/.cache/flatpak-builder/ccache --unshare=network --env=SOURCE_DATE_EPOCH=1625873243 '--env=CFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=CXXFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=LDFLAGS=-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed ' --env=CCACHE_DIR=/run/ccache --env=PATH=/run/ccache/bin:/app/bin:/usr/bin --env=LD_LIBRARY_PATH=/app/lib --env=PKG_CONFIG_PATH=/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig --env=FLATPAK_BUILDER_N_JOBS=12 /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG /bin/sh -c 'pip3 install --ignore-installed --exists-action=i --no-index --find-links="file://${PWD}" --prefix=/app "meson"'
Looking in links: file:///run/build/meson
Processing ./meson-0.58.1.tar.gz
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Building wheels for collected packages: meson
Building wheel for meson (PEP 517) ... done
Created wheel for meson: filename=meson-0.58.1-py3-none-any.whl size=758357 sha256=a8df27cecc639256a87f365d221daa4976689de84eeaea21e1a2976f4c11a9aa
Stored in directory: /var/home/TheEvilSkeleton/.cache/pip/wheels/48/a2/64/5690a740155f5083636ebd1f4b45d8ae9d2ca789d3b4a64060
Successfully built meson
Installing collected packages: meson
Successfully installed meson-0.58.1
Running: which meson
FB: Running: flatpak build --die-with-parent --env=FLATPAK_BUILDER_BUILDDIR=/run/build/meson --nofilesystem=host --filesystem=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --bind-mount=/run/build/meson=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --build-dir=/run/build/meson --bind-mount=/run/ccache=/var/home/TheEvilSkeleton/.cache/flatpak-builder/ccache --unshare=network --env=SOURCE_DATE_EPOCH=1625873243 '--env=CFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=CXXFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=LDFLAGS=-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed ' --env=CCACHE_DIR=/run/ccache --env=PATH=/run/ccache/bin:/app/bin:/usr/bin --env=LD_LIBRARY_PATH=/app/lib --env=PKG_CONFIG_PATH=/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig --env=FLATPAK_BUILDER_N_JOBS=12 /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG /bin/sh -c 'which meson'
/app/bin/meson
Running: /app/bin/meson --version
FB: Running: flatpak build --die-with-parent --env=FLATPAK_BUILDER_BUILDDIR=/run/build/meson --nofilesystem=host --filesystem=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --bind-mount=/run/build/meson=/var/home/TheEvilSkeleton/.cache/flatpak-builder/build/meson-10 --build-dir=/run/build/meson --bind-mount=/run/ccache=/var/home/TheEvilSkeleton/.cache/flatpak-builder/ccache --unshare=network --env=SOURCE_DATE_EPOCH=1625873243 '--env=CFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=CXXFLAGS=-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection ' '--env=LDFLAGS=-L/app/lib -Wl,-z,relro,-z,now -Wl,--as-needed ' --env=CCACHE_DIR=/run/ccache --env=PATH=/run/ccache/bin:/app/bin:/usr/bin --env=LD_LIBRARY_PATH=/app/lib --env=PKG_CONFIG_PATH=/app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig --env=FLATPAK_BUILDER_N_JOBS=12 /var/home/TheEvilSkeleton/.cache/flatpak-builder/rofiles/rofiles-EiLBDG /bin/sh -c '/app/bin/meson --version'
0.56.2
I do not understand how Meson is still at an older version even if I have installed the latest version.
I haven't had luck with manually adding meson 0.57 either.
Meson 0.57.2 is merged (not yet in a release) in freedesktop-sdk, so I assume it will make it in the freedesktop 21.08 runtime.
We could try to use that (adding gnome dependencies manually), or wait for the gnome 41 runtime later on. AFAIK the gnome runtime is a derivative/fork of the freedesktop one, so it should get the newer meson eventually.
did you set the PYTHONPATH in build env?
I got EasyEffects Flatpak building (but not running after the fact). A lot of modules needed manual updates, and some new things needed to be added. See https://github.com/vchernin/com.github.wwmm.easyeffects
I used the latest master from gnome-nightly for the runtime. I couldn't get newer meson from pip working in the current 40 runtime.
There are some modules that were causing trouble, so that still needs work before I'm actually confident everything is correct. rubberband
to be missing at runtime, causing it to not run, and updating it causes build issues. Also I couldn't get webrtc-audio-processing
working yet. The icon is also broken. There's also commented out stuff that should just be removed when it's all working.
I'll try working on this more later, for now I'm happy it at leasts builds.
Edit: I got the last dependencies in, and I think I figured out PYTHONPATH. I'll tale a look at the icon later.
Also I couldn't get webrtc-audio-processing working yet
Why are you trying to get this working? Maybe one they I will be able to improve our echo canceller plugin by using that webrtc library. But at this moment we use the speexdsp library to cancel echo.
Why are you trying to get this working? Maybe one they I will be able to improve our echo canceller plugin by using that webrtc library. But at this moment we use the speexdsp library to cancel echo.
Thanks for clarifying, I recalled the webrtc library being on the dependency list but clearly I was mistaken. I'll remove the webrtc one for now. speexdsp is now included in that linked manifest.
Got it running now! (ignoring the icon)
Got meson 0.58.1 working using pip, on the gnome 40 runtime. Thanks @TheEvilSkeleton @hfiguiere, I incorporated some of your suggestions and manifest modules as they helped get that working, if it's ok should those be left in the final manifest? I'll try to figure out the icon next.
Does this seem ready otherwise for a PR at flathub/flathub?
Edit: I might try to get yelp for in-app help working.
if it runs and you are statisfied with it, please submit the PR. It'll get reviewed.
EasyEffects is now live on Flathub stable. Thank you everyone who helped! If you have issues please report it in the EasyEffects repo, and maybe check https://github.com/flathub/flathub/pull/2429 before posting. This issue can now be closed as there isn't much else to do in this issue.
The PulseEffects Flatpak stable version will continue to stay on PulseAudio and GTK 3 (4.x branch). The PulseEffects Flatpak beta version will continue to stay on PipeWire and GTK 3 (5.x branch). EasyEffects (6.x branch) is recomended if you are using PipeWire, the 4.x and 5.x PulseEffects branches are under maintenance mode and likely won't receive signifcant updates (unless someone wants to of course).
In #57 I have proposed to EOL (end of life) the PulseEffects beta (PipeWire 5.x) branch and recommend users to migrate to EasyEffects. EasyEffects uses PipeWire and is actively maintained unlike the PulseEffects 5.x PipeWire branch. This won't affect the stable (PulseAudio 4.x) branch.
If anyone doesn't want this to happen please comment here.
For context see https://github.com/wwmm/easyeffects/issues/1120 and the comment directly above.
Ok, the beta branch is now EOL since no one said anything otherwise should happen. The stable (PulseAudio) version of PulseEffects Flatpak will be unaffected.
If you really still do want the 5.x beta you should be able to ignore the warning, or just build it yourself. If you have suggestions for how EasyEffects should be improved please open an issue at https://github.com/wwmm/easyeffects.
I'll close this issue since there isn't much to discuss here anymore.
May involve some change and challenge, as it now uses and depends on pipewire, but absolutely necessary ASAP.