diff options
author | Shamrock Lee <44064051+ShamrockLee@users.noreply.github.com> | 2021-01-04 23:47:16 +0800 |
---|---|---|
committer | Shamrock Lee <44064051+ShamrockLee@users.noreply.github.com> | 2022-01-16 22:09:18 +0000 |
commit | 00c7a8ee424c2702951e83136577b71a058d618b (patch) | |
tree | acff8527d1922918c447f5b50a8b6c3e1aa8ee8a /pkgs/applications/networking/instant-messengers/caprine-bin | |
parent | b20c78750e0b0365378b7f221811ff55e33ce60a (diff) |
caprine-bin: init at 2.55.2
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/caprine-bin')
3 files changed, 110 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix new file mode 100644 index 0000000000000..aa0a8f7bfc467 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix @@ -0,0 +1,50 @@ +{ lib +, fetchurl +, appimageTools +, gtk3 +, gsettings-desktop-schemas +, xorg +, pname +, version +, sha256 +, metaCommon ? { } +}: + +let + name = "${pname}-${version}"; + src = fetchurl { + url = "https://github.com/sindresorhus/caprine/releases/download/v${version}/Caprine-${version}.AppImage"; + name = "Caprine-${version}.AppImage"; + inherit sha256; + }; + extracted = appimageTools.extractType2 { inherit name src; }; +in +(appimageTools.wrapType2 { + inherit name src; + + profile = '' + export LC_ALL=C.UTF-8 + export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS + ''; + + extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs; + + extraInstallCommands = '' + mv $out/bin/{${name},caprine} + + mkdir -p $out/share + "${xorg.lndir}/bin/lndir" -silent "${extracted}/usr/share" "$out/share" + ln -s ${extracted}/caprine.png $out/share/icons/caprine.png + mkdir $out/share/applications + cp ${extracted}/caprine.desktop $out/share/applications/ + substituteInPlace $out/share/applications/caprine.desktop \ + --replace AppRun caprine + ''; + + meta = metaCommon // { + platforms = [ "x86_64-linux" ]; + mainProgram = "caprine"; + }; +}) // { + inherit pname version; +} diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-dmg.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-dmg.nix new file mode 100644 index 0000000000000..3dc457c48826e --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-dmg.nix @@ -0,0 +1,35 @@ +{ stdenvNoCC +, lib +, fetchurl +, undmg +, pname +, version +, sha256 +, metaCommon ? { } +}: + +stdenvNoCC.mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://github.com/sindresorhus/caprine/releases/download/v${version}/Caprine-${version}.dmg"; + name = "Caprine-${version}.dmg"; + inherit sha256; + }; + + sourceRoot = "Caprine.app"; + + nativeBuildInputs = [ undmg ]; + + installPhase = '' + mkdir -p "$out/Applications/Caprine.app" + cp -R . "$out/Applications/Caprine.app" + mkdir "$out/bin" + ln -s "$out/Applications/Caprine.app/Contents/MacOS/Caprine" "$out/bin/caprine" + ''; + + meta = metaCommon // { + platforms = with lib.platforms; darwin; + mainProgram = "caprine"; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix new file mode 100644 index 0000000000000..4be9e03931b26 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix @@ -0,0 +1,25 @@ +{ lib, callPackage, stdenvNoCC }: +let + pname = "caprine"; + version = "2.55.2"; + metaCommon = with lib; { + description = "An elegant Facebook Messenger desktop app"; + homepage = "https://sindresorhus.com/caprine"; + license = licenses.mit; + maintainers = with maintainers; [ ShamrockLee ]; + }; + x86_64-appimage = callPackage ./build-from-appimage.nix { + inherit pname version metaCommon; + sha256 = "J7eHVXjWSIcTpLMM8FlGKZzVh6XgpQ0d82kxfMbPyZ4="; + }; + x86_64-dmg = callPackage ./build-from-dmg.nix { + inherit pname version metaCommon; + sha256 = "du/9N1BFq1s7spPiEDgDbjjcnkA0x1ExhAEpQvmO3aA="; + }; +in +(if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: { + passthru = (oldAttrs.passthru or { }) // { inherit x86_64-appimage x86_64-dmg; }; + meta = oldAttrs.meta // { + platforms = x86_64-appimage.meta.platforms ++ x86_64-dmg.meta.platforms; + }; +}) |