diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-01-03 23:55:00 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2022-02-19 11:03:39 +0000 |
commit | f4cf97a04cd5d0b86aa46baec9fb228a8f671c03 (patch) | |
tree | 28192415ff39a661d0001563bf81cc93fa25d16d /nixpkgs/pkgs/development/libraries/gssdp | |
parent | f8422837c9bde058e8f2de37702e7e94b2226040 (diff) | |
parent | 18c84ea816348e2a098390101b92d1e39a9dbd45 (diff) | |
download | nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.gz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.bz2 nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.lz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.xz nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.zst nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.zip |
Merge commit '18c84ea816348e2a098390101b92d1e39a9dbd45'
Conflicts: nixpkgs/nixos/modules/misc/documentation.nix nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/go-modules/generic/default.nix nixpkgs/pkgs/development/interpreters/ruby/default.nix nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix nixpkgs/pkgs/servers/mail/mailman/web.nix nixpkgs/pkgs/top-level/aliases.nix nixpkgs/pkgs/top-level/all-packages.nix nixpkgs/pkgs/top-level/impure.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/gssdp')
3 files changed, 120 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/development/libraries/gssdp/default.nix b/nixpkgs/pkgs/development/libraries/gssdp/default.nix index 6a76c07fec7b..a8f8535138e3 100644 --- a/nixpkgs/pkgs/development/libraries/gssdp/default.nix +++ b/nixpkgs/pkgs/development/libraries/gssdp/default.nix @@ -1,28 +1,29 @@ -{ lib, stdenv +{ stdenv +, lib , fetchurl , meson , ninja , pkg-config , gobject-introspection , vala -, gtk-doc -, docbook_xsl -, docbook_xml_dtd_412 +, gi-docgen +, python3 , libsoup -, gtk3 , glib , gnome +, gssdp-tools }: stdenv.mkDerivation rec { pname = "gssdp"; - version = "1.2.3"; + version = "1.4.0.1"; - outputs = [ "out" "bin" "dev" "devdoc" ]; + outputs = [ "out" "dev" ] + ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [ "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gssdp/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1s57i8a8wnnxnsfl27cq4503dkdlzbrhry5zpg23sfqfffvdqqx2"; + sha256 = "hnaEnVf7giuHKIVtut6/OGf4nuR6DsR6IARdAR9DFYI="; }; nativeBuildInputs = [ @@ -31,14 +32,12 @@ stdenv.mkDerivation rec { pkg-config gobject-introspection vala - gtk-doc - docbook_xsl - docbook_xml_dtd_412 + gi-docgen + python3 ]; buildInputs = [ libsoup - gtk3 ]; propagatedBuildInputs = [ @@ -46,21 +45,37 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dgtk_doc=true" + "-Dgtk_doc=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" + "-Dsniffer=false" + "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" ]; doCheck = true; + postFixup = lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) '' + # Move developer documentation to devdoc output. + # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back. + find -L "$out/share/doc" -type f -regex '.*\.devhelp2?' -print0 \ + | while IFS= read -r -d ''' file; do + moveToOutput "$(dirname "''${file/"$out/"/}")" "$devdoc" + done + ''; + passthru = { updateScript = gnome.updateScript { packageName = pname; }; + + tests = { + inherit gssdp-tools; + }; }; meta = with lib; { description = "GObject-based API for handling resource discovery and announcement over SSDP"; homepage = "http://www.gupnp.org/"; license = licenses.lgpl2Plus; + maintainers = teams.gnome.members; platforms = platforms.all; }; } diff --git a/nixpkgs/pkgs/development/libraries/gssdp/standalone-tools.patch b/nixpkgs/pkgs/development/libraries/gssdp/standalone-tools.patch new file mode 100644 index 000000000000..f2273a978d67 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/gssdp/standalone-tools.patch @@ -0,0 +1,42 @@ +diff --git a/libgssdp/gssdp-client-private.h b/libgssdp/gssdp-client-private.h +index ac31247..241c054 100644 +--- a/libgssdp/gssdp-client-private.h ++++ b/libgssdp/gssdp-client-private.h +@@ -10,7 +10,11 @@ + #ifndef GSSDP_CLIENT_PRIVATE_H + #define GSSDP_CLIENT_PRIVATE_H + ++#ifdef GSSDP_TOOLS ++#include <libgssdp/gssdp-client.h> ++#else + #include "gssdp-client.h" ++#endif + + G_BEGIN_DECLS + +diff --git a/tools/meson.build b/tools/meson.build +index 40eb8e3..5db545b 100644 +--- a/tools/meson.build ++++ b/tools/meson.build +@@ -1,3 +1,10 @@ ++project('gssdp-tools', 'c', version: '@version@') ++gnome = import('gnome') ++ ++gssdp = dependency('gssdp-1.2') ++gtk = dependency('gtk4', version : '>= 4') ++libsoup = dependency('libsoup-2.4', version : '>= 2.26.1') ++ + resource = gnome.compile_resources( + 'org.gupnp.GSSDP.DeviceSniffer', + 'gssdp-device-sniffer.gresource.xml', +@@ -12,7 +19,9 @@ sniffer = executable( + 'main-window.h', + resource + ], +- dependencies : [gssdp, gtk], ++ dependencies : [gssdp, gtk, libsoup], ++ c_args: ['-DGSSDP_TOOLS'], ++ include_directories : [include_directories('..')], + install: true, + export_dynamic : true, + gui_app : true diff --git a/nixpkgs/pkgs/development/libraries/gssdp/tools.nix b/nixpkgs/pkgs/development/libraries/gssdp/tools.nix new file mode 100644 index 000000000000..36bc56429008 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/gssdp/tools.nix @@ -0,0 +1,50 @@ +{ stdenv +, lib +, substituteAll +, meson +, ninja +, pkg-config +, wrapGAppsHook4 +, gssdp +, gtk4 +, libsoup +}: + +stdenv.mkDerivation rec { + pname = "gssdp-tools"; + inherit (gssdp) version src; + + patches = [ + # Allow building tools separately from the library. + # This is needed to break the depenency cycle. + (substituteAll { + src = ./standalone-tools.patch; + inherit version; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + gssdp + gtk4 + libsoup + ]; + + preConfigure = '' + cd tools + ''; + + meta = with lib; { + description = "Device Sniffer tool based on GSSDP framework"; + homepage = "http://www.gupnp.org/"; + license = licenses.lgpl2Plus; + maintainers = gssdp.meta.maintainers; + platforms = platforms.all; + }; +} |