about summary refs log tree commit diff
path: root/pkgs/applications/video
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-03-22 01:42:27 +0100
committerGitHub <noreply@github.com>2021-03-22 01:42:27 +0100
commit0263b16742a0580423b1dc4073db5fe08d2cc177 (patch)
tree05faa550cdfaab25f9410a7460df0e19f4056738 /pkgs/applications/video
parent70b3fa8c121de7be9f96bb7a991e4e9744fbec04 (diff)
parent46b7ee4769e8412ee9999dde023b14d2267e1a4d (diff)
Merge pull request #109036 from ryneeverett/freetube-init
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r--pkgs/applications/video/freetube/default.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix
new file mode 100644
index 0000000000000..a5de2142d7770
--- /dev/null
+++ b/pkgs/applications/video/freetube/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, lib, fetchurl, appimageTools, makeWrapper, electron }:
+
+stdenv.mkDerivation rec {
+  pname = "freetube";
+  version = "0.12.0";
+
+  src = fetchurl {
+    url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
+    sha256 = "151fcm1swsasrwzm93fddx669q4xlfl3d58q1w58nyv7r6kh4fda";
+  };
+
+  appimageContents = appimageTools.extractType2 {
+    name = "${pname}-${version}";
+    inherit src;
+  };
+
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/share/${pname} $out/share/applications
+
+    cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
+    cp -a ${appimageContents}/freetube.desktop $out/share/applications/${pname}.desktop
+    cp -a ${appimageContents}/usr/share/icons $out/share
+
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    makeWrapper ${electron}/bin/electron $out/bin/${pname} \
+      --add-flags $out/share/${pname}/resources/app.asar
+  '';
+
+  meta = with lib; {
+    description = "An Open Source YouTube app for privacy";
+    homepage = "https://freetubeapp.io/";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ ryneeverett ];
+    platforms = [ "x86_64-linux" ];
+  };
+}