Created attachment 197149 [details] gstreamer-1.14.2.patch This is a prerequisite for Pitivi 0.999 (1.0 RC). - OpenGL plugin moved from bad to base - Plugins moved from bad to good: lame, mpg123, twolame (because MP3 patents expired); gtk3 - Added new plugins: aom (AV1), openmpt - Added Vulkan plugin (existed before, but the Vulkan loader only was merged into Ports recently) - Removed plugin: schroedinger - Fixed libde265 plist - Did not add wayland plugin yet (doesn't build with latest wayland(-protocols)). It's not that useful anyway (actually used sinks like GL, Vulkan, GTK do work on Wayland)
The patch looks good, but can you update it to 1.14.3?
Created attachment 197189 [details] gstreamer-1.14.3.patch Haha, I was working on 1.14.3 release day, I guess just a few hours before the announcement was posted. Here's 1.14.3
Request exp-run.
You forgot to change category Makefiles like multimedia/Makefile. Can you also generate the patch with "git diff -M100 -C100" so there are no copies and renames in the patch?
Created attachment 197276 [details] gstreamer-1.14.3.patch v2 Sure. (-M100% -C100%, btw — just 100 still incuded copies)
`git diff --no-renames` works too, and is probably less obscure.
Exp-run results on 10.4 amd64: http://package18.nyi.freebsd.org/build.html?mastername=104amd64-default-PR231406&build=2018-09-23_21h56m31s New failures on 10.4 amd64: + {"origin"=>"devel/cutter", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"graphics/gstreamer1-plugins-gl", "phase"=>"package", "errortype"=>"bad_C++_code"} + {"origin"=>"graphics/gstreamer1-plugins-vulkan", "phase"=>"build", "errortype"=>"missing_header"} + {"origin"=>"multimedia/clutter-gst3", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"net-im/farstream", "phase"=>"build", "errortype"=>"bad_C++_code"} Around 345 ports newly skipped due to those failures New failure logs: http://package18.nyi.freebsd.org/data/104amd64-default-PR231406/2018-09-23_21h56m31s/logs/cutter-1.2.6_1.log http://package18.nyi.freebsd.org/data/104amd64-default-PR231406/2018-09-23_21h56m31s/logs/gstreamer1-plugins-gl-1.14.3.log http://package18.nyi.freebsd.org/data/104amd64-default-PR231406/2018-09-23_21h56m31s/logs/gstreamer1-plugins-vulkan-1.14.3.log http://package18.nyi.freebsd.org/data/104amd64-default-PR231406/2018-09-23_21h56m31s/logs/clutter-gst3-3.0.14_1.log http://package18.nyi.freebsd.org/data/104amd64-default-PR231406/2018-09-23_21h56m31s/logs/farstream-0.2.7.log Note that there is a gnome update exp-run in progress.
Created attachment 197631 [details] cutter-no-gst.patch devel/cutter does not support new gstreamer yet: https://github.com/clear-code/cutter/commit/65a3a6a5c7e19f635b33df91d45e2f80b431b6f4 I'm not sure why a general purpose testing framework has special gstreamer stuff o_0 and grepping the ports tree doesn't find anyone using cutter at all. Let's just disable gstreamer in it. (While here, USES=gnome)
multimedia/clutter-gst3: I think it was fixed by the gnome update net-im/farstream: builds fine for me, that's an odd linker error graphics/gstreamer1-plugins-vulkan: oops, forgot in gstreamer1-plugins/Makefile.common: gst_vulkan_BUILD_DEPENDS=${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers graphics/gstreamer1-plugins-gl: ehh… ideally, bug 227423 would allow us to just depend on graphics/wayland instead of mesa-with-WAYLAND-option. For now I guess you can @comment that file.
May want to rebase against the latest head; antoine@ went around and fixed the plist handling for a number of ports, including multimedia/py-gstreamer1.
Looks like I got a downstream build failure with this update whilst building audio/rhythmbox: libtool: compile: cc -DHAVE_CONFIG_H -I. -I../.. -DGNOMELOCALEDIR=\"/usr/local/share/locale\" -DG_LOG_DOMAIN=\"Rhythmbox\" -I../.. -I../../lib -I../../metadata -I../../rhythmdb -I../../widgets -I../../sources -I../../plugins -I../../shell -I../../backends -DPIXMAP_DIR=\"/usr/local/share/pixmaps\" -DSHARE_DIR=\"/usr/local/share/rhythmbox\" -DDATADIR=\"/usr/local/share\" -I/usr/local/include/gobject-introspection-1.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/lib/libffi-3.2.1/include -I/usr/local/include/gtk-3.0 -I/usr/local/include/pango-1.0 -I/usr/local/include/fribidi -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/local/include/freetype2 -I/usr/local/include/libdrm -I/usr/local/include/libpng16 -I/usr/local/include/harfbuzz -I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include/gio-unix-2.0/ -I/usr/local/include/atk-1.0 -I/usr/local/include/at-spi2-atk/2.0 -I/usr/local/include/at-spi-2.0 -I/usr/local/include/dbus-1.0 -I/usr/local/lib/dbus-1.0/include -I/usr/local/include/libsoup-2.4 -I/usr/local/include/libxml2 -I/usr/local/include/libpeas-1.0 -D_THREAD_SAFE -I/usr/local/include/json-glib-1.0 -pthread -I/usr/local/include/gstreamer-1.0 -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/orc-0.4 -pthread -DGST_USE_UNSTABLE_API -I/usr/local/include/totem-pl-parser/1/plparser -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/local/include/gmime-3.0 -pthread -isystem /usr/local/include -I/usr/local/include -O2 -pipe -march=broadwell -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -I/usr/local/include -MT libfmradio_la-rb-fm-radio-gst-src.lo -MD -MP -MF .deps/libfmradio_la-rb-fm-radio-gst-src.Tpo -c rb-fm-radio-gst-src.c -fPIC -DPIC -o .libs/libfmradio_la-rb-fm-radio-gst-src.o rb-fm-radio-gst-src.c:179:1: error: pasting formed '"rbsilencesrc"_get_desc', an invalid preprocessing token GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, ^ /usr/local/include/gstreamer-1.0/gst/gstplugin.h:257:62: note: expanded from macro 'GST_PLUGIN_DEFINE' GST_PLUGIN_EXPORT const GstPluginDesc * G_PASTE(gst_plugin_, G_PASTE(name, _get_desc)) (void); \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:59: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:179:1: error: pasting formed 'gst_plugin_"rbsilencesrc"', an invalid preprocessing token /usr/local/include/gstreamer-1.0/gst/gstplugin.h:257:41: note: expanded from macro 'GST_PLUGIN_DEFINE' GST_PLUGIN_EXPORT const GstPluginDesc * G_PASTE(gst_plugin_, G_PASTE(name, _get_desc)) (void); \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:59: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:179:1: error: expected ';' after top level declarator /usr/local/include/gstreamer-1.0/gst/gstplugin.h:257:62: note: expanded from macro 'GST_PLUGIN_DEFINE' GST_PLUGIN_EXPORT const GstPluginDesc * G_PASTE(gst_plugin_, G_PASTE(name, _get_desc)) (void); \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:47: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:181:6: note: expanded from macro 'identifier1' "rbsilencesrc", ^ rb-fm-radio-gst-src.c:179:1: error: pasting formed '"rbsilencesrc"_register', an invalid preprocessing token /usr/local/include/gstreamer-1.0/gst/gstplugin.h:258:45: note: expanded from macro 'GST_PLUGIN_DEFINE' GST_PLUGIN_EXPORT void G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void); \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:59: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:179:1: error: pasting formed 'gst_plugin_"rbsilencesrc"', an invalid preprocessing token /usr/local/include/gstreamer-1.0/gst/gstplugin.h:258:24: note: expanded from macro 'GST_PLUGIN_DEFINE' GST_PLUGIN_EXPORT void G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void); \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:59: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:179:1: error: variable has incomplete type 'void' /usr/local/include/gstreamer-1.0/gst/gstplugin.h:258:24: note: expanded from macro 'GST_PLUGIN_DEFINE' GST_PLUGIN_EXPORT void G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void); \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:47: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ /usr/local/include/gstreamer-1.0/gst/gstplugin.h:258:32: note: expanded from macro 'identifier1' GST_PLUGIN_EXPORT void G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void); \ ^ rb-fm-radio-gst-src.c:179:1: error: expected ';' after top level declarator /usr/local/include/gstreamer-1.0/gst/gstplugin.h:258:45: note: expanded from macro 'GST_PLUGIN_DEFINE' GST_PLUGIN_EXPORT void G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void); \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:47: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:181:6: note: expanded from macro 'identifier1' "rbsilencesrc", ^ rb-fm-radio-gst-src.c:179:1: error: pasting formed '"rbsilencesrc"_get_desc', an invalid preprocessing token /usr/local/include/gstreamer-1.0/gst/gstplugin.h:276:22: note: expanded from macro 'GST_PLUGIN_DEFINE' G_PASTE(gst_plugin_, G_PASTE(name, _get_desc)) (void) \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:59: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:179:1: error: pasting formed 'gst_plugin_"rbsilencesrc"', an invalid preprocessing token /usr/local/include/gstreamer-1.0/gst/gstplugin.h:275:23: note: expanded from macro 'GST_PLUGIN_DEFINE' const GstPluginDesc * \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro '\ G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:59: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:179:1: error: expected ';' after top level declarator /usr/local/include/gstreamer-1.0/gst/gstplugin.h:276:22: note: expanded from macro 'GST_PLUGIN_DEFINE' G_PASTE(gst_plugin_, G_PASTE(name, _get_desc)) (void) \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:47: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:181:6: note: expanded from macro 'identifier1' "rbsilencesrc", ^ rb-fm-radio-gst-src.c:179:1: error: pasting formed '"rbsilencesrc"_register', an invalid preprocessing token /usr/local/include/gstreamer-1.0/gst/gstplugin.h:282:22: note: expanded from macro 'GST_PLUGIN_DEFINE' G_PASTE(gst_plugin_, G_PASTE(name, _register)) (void) \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro 'G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:59: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ rb-fm-radio-gst-src.c:179:1: error: pasting formed 'gst_plugin_"rbsilencesrc"', an invalid preprocessing token /usr/local/include/gstreamer-1.0/gst/gstplugin.h:281:6: note: expanded from macro 'GST_PLUGIN_DEFINE' void \ ^ /usr/local/include/glib-2.0/glib/gmacros.h:239:47: note: expanded from macro '\ G_PASTE' #define G_PASTE(identifier1,identifier2) G_PASTE_ARGS (identifier1, identifier2) ^ /usr/local/include/glib-2.0/glib/gmacros.h:238:59: note: expanded from macro 'G_PASTE_ARGS' #define G_PASTE_ARGS(identifier1,identifier2) identifier1 ## identifier2 ^ 12 errors generated. gmake[5]: *** [Makefile:626: libfmradio_la-rb-fm-radio-gst-src.lo] Error 1
1.14.4 has been released now. Do you have time to update the patch so we can do another exp-run?
Created attachment 198225 [details] gstreamer-1.14.4.patch Here's 1.14.4. libwayland-egl has landed in the meantime, so no problems with the gstreamer1 gl plugin anymore :)
A commit references this bug: Author: tijl Date: Thu Oct 18 18:21:53 UTC 2018 New revision: 482349 URL: https://svnweb.freebsd.org/changeset/ports/482349 Log: Disable gstreamer dependency because upcoming gstreamer 1.14 isn't supported. PR: 231406 Submitted by: Greg V <greg@unrelenting.technology> Changes: head/devel/cutter/Makefile head/devel/cutter/pkg-plist
Antoine, can we get another exp-run?
The multimedia/gstreamer1-qt changes looks backward.
Created attachment 198488 [details] gstreamer-1.14.4.patch v2 oh. sorry, that was silly, I thought -qt must've had a new version, removed the revision, realized it's still 1.20 and forgot to add it back. No -qt changes now.
There's still a problem with the gl plugin: http://package22.nyi.freebsd.org/data/104amd64-default-PR231406/2018-10-23_14h31m17s/logs/errors/gstreamer1-plugins-gl-1.14.4.log
Created attachment 198504 [details] gstreamer-1.14.4.patch v3 hm, how did I not commit the include BUILD_DEPENDS…
The exp-run appears to have finished: http://package22.nyi.freebsd.org/build.html?mastername=104amd64-default-PR231406&build=2018-10-23_19h51m29s Antoine will give you an exact list of what's broken, but there's already some obvious ones like gstreamer1-editing-services and gstreamer1-validate that you could take a look at. The problem with farstream can be fixed by updating to 0.2.8 it seems. For rhythmbox you'll need this: https://gitlab.gnome.org/GNOME/rhythmbox/commit/b182c6b9e1d09e601bac0b703cc5f8b159ebbc3a. Also, for gstreamer1-plugins-srtp you can change the dependency on libsrtp.so to libsrtp2.so.
New failures on 10.4 amd64: + {"origin"=>"audio/rhythmbox", "phase"=>"build", "errortype"=>"bad_C++_code"} + {"origin"=>"multimedia/gstreamer1-editing-services", "phase"=>"package", "errortype"=>"bad_C++_code"} + {"origin"=>"multimedia/gstreamer1-validate", "phase"=>"fetch", "errortype"=>"bad_C++_code"} + {"origin"=>"net-im/farstream", "phase"=>"build", "errortype"=>"bad_C++_code"} New failure logs on 10.4 amd64: http://package22.nyi.freebsd.org/data/104amd64-default-PR231406/2018-10-23_19h51m29s/logs/errors/rhythmbox-3.4.2_3.log http://package22.nyi.freebsd.org/data/104amd64-default-PR231406/2018-10-23_19h51m29s/logs/errors/gstreamer1-editing-services-1.14.4.log http://package22.nyi.freebsd.org/data/104amd64-default-PR231406/2018-10-23_19h51m29s/logs/errors/gstreamer1-validate-1.14.4.log http://package22.nyi.freebsd.org/data/104amd64-default-PR231406/2018-10-23_19h51m29s/logs/errors/farstream-0.2.7.log
Same new failures on 10.4 i386
Created attachment 198787 [details] gstreamer-1.14.4.patch v4 v4. Sorry for the delay, I was a bit busy. These ports that failed in the exp-run work for me in Synth now. > The problem with farstream can be fixed by updating to 0.2.8 I did that, but that didn't get into the previous patch because of a git mistake… oops.
Exp-run looks fine.
A commit references this bug: Author: tijl Date: Sat Nov 3 11:58:17 UTC 2018 New revision: 483887 URL: https://svnweb.freebsd.org/changeset/ports/483887 Log: Update GStreamer to 1.14.4. PR: 231406 Submitted by: Greg V <greg@unrelenting.technology> Exp-run by: antoine Approved by: portmgr (antoine) Changes: head/Mk/bsd.gstreamer.mk head/audio/Makefile head/audio/gstreamer1-plugins-lame/Makefile head/audio/gstreamer1-plugins-mpg123/Makefile head/audio/gstreamer1-plugins-openmpt/ head/audio/gstreamer1-plugins-openmpt/Makefile head/audio/gstreamer1-plugins-twolame/Makefile head/audio/rhythmbox/Makefile head/audio/rhythmbox/files/patch-gst114 head/graphics/Makefile head/graphics/gstreamer1-plugins-gl/Makefile head/graphics/gstreamer1-plugins-gl/pkg-plist head/graphics/gstreamer1-plugins-openjpeg/Makefile head/graphics/gstreamer1-plugins-openjpeg/files/patch-inc head/graphics/gstreamer1-plugins-openjpeg/files/patch-openjpeg23 head/graphics/gstreamer1-plugins-vulkan/ head/graphics/gstreamer1-plugins-vulkan/Makefile head/multimedia/Makefile head/multimedia/gstreamer1/Makefile head/multimedia/gstreamer1/distinfo head/multimedia/gstreamer1/files/patch-Makefile.in head/multimedia/gstreamer1/pkg-plist head/multimedia/gstreamer1-editing-services/Makefile head/multimedia/gstreamer1-editing-services/distinfo head/multimedia/gstreamer1-editing-services/pkg-plist head/multimedia/gstreamer1-libav/Makefile head/multimedia/gstreamer1-libav/distinfo head/multimedia/gstreamer1-libav/files/patch-gst-libs_ext_libav_configure head/multimedia/gstreamer1-plugins/Makefile head/multimedia/gstreamer1-plugins/Makefile.common head/multimedia/gstreamer1-plugins/distinfo head/multimedia/gstreamer1-plugins/pkg-plist head/multimedia/gstreamer1-plugins-all/Makefile head/multimedia/gstreamer1-plugins-aom/ head/multimedia/gstreamer1-plugins-aom/Makefile head/multimedia/gstreamer1-plugins-bad/Makefile head/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstfacedetect.h head/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gsthanddetect.h head/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gsttemplatematch.cpp head/multimedia/gstreamer1-plugins-bad/files/patch-ext_wayland_Makefile.in head/multimedia/gstreamer1-plugins-bad/pkg-plist head/multimedia/gstreamer1-plugins-core/Makefile head/multimedia/gstreamer1-plugins-dash/Makefile head/multimedia/gstreamer1-plugins-schroedinger/ head/multimedia/gstreamer1-plugins-smoothstreaming/Makefile head/multimedia/gstreamer1-plugins-ugly/files/ head/multimedia/gstreamer1-rtsp-server/Makefile head/multimedia/gstreamer1-rtsp-server/distinfo head/multimedia/gstreamer1-rtsp-server/pkg-plist head/multimedia/gstreamer1-vaapi/Makefile head/multimedia/gstreamer1-vaapi/distinfo head/multimedia/gstreamer1-vaapi/files/ head/multimedia/gstreamer1-validate/Makefile head/multimedia/gstreamer1-validate/distinfo head/multimedia/gstreamer1-validate/pkg-plist head/multimedia/py-gstreamer1/Makefile head/multimedia/py-gstreamer1/distinfo head/multimedia/py-gstreamer1/pkg-plist head/net-im/farstream/Makefile head/net-im/farstream/distinfo head/net-im/farstream/pkg-plist head/x11-toolkits/gstreamer1-plugins-gtk/Makefile