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

Rygel #45045

Merged
merged 8 commits into from Sep 8, 2018
Merged

Rygel #45045

merged 8 commits into from Sep 8, 2018

Conversation

jtojnar
Copy link
Contributor

@jtojnar jtojnar commented Aug 14, 2018

Motivation for this change

UPnP server for GNOME, suggested by #247

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • 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 nox --run "nox-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)
  • Fits CONTRIBUTING.md.

@GrahamcOfBorg GrahamcOfBorg added the 6.topic: GNOME GNOME desktop environment and its underlying platform label Aug 14, 2018
};
};

postFixup = ''
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is empty.

homepage = http://gupnp.org/;
description = "A collection of helpers for building AV (audio/video) applications using GUPnP";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's licenses.gpl2Plus

postPatch = ''
chmod +x tests/test-discoverer.sh.in
patchShebangs tests/test-discoverer.sh.in
'';

meta = {
homepage = https://wiki.gnome.org/Projects/GUPnP/;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here for the license I think.

@srhb
Copy link
Contributor

srhb commented Aug 15, 2018

Retriggering eval due to master failure
@GrahamcOfBorg eval

};

nativeBuildInputs = [ pkgconfig ];
patches = [
./fix-requires.patch
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://bugzilla.gnome.org/show_bug.cgi?id=685477 suggests this might actually be a bug in gupnp-igd and other packages that fail to build without this.

@jtojnar
Copy link
Contributor Author

jtojnar commented Aug 15, 2018

Added wrapGAppsHook and it now seems to work, but still need to figure out correct firewall settings:

https://bugzilla.redhat.com/show_bug.cgi?id=626188

@@ -0,0 +1,49 @@
{ stdenv, fetchurl, pkgconfig, vala, gettext, libxml2, gobjectIntrospection, gtk-doc, wrapGAppsHook, glib, gssdp, gupnp, gupnp-av, gupnp-dlna, gst_all_1, libgee, libsoup, gtk3, libmediaart, sqlite, systemd, tracker, shared-mime-info, gnome3 }:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jtojnar Maybe a line break?

@worldofpeace
Copy link
Contributor

Huh, I guess elementary needs this too https://github.com/elementary/switchboard-plug-sharing/tree/master/src/Backend

@jtojnar
Copy link
Contributor Author

jtojnar commented Aug 26, 2018

I am trying

{
  networking.firewall.allowedUDPPorts = [ 1900 ];
  networking.firewall.extraPackages = [ pkgs.conntrack_tools ];
  networking.firewall.autoLoadConntrackHelpers = true;
  networking.firewall.extraCommands = ''
    nfct add helper ssdp inet udp
    iptables --verbose -I OUTPUT -t raw -p udp --dport 1900 -j CT --helper ssdp
  '';
}

following http://conntrack-tools.netfilter.org/manual.html#helpers but it is failing since nfct does not like it:

$ sudo nfct add helper ssdp inet udp
nfct v1.4.5: netlink error: Invalid argument

@worldofpeace
Copy link
Contributor

following http://conntrack-tools.netfilter.org/manual.html#helpers but it is failing since nfct does not like it:

$ sudo nfct add helper ssdp inet udp
nfct v1.4.5: netlink error: Invalid argument

Hmm that doesn't fail in ubuntu bionic with nfct v1.4.4

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: gnome3.rygel, gssdp, gupnp, gupnp-av, gupnp-dlna, gupnp-igd

Partial log (click to expand)

checking for references to /build in /nix/store/araxann0vdq7y8y54g3172rsp81mhq0h-rygel-0.36.2...
shrinking RPATHs of ELF executables and libraries in /nix/store/38ac6jwq2lwq4rwa62hlxz35514rxllk-rygel-0.36.2-dev
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/38ac6jwq2lwq4rwa62hlxz35514rxllk-rygel-0.36.2-dev/lib
patching script interpreter paths in /nix/store/38ac6jwq2lwq4rwa62hlxz35514rxllk-rygel-0.36.2-dev
checking for references to /build in /nix/store/38ac6jwq2lwq4rwa62hlxz35514rxllk-rygel-0.36.2-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/igws7sw33s2pv187pfzbl1ahv5z9dmbw-rygel-0.36.2-devdoc
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/igws7sw33s2pv187pfzbl1ahv5z9dmbw-rygel-0.36.2-devdoc
checking for references to /build in /nix/store/igws7sw33s2pv187pfzbl1ahv5z9dmbw-rygel-0.36.2-devdoc...

@jtojnar jtojnar merged commit 667e54b into NixOS:master Sep 8, 2018
@jtojnar jtojnar deleted the rygel branch September 8, 2018 05:22
@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: gnome3.rygel, gssdp, gupnp, gupnp-av, gupnp-dlna, gupnp-igd

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/jcz3yraq22d77x7j736blnhq7bwxck47-rygel-0.36.2-devdoc
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/jcz3yraq22d77x7j736blnhq7bwxck47-rygel-0.36.2-devdoc
checking for references to /build in /nix/store/jcz3yraq22d77x7j736blnhq7bwxck47-rygel-0.36.2-devdoc...
/nix/store/f5ivnwbn18rr2l2i3hlzg3dxcbd8h3gv-rygel-0.36.2
/nix/store/gr9y3v9ycwahjxxwnyliakf62xv69zyj-gssdp-1.0.2
/nix/store/9p18p9jc3slivlrpx7hz54kdb81ywzk7-gupnp-1.0.3
/nix/store/qk5lqnhn5aaq9lalxglav5x1kbkx39z2-gupnp-av-0.12.10
/nix/store/1v1wjk5yyy85pb592cj9fpql9px4is0c-gupnp-dlna-0.10.5
/nix/store/mb51ican8agwr09zd4rw2nldzgv6zr8p-gupnp-igd-0.2.5

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: gssdp

The following builds were skipped because they don't evaluate on x86_64-darwin: gnome3.rygel, gupnp, gupnp-av, gupnp-dlna, gupnp-igd

Partial log (click to expand)

============================================================================
make[3]: *** [Makefile:758: test-suite.log] Error 1
make[3]: Leaving directory '/private/tmp/nix-build-gssdp-1.0.2.drv-0/gssdp-1.0.2/tests'
make[2]: *** [Makefile:866: check-TESTS] Error 2
make[2]: Leaving directory '/private/tmp/nix-build-gssdp-1.0.2.drv-0/gssdp-1.0.2/tests'
make[1]: *** [Makefile:944: check-am] Error 2
make[1]: Leaving directory '/private/tmp/nix-build-gssdp-1.0.2.drv-0/gssdp-1.0.2/tests'
make: *** [Makefile:514: check-recursive] Error 1
builder for '/nix/store/8pm7myi76vm0c1rgg0kqkzqnvsx2m471-gssdp-1.0.2.drv' failed with exit code 2
error: build of '/nix/store/8pm7myi76vm0c1rgg0kqkzqnvsx2m471-gssdp-1.0.2.drv' failed

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/firewall-rules-with-rygel-gnome-sharing/17471/1

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

5 participants