commit
667e54bdb0
@ -245,6 +245,7 @@
|
||||
./services/desktops/gnome3/gnome-user-share.nix
|
||||
./services/desktops/gnome3/gpaste.nix
|
||||
./services/desktops/gnome3/gvfs.nix
|
||||
./services/desktops/gnome3/rygel.nix
|
||||
./services/desktops/gnome3/seahorse.nix
|
||||
./services/desktops/gnome3/sushi.nix
|
||||
./services/desktops/gnome3/tracker.nix
|
||||
|
30
nixos/modules/services/desktops/gnome3/rygel.nix
Normal file
30
nixos/modules/services/desktops/gnome3/rygel.nix
Normal file
@ -0,0 +1,30 @@
|
||||
# rygel service.
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
###### interface
|
||||
options = {
|
||||
services.gnome3.rygel = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable Rygel UPnP Mediaserver.
|
||||
|
||||
You will need to also allow UPnP connections in firewall, see the following <link xlink:href="https://github.com/NixOS/nixpkgs/pull/45045#issuecomment-416030795">comment</link>.
|
||||
'';
|
||||
type = types.bool;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
###### implementation
|
||||
config = mkIf config.services.gnome3.rygel.enable {
|
||||
environment.systemPackages = [ pkgs.gnome3.rygel ];
|
||||
|
||||
services.dbus.packages = [ pkgs.gnome3.rygel ];
|
||||
|
||||
systemd.packages = [ pkgs.gnome3.rygel ];
|
||||
};
|
||||
}
|
@ -110,6 +110,7 @@ in {
|
||||
services.gnome3.gnome-terminal-server.enable = mkDefault true;
|
||||
services.gnome3.gnome-user-share.enable = mkDefault true;
|
||||
services.gnome3.gvfs.enable = true;
|
||||
services.gnome3.rygel.enable = mkDefault true;
|
||||
services.gnome3.seahorse.enable = mkDefault true;
|
||||
services.gnome3.sushi.enable = mkDefault true;
|
||||
services.gnome3.tracker.enable = mkDefault true;
|
||||
|
54
pkgs/desktops/gnome-3/core/rygel/default.nix
Normal file
54
pkgs/desktops/gnome-3/core/rygel/default.nix
Normal file
@ -0,0 +1,54 @@
|
||||
{ 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 }:
|
||||
|
||||
let
|
||||
pname = "rygel";
|
||||
version = "0.36.2";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
# TODO: split out lib
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "0i12z6bzfzgcjidhxa2jsvpm4hqpab0s032z13jy2vbifrncfcnk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig vala gettext libxml2 gobjectIntrospection gtk-doc wrapGAppsHook
|
||||
];
|
||||
buildInputs = [
|
||||
glib gssdp gupnp gupnp-av gupnp-dlna libgee libsoup gtk3 libmediaart sqlite systemd tracker shared-mime-info
|
||||
] ++ (with gst_all_1; [
|
||||
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
|
||||
]);
|
||||
|
||||
configureFlags = [
|
||||
"--with-systemduserunitdir=$(out)/lib/systemd/user"
|
||||
"--enable-apidocs"
|
||||
"--sysconfdir=/etc"
|
||||
];
|
||||
|
||||
installFlags = [
|
||||
"sysconfdir=$(out)/etc"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome3.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome3.${pname}";
|
||||
};
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A home media solution (UPnP AV MediaServer) that allows you to easily share audio, video and pictures to other devices";
|
||||
homepage = https://wiki.gnome.org/Projects/Rygel;
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = gnome3.maintainers;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -216,6 +216,8 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||
|
||||
rest = callPackage ./core/rest { };
|
||||
|
||||
rygel = callPackage ./core/rygel { };
|
||||
|
||||
simple-scan = callPackage ./core/simple-scan { };
|
||||
|
||||
sushi = callPackage ./core/sushi { };
|
||||
|
@ -1,22 +1,30 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libsoup, glib }:
|
||||
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, libsoup, gtk3, glib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gssdp-${version}";
|
||||
version = "1.0.2";
|
||||
|
||||
outputs = [ "out" "bin" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gssdp/1.0/${name}.tar.xz";
|
||||
url = "mirror://gnome/sources/gssdp/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "1p1m2m3ndzr2whipqw4vfb6s6ia0g7rnzzc4pnq8b8g1qw4prqd1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ libsoup ];
|
||||
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||
buildInputs = [ libsoup gtk3 ];
|
||||
propagatedBuildInputs = [ glib ];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-gtk-doc"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "GObject-based API for handling resource discovery and announcement over SSDP";
|
||||
homepage = http://www.gupnp.org/;
|
||||
license = licenses.lgpl2;
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -1,22 +1,29 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gupnp, glib, libxml2 }:
|
||||
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, gupnp, glib, libxml2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gupnp-av-${version}";
|
||||
majorVersion = "0.12";
|
||||
version = "${majorVersion}.10";
|
||||
version = "0.12.10";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gupnp-av/${majorVersion}/${name}.tar.xz";
|
||||
url = "mirror://gnome/sources/gupnp-av/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "0nmq6wlbfsssanv3jgv2z0nhfkv8vzfr3gq5qa8svryvvn2fyf40";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||
buildInputs = [ gupnp glib libxml2 ];
|
||||
|
||||
meta = {
|
||||
configureFlags = [
|
||||
"--enable-gtk-doc"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
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.lgpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,22 +1,34 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, gupnp, gst-plugins-base }:
|
||||
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, gupnp, gst_all_1 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gupnp-dlna-${version}";
|
||||
majorVersion = "0.10";
|
||||
version = "${majorVersion}.5";
|
||||
version = "0.10.5";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gupnp-dlna/${majorVersion}/${name}.tar.xz";
|
||||
url = "mirror://gnome/sources/gupnp-dlna/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
|
||||
buildInputs = [ gupnp gst-plugins-base ];
|
||||
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||
buildInputs = [ gupnp gst_all_1.gst-plugins-base ];
|
||||
|
||||
meta = {
|
||||
configureFlags = [
|
||||
"--enable-gtk-doc"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
postPatch = ''
|
||||
chmod +x tests/test-discoverer.sh.in
|
||||
patchShebangs tests/test-discoverer.sh.in
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://wiki.gnome.org/Projects/GUPnP/;
|
||||
description = "Library to ease DLNA-related bits for applications using GUPnP";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,22 +1,29 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, gupnp }:
|
||||
|
||||
{ stdenv, fetchurl, pkgconfig, gettext, gobjectIntrospection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gupnp }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gupnp-igd-${version}";
|
||||
majorVersion = "0.2";
|
||||
version = "${majorVersion}.4";
|
||||
version = "0.2.5";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gupnp-igd/${majorVersion}/${name}.tar.xz";
|
||||
sha256 = "38c4a6d7718d17eac17df95a3a8c337677eda77e58978129ad3182d769c38e44";
|
||||
url = "mirror://gnome/sources/gupnp-igd/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "081v1vhkbz3wayv49xfiskvrmvnpx93k25am2wnarg5cifiiljlb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||
propagatedBuildInputs = [ glib gupnp ];
|
||||
|
||||
meta = {
|
||||
configureFlags = [
|
||||
"--enable-gtk-doc"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Library to handle UPnP IGD port mapping";
|
||||
homepage = http://www.gupnp.org/;
|
||||
license = stdenv.lib.licenses.lgpl21;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = licenses.lgpl21;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,28 +1,39 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, gssdp, libsoup, libxml2, libuuid }:
|
||||
|
||||
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_44, glib, gssdp, libsoup, libxml2, libuuid }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gupnp-${version}";
|
||||
majorVersion = "1.0";
|
||||
version = "${majorVersion}.2";
|
||||
version = "1.0.3";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gupnp/${majorVersion}/gupnp-${version}.tar.xz";
|
||||
sha256 = "043nqxlj030a3wvd6x4c9z8fjarjjjsl2pjarl0nn70ig6kzswsi";
|
||||
url = "mirror://gnome/sources/gupnp/${stdenv.lib.versions.majorMinor version}/gupnp-${version}.tar.xz";
|
||||
sha256 = "1fyb6yn75vf2y1b8nbc1df572swzr74yiwy3v3g5xn36wlp1cjvr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
patches = [
|
||||
# Nix’s pkg-config ignores Requires.private
|
||||
# https://github.com/NixOS/nixpkgs/commit/1e6622f4d5d500d6e701bd81dd4a22977d10637d
|
||||
# We are essentialy reverting the following patch for now
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=685477
|
||||
# at least until Requires.internal or something is implemented
|
||||
# https://gitlab.freedesktop.org/pkg-config/pkg-config/issues/7
|
||||
./fix-requires.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44 ];
|
||||
propagatedBuildInputs = [ glib gssdp libsoup libxml2 libuuid ];
|
||||
|
||||
postInstall = ''
|
||||
ln -sv ${libsoup.dev}/include/libsoup-2*/libsoup $out/include
|
||||
ln -sv ${libxml2.dev}/include/*/libxml $out/include
|
||||
ln -sv ${gssdp}/include/*/libgssdp $out/include
|
||||
'';
|
||||
configureFlags = [
|
||||
"--enable-gtk-doc"
|
||||
];
|
||||
|
||||
meta = {
|
||||
doCheck = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.gupnp.org/;
|
||||
description = "An implementation of the UPnP specification";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
9
pkgs/development/libraries/gupnp/fix-requires.patch
Normal file
9
pkgs/development/libraries/gupnp/fix-requires.patch
Normal file
@ -0,0 +1,9 @@
|
||||
--- a/gupnp-1.0.pc.in
|
||||
+++ b/gupnp-1.0.pc.in
|
||||
@@ -8,4 +8,5 @@
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lgupnp-1.0
|
||||
Cflags: -I${includedir}/gupnp-1.0
|
||||
-Requires.private: gssdp-1.0 libxml-2.0 libsoup-2.4 @UUID_LIBS@
|
||||
+Requires: glib-2.0 gobject-2.0 gssdp-1.0 libxml-2.0 libsoup-2.4
|
||||
+Requires.private: @UUID_LIBS@
|
Loading…
Reference in New Issue
Block a user