-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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_all_1.gst-plugins-rs: init at 0.10.7, mopidy-spotify: re-init at unstable-2023-04-21 #225143
gst_all_1.gst-plugins-rs: init at 0.10.7, mopidy-spotify: re-init at unstable-2023-04-21 #225143
Conversation
oh this is neat, and thanks for the ping. However I've switched to apple music in the last couple of months so |
No worries then! Thought I'd at least check :) |
6a50d48
to
c13844b
Compare
I made a push to update the timeout multiplier for checks because they can take a little more than a half hour on slower or busy systems it seems (I ran into it when testing x86_64-darwin through rosetta2) |
I can't replicate that ofborg x86_64-linux error on any of my own machines I've opened https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/337 about it and worst case we can just temporarily disable that plugin |
|
I've gotta rebase this for a merge conflict anyway, but I'm going to push a test commit first to attempt to get logs out of ofborg for why that one test is failing on x86_64-linux (since I can't seem to replicate it any longer on my aarch64 system 🤔) |
f69deab
to
11207e5
Compare
11207e5
to
66f4f76
Compare
74b8a4f
to
66f4f76
Compare
Well, OfBorg isn't failing anymore and I could never reproduce that test failure myself, so I guess problem solved? If it occurs again in the future (e.g. on Hydra or local builds), I'll be able to provide more data for upstream, but for now I guess that's out of scope for this PR |
I just pushed an update to make sure |
66f4f76
to
16e9b14
Compare
@ofborg build gst_all_1.gst-plugins-rs Apparently ofborg started failing again on x86_64-linux and while I was hoping to get cole to test stuff on the builder itself, I guess I'll just use this PR again to attempt to get debug logs for upstream (apologies for the noise for anyone still subscribed to this...) |
d6c5ea8
to
12788fe
Compare
Can the main Rust derivation not be split up? This seems inconvenient for those who only want a few of the plugins, especially when cross-compiling from scratch due to the lack of binary caches. See below for example what I've been using for { fetchFromGitLab
, rustPlatform
, pkg-config
, wrapGAppsHook
, openssl
, glib
, gst_all_1
}:
rustPlatform.buildRustPackage rec {
pname = "gst-plugin-webrtc";
version = "0.10.2";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "gstreamer";
repo = "gst-plugins-rs";
rev = version;
hash = "sha256-bMqun2uFd32sG2wKT9WrACy5Qxu5jKndcUUl997Di7o=";
};
buildAndTestSubdir = "net/webrtc";
cargoHash = "sha256-TdzK6anh2pnIdx7bfSE43zI3gh6iQAgi3qWEIS96J/4=";
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
buildInputs = [
openssl
glib
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-bad
];
postInstall = ''
mkdir $out/lib/gstreamer-1.0
mv $out/lib/*.so $out/lib/gstreamer-1.0
'';
} { fetchFromGitLab
, rustPlatform
, pkg-config
, wrapGAppsHook
, glib
, gst_all_1
}:
rustPlatform.buildRustPackage rec {
pname = "gst-plugin-rtp";
version = "0.10.2";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "gstreamer";
repo = "gst-plugins-rs";
rev = version;
hash = "sha256-bMqun2uFd32sG2wKT9WrACy5Qxu5jKndcUUl997Di7o=";
};
buildAndTestSubdir = "net/rtp";
cargoHash = "sha256-HMEJHyqT6xsEx+NT/8H7atRvO0q5QcrPt3Ta04OZqHk=";
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
buildInputs = [
glib
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
];
postInstall = ''
mkdir $out/lib/gstreamer-1.0
mv $out/lib/*.so $out/lib/gstreamer-1.0
'';
} |
That could probably be done, but some plugins rely on the meson logic and the use of cargo-c so it would be better to use those instead of I'll see if I can add an argument to specify a list of plugins to enable and otherwise enable all by default (e.g. so you could use |
@hacker1024 It took an upstream MR to fix a minor bug in the meson scripts (https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1184) but I have a small change to the package now to allow building only a specific list of plugins in the general case If overriding to select a different plugin list is acceptable to you (e.g. |
The override solution is suitable, thanks. It's still not quite as useful as split derivations (each change to the plugin list will require building all of them), but that's not too bad. |
Awesome! Thank you :)
You can still do |
966ce4f
to
0e817f0
Compare
I just made a push with some changes to better accomodate cross in gst-plugins-rs and to not pull in unnecessary deps when specifying only a limited subset of plugins (so that cross can be less painful in not having to build Cross needs #227135 for the csound plugin specifically but it should otherwise be fine now |
e45454f
to
43ecf29
Compare
@lilyinstarlight Don't have anything useful to contribute here (I barely understand most of the issues you outlined above), just wanted to express my gratitude for the heroic effort you're putting in. |
43ecf29
to
7005ec1
Compare
7005ec1
to
1c268fb
Compare
1c268fb
to
f8792f9
Compare
f8792f9
to
56d1860
Compare
56d1860
to
77f0d20
Compare
darwin timed out, lets hope it works on hydra |
It does build on the darwin build box and also built on the ofborg builders previously (until I made it respect So hopefully there aren't new issues that pop up on Hydra, but Darwin never fails to surprise, so I'll watch it during the next eval Thank you for the review! |
Description of changes
Mopidy-Spotify is back!
This adds the gst-plugins-rs package (for the spotify source) and adds it to Mopidy, so that those plugins are available to it
The hacky
postFetch
in gst-plugins-rs can be removed when annymosse/color-name#2 is merged (or gst-plugins-rs replaces the crate -- which I will try to make one or the other happen upstream soon, in the next month or so), and having several gstreamer-gl-based plugins from gst-plugins-rs on Darwin will depend on #223248 and the SDK bump (which I've subscribed to the relevant issues and will remove the TODO items in gst-plugins-rs as things get merged)Given you were the maintainer of the previous
mopidy-spotify
derivation, would you like to be a maintainer on this one as well @rski?Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixpkgs-review
Result of
nixpkgs-review
run on x86_64-linux 146 packages built:
Result of
nixpkgs-review
run on aarch64-linux 146 packages built:
Result of
nixpkgs-review
run on x86_64-darwin 146 packages built:
Result of
nixpkgs-review
run on aarch64-darwin 146 packages built: