From 91876c8ba479b4fe3b2d479519adc9f0dd692332 Mon Sep 17 00:00:00 2001 From: "Alexandre Cavalheiro S. Tiago da Silva" Date: Thu, 6 Mar 2025 20:50:39 -0300 Subject: [PATCH] miraclecast: 1.0-20231112 -> 1.0-unstable-2024-07-13 --- pkgs/by-name/mi/miraclecast/package.nix | 74 ++++++++++++++++++------- 1 file changed, 55 insertions(+), 19 deletions(-) diff --git a/pkgs/by-name/mi/miraclecast/package.nix b/pkgs/by-name/mi/miraclecast/package.nix index 74a3aff23ecb..681a38624963 100644 --- a/pkgs/by-name/mi/miraclecast/package.nix +++ b/pkgs/by-name/mi/miraclecast/package.nix @@ -1,30 +1,46 @@ { lib, - stdenv, fetchFromGitHub, + glib, + gst_all_1, + iproute2, + libtool, + makeBinaryWrapper, meson, + miraclecast, ninja, pkg-config, - glib, readline, - pcre, - systemd, + stdenv, + systemdLibs, + testers, udev, - iproute2, + wpa_supplicant, + relyUdev ? true, }: +let + gstreamerPluginPaths = lib.concatMapStrings (pth: pth + "/lib/gstreamer-1.0:") [ + (lib.getLib gst_all_1.gstreamer) + gst_all_1.gst-libav + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + ]; +in stdenv.mkDerivation { pname = "miraclecast"; - version = "1.0-20231112"; + version = "1.0-unstable-2024-07-13"; src = fetchFromGitHub { owner = "albfan"; repo = "miraclecast"; - rev = "af6ab257eae83bb0270a776a8fe00c0148bc53c4"; - hash = "sha256-3ZIAvA3w/ZhoJtVmUD444nch0PGD58PdBRke7zd9IuQ="; + rev = "937747fd4de64a33bccf5adb73924c435ceb821b"; + hash = "sha256-y37+AOz8xYjtDk9ITxMB7UeWeMpDH+b6HQBczv+x5zo="; }; nativeBuildInputs = [ + makeBinaryWrapper meson ninja pkg-config @@ -32,24 +48,44 @@ stdenv.mkDerivation { buildInputs = [ glib - pcre - readline - systemd - udev + gst_all_1.gstreamer iproute2 + libtool + readline + systemdLibs + udev + wpa_supplicant ]; - mesonFlags = [ - "-Drely-udev=true" - "-Dbuild-tests=true" - "-Dip-binary=${iproute2}/bin/ip" - ]; + mesonFlags = + [ + "-Dbuild-tests=true" + "-Dip-binary=${iproute2}/bin/ip" + ] + ++ lib.optionals relyUdev [ + "-Drely-udev=true" + ]; + + postPatch = '' + substituteInPlace res/miracle-gst \ + --replace-fail "/usr/bin/gst-launch-1.0" "${gst_all_1.gstreamer}/bin/gst-launch-1.0" + ''; + + postInstall = '' + wrapProgram $out/bin/miracle-gst --set GST_PLUGIN_SYSTEM_PATH_1_0 ${gstreamerPluginPaths} + ''; + + passthru.tests.version = testers.testVersion { + package = miraclecast; + command = "miracled --version"; + version = "Miraclecast 1"; + }; meta = with lib; { - description = "Connect external monitors via Wi-Fi"; + description = "Connect external monitors to your system via Wifi-Display specification also known as Miracast"; homepage = "https://github.com/albfan/miraclecast"; license = licenses.lgpl21Plus; - maintainers = [ ]; + maintainers = [ maintainers.wizardlink ]; platforms = platforms.linux; }; }