diff options
author | Deadbeef <ent3rm4n@gmail.com> | 2022-12-28 17:36:26 +0800 |
---|---|---|
committer | Deadbeef <ent3rm4n@gmail.com> | 2022-12-29 23:03:14 +0800 |
commit | 354f6e9b7c4d484ffc96b2541320968955f0c475 (patch) | |
tree | 3bbe59ee465d004be2942aefd41d82b458f4eb1e /pkgs/applications/networking/instant-messengers/qq | |
parent | ba6ba2b90096dc49f448aa4d4d783b5081b1cc87 (diff) |
qq: init at 2.0.3-543
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/qq')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/qq/default.nix | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/qq/default.nix b/pkgs/applications/networking/instant-messengers/qq/default.nix new file mode 100644 index 000000000000..6d1a2696a4c9 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/qq/default.nix @@ -0,0 +1,100 @@ +{ alsa-lib +, cups +, dpkg +, fetchurl +, gjs +, glib +, gtk3 +, lib +, libdrm +, libgcrypt +, libkrb5 +, mesa # for libgbm +, nss +, xorg +, systemd +, stdenv +, at-spi2-core +, autoPatchelfHook +, wrapGAppsHook +, copyDesktopItems +, makeDesktopItem +}: + +let + version = "2.0.3-543"; + srcs = { + x86_64-linux = fetchurl { + url = "https://dldir1.qq.com/qqfile/qq/QQNT/50eed662/QQ-v${version}_x64.deb"; + sha256 = "sha256-O8zaVHt/oXserPVHe/r6pAFpWFeLDVsiaazgaX7kxu8="; + }; + aarch64-linux = fetchurl { + url = "https://dldir1.qq.com/qqfile/qq/QQNT/50eed662/QQ-v${version}_arm64.deb"; + sha256 = "sha256-01ZpcoSDc5b0MCKAMq16N4cXzbouHNckOGsv+Z4et7w="; + }; + }; + src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); +in +stdenv.mkDerivation { + pname = "qq"; + inherit version src; + + unpackCmd = "dpkg-deb -x $curSrc source"; + + nativeBuildInputs = [ + autoPatchelfHook + wrapGAppsHook + copyDesktopItems + dpkg + ]; + + buildInputs = [ + alsa-lib + at-spi2-core + cups + libdrm + libgcrypt + libkrb5 + mesa + nss + xorg.libXdamage + ]; + + runtimeDependencies = [ + gtk3 + (lib.getLib systemd) + ]; + + installPhase = '' + runHook preInstall + mkdir -p "$out/share/icons/hicolor/0x0/apps" + cp usr/share/icons/hicolor/0x0/apps/qq.png $out/share/icons/hicolor/0x0/apps + + mkdir -p "$out/opt" + cp -r "opt/"* $out/opt + + mkdir -p "$out/bin" + ln -s "$out/opt/QQ/qq" "$out/bin/qq" + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + desktopName = "Tencent QQ"; + genericName = "A messaging app"; + categories = [ "Network" ]; + icon = "qq"; + exec = "qq"; + name = "qq"; + }) + ]; + + meta = with lib; { + homepage = "https://im.qq.com/linuxqq/"; + description = "Messaging app"; + platforms = [ "x86_64-linux" "aarch64-linux" ]; + license = licenses.unfree; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + maintainers = with lib.maintainers; [ fee1-dead ]; + }; +} |