about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2023-01-23 23:52:58 +0100
committerGitHub <noreply@github.com>2023-01-23 23:52:58 +0100
commit9441b22187291785636c28ccb13cff0b2310d3ed (patch)
tree239c07071677402e9e0f3e37c001f94567888c1d
parent2696d7e4a6e4ce7d1b1d04a5c3af016609503dd7 (diff)
parent268feffcaac9f5fa37d4be7d64d43d32e2088170 (diff)
Merge pull request #209769 from LoveIsGrief/simple-dlna-browser
-rw-r--r--lib/licenses.nix6
-rw-r--r--maintainers/maintainer-list.nix7
-rw-r--r--pkgs/tools/networking/simple-dlna-browser/default.nix68
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 83 insertions, 0 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 52956e52afa65..e88054134a3dc 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -558,6 +558,12 @@ in mkLicense lset) ({
     redistributable = false;
   };
 
+  fair = {
+    fullName = "Fair License";
+    spdxId = "Fair";
+    free = true;
+  };
+
   issl = {
     fullName = "Intel Simplified Software License";
     url = "https://software.intel.com/en-us/license/intel-simplified-software-license";
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 564828de19097..c3265b1f561ad 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -8401,6 +8401,13 @@
     githubId = 4969294;
     name = "Louis Tim Larsen";
   };
+  loveisgrief = {
+    name = "LoveIsGrief";
+    email = "loveisgrief@tuta.io";
+    keys = [{
+      fingerprint = "9847 4F48 18C6 4E0A F0C5  3529 E96D 1EDF A053 45EB";
+    }];
+  };
   lovek323 = {
     email = "jason@oconal.id.au";
     github = "lovek323";
diff --git a/pkgs/tools/networking/simple-dlna-browser/default.nix b/pkgs/tools/networking/simple-dlna-browser/default.nix
new file mode 100644
index 0000000000000..c59a1e28910ad
--- /dev/null
+++ b/pkgs/tools/networking/simple-dlna-browser/default.nix
@@ -0,0 +1,68 @@
+{
+  # Derivation stuff
+  fetchFromGitHub,
+  lib,
+  makeWrapper,
+  stdenv,
+  # Dependencies
+  # Add these to the wrapper
+  curl,
+  gawk,
+  gnugrep,
+  gnused,
+  socat,
+  wget,
+}:
+stdenv.mkDerivation {
+  pname = "simple-dlna-browser";
+  version = "unstable-2023-01-09";
+
+  src = fetchFromGitHub {
+    owner = "javier-lopez";
+    repo = "learn";
+    sparseCheckout = [
+      "sh/tools/simple-dlna-browser"
+    ];
+    rev = "666e2c402723251ba19ce9d7c11b83b06c15a2c5";
+    sha256 = "sha256-jwPAEgti5DrjNnNVW/61GGTP+QedGAjz9kPwYhMAdTk=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    outputWrapper="$out/bin/simple-dlna-browser"
+    outputWrapped="$out/bin/wrapped-simple-dlna-browser"
+
+    mkdir -p $out/bin
+    cp sh/tools/simple-dlna-browser $outputWrapped
+    makeWrapper $outputWrapped $outputWrapper \
+      --prefix PATH : ${lib.makeBinPath [
+        curl
+        gawk
+        gnugrep
+        gnused
+        socat
+        wget
+      ]}
+
+    # Set the program name to a fixed value
+    # Normally it is guessed by the filename, but we don't want it to be the name of the wrapper
+    sed -i -e 's/PROGNAME=".*"/PROGNAME="simple-dlna-browser"/' $outputWrapped
+  '';
+
+  meta = {
+    description = "Query dlna media servers";
+    longDescription = ''
+      A bash script that allows simple interactions with [DLNA] media servers.
+      It is a light-weight, CLI alternative to [VLC], [Kodi], and other players.
+
+      [DLNA]: https://en.wikipedia.org/wiki/Digital_Living_Network_Alliance
+      [Kodi]: https://kodi.tv/
+      [VLC]: https://www.videolan.org/vlc/
+    '';
+    homepage = "https://github.com/javier-lopez/learn/blob/master/sh/tools/simple-dlna-browser";
+    license = lib.licenses.fair;
+    maintainers = with lib.maintainers; [ loveisgrief ];
+  };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8783c0d20f71d..70a1478e4cf3d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1484,6 +1484,8 @@ with pkgs;
 
   sgrep = callPackage ../tools/text/sgrep { };
 
+  simple-dlna-browser = callPackage ../tools/networking/simple-dlna-browser { };
+
   sorted-grep = callPackage ../tools/text/sorted-grep { };
 
   smbscan = callPackage ../tools/security/smbscan { };