Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gst-plugins-base: mark as broken #92261

Merged
merged 3 commits into from Jul 4, 2020
Merged

gst-plugins-base: mark as broken #92261

merged 3 commits into from Jul 4, 2020

Conversation

FRidh
Copy link
Member

@FRidh FRidh commented Jul 4, 2020

This will disable many reverse dependencies. If you need your program to work
you will need to migrate it to the newer gstreamer package.
#39975

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

This will disable many reverse dependencies. If you need your program to work
you will need to migrate it to the newer gstreamer package.
NixOS#39975
It depends on ancient gstreamer which is broken and likely insecure.
@vcunat
Copy link
Member

vcunat commented Jul 4, 2020

List of packages broken by this PR (184 transitively, for x86_64-{linux,darwin}):

aegisub.x86_64-linux
amuleDaemon.x86_64-linux
amuleGui.x86_64-linux
amule.x86_64-linux
appimage-run.x86_64-linux
asc.x86_64-linux
asls.x86_64-linux
audacity.x86_64-linux
bochs.x86_64-linux
boinc.x86_64-linux
bossa.x86_64-linux
cl.x86_64-linux
codeblocksFull.x86_64-linux
codeblocks.x86_64-linux
comical.x86_64-linux
couchdb2.x86_64-linux
cubicsdr.x86_64-linux
curaByDagoma.x86_64-linux
cura_stable.x86_64-linux
deltachat-electron.x86_64-linux
devdocs-desktop.x86_64-linux
diff-pdf.x86_64-linux
digikam.x86_64-linux
displaycal.x86_64-linux
dolphinEmu.x86_64-linux
dvdstyler.x86_64-linux
ejabberd.x86_64-linux
elixir_1_10.x86_64-linux
elixir_1_6.x86_64-linux
elixir_1_7.x86_64-linux
elixir_1_8.x86_64-linux
elixir_1_9.x86_64-linux
elixir.x86_64-linux
erlang_javac.x86_64-linux
erlang_odbc_javac.x86_64-linux
erlang_odbc.x86_64-linux
erlangR20.x86_64-linux
erlangR21.x86_64-linux
erlangR22.x86_64-linux
erlang.x86_64-linux
espeakedit.x86_64-linux
far2l.x86_64-linux
filezilla.x86_64-linux
fityk.x86_64-linux
fsg.x86_64-linux
gnonlin.x86_64-darwin
gnonlin.x86_64-linux
gnss-sdr.x86_64-linux
gnuradio-with-packages.x86_64-linux
gnuradio.x86_64-linux
golly-beta.x86_64-linux
golly.x86_64-linux
gqrx.x86_64-linux
gr-ais.x86_64-linux
grandorgue.x86_64-linux
grass.x86_64-linux
gr-gsm.x86_64-linux
gr-limesdr.x86_64-linux
gr-nacl.x86_64-linux
gr-osmosdr.x86_64-linux
gr-rds.x86_64-linux
gst-plugins-bad.x86_64-linux
gst-plugins-base.x86_64-darwin
gst-plugins-base.x86_64-linux
gst-plugins-good.x86_64-darwin
gst-plugins-good.x86_64-linux
gst-plugins-ugly.x86_64-darwin
gst-plugins-ugly.x86_64-linux
gst-python.x86_64-darwin
gst-python.x86_64-linux
gstreamermm.x86_64-darwin
gstreamermm.x86_64-linux
hugin.x86_64-linux
inspectrum.x86_64-linux
irccloud.x86_64-linux
joplin-desktop.x86_64-linux
kicad-small.x86_64-linux
kicad-unstable-small.x86_64-linux
ledger-live-desktop.x86_64-linux
lenmus.x86_64-linux
lfe_1_3.x86_64-linux
lfe.x86_64-linux
limesuite.x86_64-linux
loxodo.x86_64-linux
lutris-free.x86_64-linux
mail-notification.x86_64-linux
marktext.x86_64-linux
mavproxy.x86_64-linux
mediainfo-gui.x86_64-linux
megaglest.x86_64-linux
mercury.x86_64-linux
metamorphose2.x86_64-linux
mmex.x86_64-linux
notmuch-bower.x86_64-linux
odamex.x86_64-linux
opencpn.x86_64-linux
pantheon.nixpkgs-github-update.x86_64-linux
perl528Packages.AlienWxWidgets.x86_64-linux
perl528Packages.WxGLCanvas.x86_64-linux
perl528Packages.Wx.x86_64-linux
perl530Packages.AlienWxWidgets.x86_64-linux
perl530Packages.WxGLCanvas.x86_64-linux
perl530Packages.Wx.x86_64-linux
playonlinux.x86_64-linux
plover.stable.x86_64-linux
poedit.x86_64-linux
printrun.x86_64-linux
prusa-slicer.x86_64-linux
pwsafe.x86_64-linux
python27Packages.robotframework-ride.x86_64-linux
python27Packages.soapysdr-with-plugins.x86_64-linux
python27Packages.wxPython30.x86_64-linux
python27Packages.wxPython_4_0.x86_64-linux
python27Packages.wxPython.x86_64-linux
python37Packages.kicad.x86_64-linux
python37Packages.soapysdr-with-plugins.x86_64-linux
python37Packages.wxPython_4_0.x86_64-linux
python38Packages.kicad.x86_64-linux
python38Packages.soapysdr-with-plugins.x86_64-linux
python38Packages.wxPython_4_0.x86_64-linux
qradiolink.x86_64-linux
rabbitmq-server.x86_64-linux
radiotray-ng.x86_64-linux
rapidsvn.x86_64-linux
rebar3.x86_64-linux
rebar.x86_64-linux
relxExe.x86_64-linux
rtl_433.x86_64-linux
saga.x86_64-linux
salut_a_toi.x86_64-linux
sasview.x86_64-linux
scorched3d.x86_64-linux
scyther.x86_64-linux
sdrangel.x86_64-linux
sladeUnstable.x86_64-linux
slade.x86_64-linux
slic3r.x86_64-linux
soapysdr-with-plugins.x86_64-linux
sooperlooper.x86_64-linux
soundOfSorting.x86_64-linux
spek.x86_64-linux
springLobby.x86_64-linux
ssb-patchwork.x86_64-linux
standardnotes.x86_64-linux
station.x86_64-linux
steam-run-native.x86_64-linux
swfdec.x86_64-linux
Sylk.x86_64-linux
torchat.x86_64-linux
tqsl.x86_64-linux
treesheets.x86_64-linux
trustedqsl.x86_64-linux
tsung.x86_64-linux
tusk.x86_64-linux
urh.x86_64-linux
veracrypt.x86_64-linux
welle-io.x86_64-linux
wings.x86_64-linux
winpdb.x86_64-linux
woeusb.x86_64-linux
wootility.x86_64-linux
wxcam.x86_64-linux
wxGTK28.x86_64-linux
wxGTK29.x86_64-linux
wxGTK30-gtk2.x86_64-linux
wxGTK30-gtk3.x86_64-linux
wxGTK30.x86_64-linux
wxGTK31-gtk2.x86_64-linux
wxGTK31-gtk3.x86_64-linux
wxGTK31.x86_64-linux
wxGTK.x86_64-linux
wxhexeditor.x86_64-linux
wxmaxima.x86_64-linux
wxmupen64plus.x86_64-linux
wxsqlite3.x86_64-linux
wxsqliteplus.x86_64-linux
wxSVG.x86_64-linux
xchm.x86_64-linux
xfce.xfce4-volumed.x86_64-linux
xfce.xfce4volumed.x86_64-linux
xmlcopyeditor.x86_64-linux
xylib.x86_64-linux
zeroad.x86_64-linux
zulip.x86_64-linux

Configure log still prints `checking for GST... yes`
and the new GST libs appear in RPATH.
wxGTK28 does't seem able to configure with non-legacy GST,
but it's almost unused... so I didn't touch it.
@vcunat
Copy link
Member

vcunat commented Jul 4, 2020

Now the list got much shorter (63):

amuleDaemon.x86_64-linux
amuleGui.x86_64-linux
amule.x86_64-linux
appimage-run.x86_64-linux
asc.x86_64-linux
bochs.x86_64-linux
codeblocksFull.x86_64-linux
codeblocks.x86_64-linux
comical.x86_64-linux
deltachat-electron.x86_64-linux
devdocs-desktop.x86_64-linux
espeakedit.x86_64-linux
fsg.x86_64-linux
gnonlin.x86_64-darwin
gnonlin.x86_64-linux
gst-plugins-bad.x86_64-linux
gst-plugins-base.x86_64-darwin
gst-plugins-base.x86_64-linux
gst-plugins-good.x86_64-darwin
gst-plugins-good.x86_64-linux
gst-plugins-ugly.x86_64-darwin
gst-plugins-ugly.x86_64-linux
gst-python.x86_64-darwin
gst-python.x86_64-linux
gstreamermm.x86_64-darwin
gstreamermm.x86_64-linux
irccloud.x86_64-linux
joplin-desktop.x86_64-linux
kicad-small.x86_64-linux
kicad-unstable-small.x86_64-linux
ledger-live-desktop.x86_64-linux
mail-notification.x86_64-linux
marktext.x86_64-linux
mavproxy.x86_64-linux
mediainfo-gui.x86_64-linux
megaglest.x86_64-linux
python27Packages.wxPython_4_0.x86_64-linux
python37Packages.kicad.x86_64-linux
python37Packages.wxPython_4_0.x86_64-linux
python38Packages.kicad.x86_64-linux
python38Packages.wxPython_4_0.x86_64-linux
rapidsvn.x86_64-linux
scorched3d.x86_64-linux
soundOfSorting.x86_64-linux
ssb-patchwork.x86_64-linux
standardnotes.x86_64-linux
station.x86_64-linux
steam-run-native.x86_64-linux
swfdec.x86_64-linux
Sylk.x86_64-linux
tqsl.x86_64-linux
trustedqsl.x86_64-linux
tusk.x86_64-linux
wootility.x86_64-linux
wxcam.x86_64-linux
wxGTK28.x86_64-linux
wxGTK29.x86_64-linux
wxGTK.x86_64-linux
wxmupen64plus.x86_64-linux
xfce.xfce4-volumed.x86_64-linux
xfce.xfce4volumed.x86_64-linux
xmlcopyeditor.x86_64-linux
zulip.x86_64-linux

@jonringer
Copy link
Contributor

@vcunat how are generating those package diffs?

@vcunat
Copy link
Member

vcunat commented Jul 4, 2020

I quickly hacked the in-tree tool (from which the OfBorg rebuild counts got derived) to show just "disappearing" attribute names

--- a/maintainers/scripts/rebuild-amount.sh
+++ b/maintainers/scripts/rebuild-amount.sh
@@ -85 +85 @@ newPkgs() {
-               nix-env -f "$expr" -qaP --no-name --out-path --show-trace $3 \
+               nix-env -f "$expr" -qaP --no-name --show-trace $3 \
@@ -94 +94 @@ newPkgs() {
-       comm -13 "${list[@]}"
+       comm -23 "${list[@]}"

and then

$ ./maintainers/scripts/rebuild-amount.sh --print $(git merge-base origin/staging-next HEAD)

@FRidh FRidh merged commit 9ffa14d into NixOS:staging-next Jul 4, 2020
@vcunat
Copy link
Member

vcunat commented Jul 4, 2020

I was concerned about this xfce stuff, but it seems to be an old component that's not used anymore (by default). nativeOnly steam also isn't the default one. Overall I think the PR is suitable for our master.

@vcunat vcunat mentioned this pull request Jul 4, 2020
70 tasks
@vcunat
Copy link
Member

vcunat commented Jul 6, 2020

Well, the build turned out to be rather easy to fix

--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -2,3 +2,3 @@
 , libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
-, libintl
+, libintl, gnumake42
 , ApplicationServices
@@ -37,2 +37,3 @@ stdenv.mkDerivation rec {
   # TODO : v4l, libvisual
+  nativeBuildInputs = [ gnumake42 ];
   buildInputs =

but I expect we still want to keep it disabled by default (in some way)?

@evils evils mentioned this pull request Jul 21, 2020
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants