From e6f23b8b1eebf83d8c63582845c74bee3a54a4b5 Mon Sep 17 00:00:00 2001 From: Tadeo Kondrak Date: Tue, 18 Jun 2019 23:39:15 -0600 Subject: discord-{ptb,canary}: init; add `update-discord` --- .../networking/instant-messengers/discord/base.nix | 61 ++++++++++++++ .../instant-messengers/discord/default.nix | 94 ++++++++-------------- pkgs/top-level/all-packages.nix | 15 +++- 3 files changed, 108 insertions(+), 62 deletions(-) create mode 100644 pkgs/applications/networking/instant-messengers/discord/base.nix (limited to 'pkgs') diff --git a/pkgs/applications/networking/instant-messengers/discord/base.nix b/pkgs/applications/networking/instant-messengers/discord/base.nix new file mode 100644 index 000000000000..63149d3d54b9 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/discord/base.nix @@ -0,0 +1,61 @@ +{ pname, version, src, binaryName, desktopName +, stdenv, fetchurl, makeDesktopItem, wrapGAppsHook +, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype +, gdk_pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid +, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb +, pango, systemd, libXScrnSaver, libcxx, libpulseaudio }: + +let + inherit binaryName; +in stdenv.mkDerivation rec { + inherit pname version src; + + nativeBuildInputs = [ wrapGAppsHook ]; + + dontWrapGApps = true; + + libPath = stdenv.lib.makeLibraryPath [ + libcxx systemd libpulseaudio + stdenv.cc.cc alsaLib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype + gdk_pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid + libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender + libXtst nspr nss libxcb pango systemd libXScrnSaver + ]; + + installPhase = '' + mkdir -p $out/{bin,opt/${binaryName},share/pixmaps} + mv * $out/opt/${binaryName} + + chmod +x $out/opt/${binaryName}/${binaryName} + patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \ + $out/opt/${binaryName}/${binaryName} + + wrapProgram $out/opt/${binaryName}/${binaryName} \ + "''${gappsWrapperArgs[@]}" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ + --prefix LD_LIBRARY_PATH : ${libPath} + + ln -s $out/opt/${binaryName}/${binaryName} $out/bin/ + ln -s $out/opt/${binaryName}/discord.png $out/share/pixmaps/${binaryName}.png + + ln -s "${desktopItem}/share/applications" $out/share/ + ''; + + desktopItem = makeDesktopItem { + name = pname; + exec = binaryName; + icon = pname; + inherit desktopName; + genericName = meta.description; + categories = "Network;InstantMessaging;"; + }; + + meta = with stdenv.lib; { + description = "All-in-one cross-platform voice and text chat for gamers"; + homepage = "https://discordapp.com/"; + downloadPage = "https://discordapp.com/download"; + license = licenses.unfree; + maintainers = with maintainers; [ ldesgoui MP2E tadeokondrak ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix index dbc4edf5167c..585ddf1a5371 100644 --- a/pkgs/applications/networking/instant-messengers/discord/default.nix +++ b/pkgs/applications/networking/instant-messengers/discord/default.nix @@ -1,64 +1,36 @@ -{ stdenv, fetchurl, makeDesktopItem, wrapGAppsHook -, alsaLib, atk, at-spi2-atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk_pixbuf -, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid -, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb -, pango, systemd, libXScrnSaver, libcxx, libpulseaudio }: - -stdenv.mkDerivation rec { - pname = "discord"; - version = "0.0.9"; - - src = fetchurl { - url = "https://cdn.discordapp.com/apps/linux/${version}/${pname}-${version}.tar.gz"; - sha256 = "1i0f8id10rh2fx381hx151qckvvh8hbznfsfav8w0dfbd1bransf"; - }; - - nativeBuildInputs = [ wrapGAppsHook ]; - - dontWrapGApps = true; - - libPath = stdenv.lib.makeLibraryPath [ - libcxx systemd libpulseaudio - stdenv.cc.cc alsaLib atk at-spi2-atk cairo cups dbus expat fontconfig freetype - gdk_pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid - libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender - libXtst nspr nss libxcb pango systemd libXScrnSaver - ]; - - installPhase = '' - mkdir -p $out/{bin,opt/discord,share/pixmaps} - mv * $out/opt/discord - - chmod +x $out/opt/discord/Discord - patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \ - $out/opt/discord/Discord - - wrapProgram $out/opt/discord/Discord \ - "''${gappsWrapperArgs[@]}" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \ - --prefix LD_LIBRARY_PATH : ${libPath} - - ln -s $out/opt/discord/Discord $out/bin/ - ln -s $out/opt/discord/discord.png $out/share/pixmaps - - ln -s "${desktopItem}/share/applications" $out/share/ - ''; - - desktopItem = makeDesktopItem { - name = pname; - exec = "Discord"; - icon = pname; +{ branch ? "stable", pkgs }: + +let + inherit (pkgs) callPackage fetchurl; +in { + stable = callPackage ./base.nix { + pname = "discord"; + binaryName = "Discord"; desktopName = "Discord"; - genericName = meta.description; - categories = "Network;InstantMessaging;"; + version = "0.0.9"; + src = fetchurl { + url = "https://dl.discordapp.net/apps/linux/0.0.9/discord-0.0.9.tar.gz"; + sha256 = "1i0f8id10rh2fx381hx151qckvvh8hbznfsfav8w0dfbd1bransf"; + }; }; - - meta = with stdenv.lib; { - description = "All-in-one cross-platform voice and text chat for gamers"; - homepage = https://discordapp.com/; - downloadPage = "https://github.com/crmarsh/discord-linux-bugs"; - license = licenses.unfree; - maintainers = [ maintainers.ldesgoui maintainers.MP2E ]; - platforms = [ "x86_64-linux" ]; + ptb = callPackage ./base.nix { + pname = "discord-ptb"; + binaryName = "DiscordPTB"; + desktopName = "Discord PTB"; + version = "0.0.15"; + src = fetchurl { + url = "https://dl-ptb.discordapp.net/apps/linux/0.0.15/discord-ptb-0.0.15.tar.gz"; + sha256 = "0znqb0a3yglgx7a9ypkb81jcm8kqgc6559zi7vfqn02zh15gqv6a"; + }; + }; + canary = callPackage ./base.nix { + pname = "discord-canary"; + binaryName = "DiscordCanary"; + desktopName = "Discord Canary"; + version = "0.0.83"; + src = fetchurl { + url = "https://dl-canary.discordapp.net/apps/linux/0.0.83/discord-canary-0.0.83.tar.gz"; + sha256 = "100a61x71cgyfm0xk4qdlbp1v41089jy7lajksbpy4y7him6bg2s"; + }; }; -} +}.${branch} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8367083b0ffe..274f9ff17181 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24135,7 +24135,20 @@ in togglesg-download = callPackage ../tools/misc/togglesg-download { }; - discord = callPackage ../applications/networking/instant-messengers/discord { }; + discord = import ../applications/networking/instant-messengers/discord { + branch = "stable"; + inherit pkgs; + }; + + discord-ptb = import ../applications/networking/instant-messengers/discord { + branch = "ptb"; + inherit pkgs; + }; + + discord-canary = import ../applications/networking/instant-messengers/discord { + branch = "canary"; + inherit pkgs; + }; golden-cheetah = libsForQt56.callPackage ../applications/misc/golden-cheetah {}; -- cgit 1.4.1