summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/networking/instant-messengers/qq
diff options
context:
space:
mode:
authorDeadbeef <ent3rm4n@gmail.com>2022-12-28 17:36:26 +0800
committerDeadbeef <ent3rm4n@gmail.com>2022-12-29 23:03:14 +0800
commit354f6e9b7c4d484ffc96b2541320968955f0c475 (patch)
tree3bbe59ee465d004be2942aefd41d82b458f4eb1e /pkgs/applications/networking/instant-messengers/qq
parentba6ba2b90096dc49f448aa4d4d783b5081b1cc87 (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.nix100
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 ];
+ };
+}