From 16957e130a20e8b2eba1253e089f27be8f51fcfe Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Mon, 24 Feb 2025 12:24:10 +0530 Subject: [PATCH] n-m3u8dl-re: init at 0.3.0-beta Co-authored-by: Luis Co-authored-by: Rebecca Turner Signed-off-by: phanirithvij --- pkgs/by-name/n-/n-m3u8dl-re/deps.json | 17 +++++++ pkgs/by-name/n-/n-m3u8dl-re/package.nix | 46 +++++++++++++++++++ pkgs/by-name/n-/n-m3u8dl-re/publish-fix.patch | 10 ++++ pkgs/by-name/n-/n-m3u8dl-re/reverse-arr.patch | 42 +++++++++++++++++ 4 files changed, 115 insertions(+) create mode 100644 pkgs/by-name/n-/n-m3u8dl-re/deps.json create mode 100644 pkgs/by-name/n-/n-m3u8dl-re/package.nix create mode 100644 pkgs/by-name/n-/n-m3u8dl-re/publish-fix.patch create mode 100644 pkgs/by-name/n-/n-m3u8dl-re/reverse-arr.patch diff --git a/pkgs/by-name/n-/n-m3u8dl-re/deps.json b/pkgs/by-name/n-/n-m3u8dl-re/deps.json new file mode 100644 index 000000000000..2aa2b24a72db --- /dev/null +++ b/pkgs/by-name/n-/n-m3u8dl-re/deps.json @@ -0,0 +1,17 @@ +[ + { + "pname": "NiL.JS", + "version": "2.5.1684", + "hash": "sha256-lxFTYyuj0SuNzIQGq+rK9s0tAqxqQg8PBj/YdktJunw=" + }, + { + "pname": "Spectre.Console", + "version": "0.49.2-preview.0.50", + "hash": "sha256-ivFyHTfQxPf/RIin+aftmd+G4PcrqmJXmdu0u/RU6YA=" + }, + { + "pname": "System.CommandLine", + "version": "2.0.0-beta4.22272.1", + "hash": "sha256-zSO+CYnMH8deBHDI9DHhCPj79Ce3GOzHCyH1/TiHxcc=" + } +] diff --git a/pkgs/by-name/n-/n-m3u8dl-re/package.nix b/pkgs/by-name/n-/n-m3u8dl-re/package.nix new file mode 100644 index 000000000000..513f7a5c8c84 --- /dev/null +++ b/pkgs/by-name/n-/n-m3u8dl-re/package.nix @@ -0,0 +1,46 @@ +{ + lib, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, +}: +buildDotnetModule rec { + pname = "n-m3u8dl-re"; + version = "0.3.0-beta"; + src = fetchFromGitHub { + owner = "nilaoda"; + repo = "N_m3u8DL-RE"; + tag = "v${version}"; + sha256 = "sha256-AVLO7pxD1LCoogsJPPN5aoOmVBIm3Y/EVsiQWdYI6QU="; + }; + patches = [ + ./publish-fix.patch + ./reverse-arr.patch + ]; + + # from openutau/default.nix + # [...]/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(248,5): error MSB4018: The "GenerateDepsFile" task failed unexpectedly. [[...]/N_m3u8DL-RE.Common.csproj] + # [...]/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.targets(248,5): error MSB4018: System.IO.IOException: The process cannot access the file '[...]/N_m3u8DL-RE.Common.deps.json' because it is being used by another process. [[...]/N_m3u8DL-RE.Common.csproj] + enableParallelBuilding = false; + + projectFile = "src/N_m3u8DL-RE.sln"; + nugetDeps = ./deps.json; + + executables = [ "N_m3u8DL-RE" ]; + + dotnet-sdk = dotnetCorePackages.sdk_9_0; + dotnet-runtime = dotnetCorePackages.runtime_9_0; + + postFixup = '' + ln -s $out/bin/N_m3u8DL-RE $out/bin/n-m3u8dl-re + ''; + + meta = { + description = "Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM"; + homepage = "https://github.com/nilaoda/N_m3u8DL-RE"; + license = lib.licenses.mit; + mainProgram = "n-m3u8dl-re"; + maintainers = with lib.maintainers; [ phanirithvij ]; + platforms = lib.platforms.linux ++ lib.platforms.unix; + }; +} diff --git a/pkgs/by-name/n-/n-m3u8dl-re/publish-fix.patch b/pkgs/by-name/n-/n-m3u8dl-re/publish-fix.patch new file mode 100644 index 000000000000..1d710ac7b725 --- /dev/null +++ b/pkgs/by-name/n-/n-m3u8dl-re/publish-fix.patch @@ -0,0 +1,10 @@ +--- a/src/N_m3u8DL-RE/Directory.Build.props ++++ b/src/N_m3u8DL-RE/Directory.Build.props +@@ -9,7 +9,6 @@ + true + true + zh-CN;zh-TW;en-US +- true + true + aarch64-linux-gnu-objcopy + diff --git a/pkgs/by-name/n-/n-m3u8dl-re/reverse-arr.patch b/pkgs/by-name/n-/n-m3u8dl-re/reverse-arr.patch new file mode 100644 index 000000000000..1372adfc6414 --- /dev/null +++ b/pkgs/by-name/n-/n-m3u8dl-re/reverse-arr.patch @@ -0,0 +1,42 @@ +diff --git a/src/N_m3u8DL-RE.Common/Entity/WebVttSub.cs b/src/N_m3u8DL-RE.Common/Entity/WebVttSub.cs +index 6b6d284..b57fc24 100644 +--- a/src/N_m3u8DL-RE.Common/Entity/WebVttSub.cs ++++ b/src/N_m3u8DL-RE.Common/Entity/WebVttSub.cs +@@ -201,7 +201,8 @@ public partial class WebVttSub + time += Convert.ToInt32(parts.Last().PadRight(3, '0')); + str = parts.First(); + } +- var t = str.Split(':').Reverse().ToList(); ++ var t = str.Split(':').ToList(); ++ t.Reverse(); + for (int i = 0; i < t.Count; i++) + { + time += (long)Math.Pow(60, i) * Convert.ToInt32(t[i]) * 1000; +@@ -265,4 +266,4 @@ public partial class WebVttSub + + return srt; + } +-} +\ No newline at end of file ++} +diff --git a/src/N_m3u8DL-RE/Util/OtherUtil.cs b/src/N_m3u8DL-RE/Util/OtherUtil.cs +index b2487f3..4eab23f 100644 +--- a/src/N_m3u8DL-RE/Util/OtherUtil.cs ++++ b/src/N_m3u8DL-RE/Util/OtherUtil.cs +@@ -70,7 +70,8 @@ internal static partial class OtherUtil + var hours = -1; + var mins = -1; + var secs = -1; +- arr.Reverse().Select(i => Convert.ToInt32(i)).ToList().ForEach(item => ++ arr.Reverse(); ++ arr.Select(i => Convert.ToInt32(i)).ToList().ForEach(item => + { + if (secs == -1) secs = item; + else if (mins == -1) mins = item; +@@ -170,4 +171,4 @@ internal static partial class OtherUtil + + [GeneratedRegex(@"^(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$")] + private static partial Regex TimeStrRegex(); +-} +\ No newline at end of file ++}