Loading pkgs/applications/networking/instant-messengers/discord/darwin.nix +56 −26 Original line number Diff line number Diff line { pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, writeScript, python3, runCommand , branch , withOpenASAR ? false, openasar , withVencord ? false, vencord }: { pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, writeScript, python3, runCommand, branch, withOpenASAR ? false, openasar, withVencord ? false, vencord, }: let disableBreakingUpdates = runCommand "disable-breaking-updates.py" disableBreakingUpdates = runCommand "disable-breaking-updates.py" { pythonInterpreter = "${python3.interpreter}"; configDirName = lib.toLower binaryName; meta.mainProgram = "disable-breaking-updates.py"; } '' } '' mkdir -p $out/bin cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py substituteAllInPlace $out/bin/disable-breaking-updates.py Loading @@ -17,9 +35,17 @@ let ''; in stdenv.mkDerivation { inherit pname version src meta; inherit pname version src meta ; nativeBuildInputs = [ undmg makeWrapper ]; nativeBuildInputs = [ undmg makeWrapper ]; sourceRoot = "."; Loading @@ -37,9 +63,11 @@ stdenv.mkDerivation { runHook postInstall ''; postInstall = lib.strings.optionalString withOpenASAR '' postInstall = lib.strings.optionalString withOpenASAR '' cp -f ${openasar} $out/Applications/${desktopName}.app/Contents/Resources/app.asar '' + lib.strings.optionalString withVencord '' '' + lib.strings.optionalString withVencord '' mv $out/Applications/${desktopName}.app/Contents/Resources/app.asar $out/Applications/${desktopName}.app/Contents/Resources/_app.asar mkdir $out/Applications/${desktopName}.app/Contents/Resources/app.asar echo '{"name":"discord","main":"index.js"}' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/package.json Loading @@ -56,7 +84,9 @@ stdenv.mkDerivation { set -eou pipefail; url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=osx&format=dmg") version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+') update-source-version ${lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin."}${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch} update-source-version ${ lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin." }${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch} ''; }; } pkgs/applications/networking/instant-messengers/discord/default.nix +56 −32 Original line number Diff line number Diff line { branch ? "stable", callPackage, fetchurl, lib, stdenv }: { branch ? "stable", callPackage, fetchurl, lib, stdenv, }: let versions = if stdenv.hostPlatform.isLinux then { if stdenv.hostPlatform.isLinux then { stable = "0.0.71"; ptb = "0.0.110"; canary = "0.0.502"; ptb = "0.0.111"; canary = "0.0.503"; development = "0.0.30"; } else { } else { stable = "0.0.322"; ptb = "0.0.140"; canary = "0.0.611"; ptb = "0.0.141"; canary = "0.0.612"; development = "0.0.53"; }; version = versions.${branch}; Loading @@ -21,11 +30,11 @@ let }; ptb = fetchurl { url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; hash = "sha256-NV/0YKn1rG54Zkc9qAmpeb+4YbKjxhjTCdPOd84Lcc8="; hash = "sha256-mms/qTA3XS+R5CDFWFS2RxiHOWnpU348nYagt9L2k2w="; }; canary = fetchurl { url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; hash = "sha256-2DE7p3eT/mVGC+ejnTcTEhF7sEWyhfUfzj0gYTh+6Dw="; hash = "sha256-Z0dv/jM0RipRI73vO9O5qqE0xf8qJtljZ3Zjr0Tf/KA="; }; development = fetchurl { url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz"; Loading @@ -39,11 +48,11 @@ let }; ptb = fetchurl { url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg"; hash = "sha256-VGhvykujfzI7jwXE+lHTzqT0t08GaON6gCuf13po7wY="; hash = "sha256-EVwosCb/34W4+dx/u/5aq3pl6FqU1QiFT17yPydtGBU="; }; canary = fetchurl { url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg"; hash = "sha256-QC8RANqoyMAGKjTF0NNhz7wMt65D5LI1xYtd++dHXC4="; hash = "sha256-xvrsohxoCTODG3Au5E773SEX5UXbBJ98J2Eb3Vtybfw="; }; development = fetchurl { url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg"; Loading @@ -52,31 +61,46 @@ let }; aarch64-darwin = x86_64-darwin; }; src = srcs.${stdenv.hostPlatform.system}.${branch} or (throw "${stdenv.hostPlatform.system} not supported on ${branch}"); src = srcs.${stdenv.hostPlatform.system}.${branch} or (throw "${stdenv.hostPlatform.system} not supported on ${branch}"); meta = with lib; { meta = { description = "All-in-one cross-platform voice and text chat for gamers"; homepage = "https://discordapp.com/"; downloadPage = "https://discordapp.com/download"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ Scrumplex artturin infinidoge jopejoe1 ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; homepage = "https://discordapp.com/"; license = lib.licenses.unfree; mainProgram = "discord"; }; package = if stdenv.hostPlatform.isLinux then ./linux.nix else ./darwin.nix; maintainers = with lib.maintainers; [ artturin donteatoreo infinidoge jopejoe1 Scrumplex ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; package = if stdenv.hostPlatform.isLinux then ./linux.nix else ./darwin.nix; packages = ( builtins.mapAttrs (_: value: callPackage package (value ( _: value: callPackage package ( value // { inherit src version branch; meta = meta // { mainProgram = value.binaryName; }; })) meta = meta // { mainProgram = value.binaryName; }; } ) ) { stable = { pname = "discord"; Loading pkgs/applications/networking/instant-messengers/discord/linux.nix +144 −80 Original line number Diff line number Diff line { pname, version, src, meta, binaryName, desktopName, autoPatchelfHook , makeDesktopItem, lib, stdenv, wrapGAppsHook3, makeShellWrapper, alsa-lib, at-spi2-atk , at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf , glib, gtk3, libcxx, libdrm, libglvnd, libnotify, libpulseaudio, libuuid, libX11 , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes , libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss , pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript, python3, runCommand , libunity , speechd-minimal , wayland , branch , withOpenASAR ? false, openasar , withVencord ? false, vencord , withTTS ? true }: { pname, version, src, meta, binaryName, desktopName, autoPatchelfHook, makeDesktopItem, lib, stdenv, wrapGAppsHook3, makeShellWrapper, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libglvnd, libnotify, libpulseaudio, libuuid, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript, python3, runCommand, libunity, speechd-minimal, wayland, branch, withOpenASAR ? false, openasar, withVencord ? false, vencord, withTTS ? true, }: let disableBreakingUpdates = runCommand "disable-breaking-updates.py" disableBreakingUpdates = runCommand "disable-breaking-updates.py" { pythonInterpreter = "${python3.interpreter}"; configDirName = lib.toLower binaryName; meta.mainProgram = "disable-breaking-updates.py"; } '' } '' mkdir -p $out/bin cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py substituteAllInPlace $out/bin/disable-breaking-updates.py Loading @@ -28,7 +81,12 @@ let in stdenv.mkDerivation rec { inherit pname version src meta; inherit pname version src meta ; nativeBuildInputs = [ alsa-lib Loading @@ -50,7 +108,8 @@ stdenv.mkDerivation rec { dontWrapGApps = true; libPath = lib.makeLibraryPath ([ libPath = lib.makeLibraryPath ( [ libcxx systemd libpulseaudio Loading Loading @@ -91,7 +150,9 @@ stdenv.mkDerivation rec { libappindicator-gtk3 libdbusmenu wayland ] ++ lib.optional withTTS speechd-minimal); ] ++ lib.optional withTTS speechd-minimal ); installPhase = '' runHook preInstall Loading @@ -113,9 +174,7 @@ stdenv.mkDerivation rec { ln -s $out/opt/${binaryName}/${binaryName} $out/bin/ # Without || true the install would fail on case-insensitive filesystems ln -s $out/opt/${binaryName}/${binaryName} $out/bin/${ lib.strings.toLower binaryName } || true ln -s $out/opt/${binaryName}/${binaryName} $out/bin/${lib.strings.toLower binaryName} || true ln -s $out/opt/${binaryName}/discord.png $out/share/pixmaps/${pname}.png ln -s $out/opt/${binaryName}/discord.png $out/share/icons/hicolor/256x256/apps/${pname}.png Loading @@ -125,9 +184,11 @@ stdenv.mkDerivation rec { runHook postInstall ''; postInstall = lib.strings.optionalString withOpenASAR '' postInstall = lib.strings.optionalString withOpenASAR '' cp -f ${openasar} $out/opt/${binaryName}/resources/app.asar '' + lib.strings.optionalString withVencord '' '' + lib.strings.optionalString withVencord '' mv $out/opt/${binaryName}/resources/app.asar $out/opt/${binaryName}/resources/_app.asar mkdir $out/opt/${binaryName}/resources/app.asar echo '{"name":"discord","main":"index.js"}' > $out/opt/${binaryName}/resources/app.asar/package.json Loading @@ -140,7 +201,10 @@ stdenv.mkDerivation rec { icon = pname; inherit desktopName; genericName = meta.description; categories = [ "Network" "InstantMessaging" ]; categories = [ "Network" "InstantMessaging" ]; mimeTypes = [ "x-scheme-handler/discord" ]; }; Loading Loading
pkgs/applications/networking/instant-messengers/discord/darwin.nix +56 −26 Original line number Diff line number Diff line { pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, writeScript, python3, runCommand , branch , withOpenASAR ? false, openasar , withVencord ? false, vencord }: { pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, writeScript, python3, runCommand, branch, withOpenASAR ? false, openasar, withVencord ? false, vencord, }: let disableBreakingUpdates = runCommand "disable-breaking-updates.py" disableBreakingUpdates = runCommand "disable-breaking-updates.py" { pythonInterpreter = "${python3.interpreter}"; configDirName = lib.toLower binaryName; meta.mainProgram = "disable-breaking-updates.py"; } '' } '' mkdir -p $out/bin cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py substituteAllInPlace $out/bin/disable-breaking-updates.py Loading @@ -17,9 +35,17 @@ let ''; in stdenv.mkDerivation { inherit pname version src meta; inherit pname version src meta ; nativeBuildInputs = [ undmg makeWrapper ]; nativeBuildInputs = [ undmg makeWrapper ]; sourceRoot = "."; Loading @@ -37,9 +63,11 @@ stdenv.mkDerivation { runHook postInstall ''; postInstall = lib.strings.optionalString withOpenASAR '' postInstall = lib.strings.optionalString withOpenASAR '' cp -f ${openasar} $out/Applications/${desktopName}.app/Contents/Resources/app.asar '' + lib.strings.optionalString withVencord '' '' + lib.strings.optionalString withVencord '' mv $out/Applications/${desktopName}.app/Contents/Resources/app.asar $out/Applications/${desktopName}.app/Contents/Resources/_app.asar mkdir $out/Applications/${desktopName}.app/Contents/Resources/app.asar echo '{"name":"discord","main":"index.js"}' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/package.json Loading @@ -56,7 +84,9 @@ stdenv.mkDerivation { set -eou pipefail; url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=osx&format=dmg") version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+') update-source-version ${lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin."}${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch} update-source-version ${ lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin." }${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch} ''; }; }
pkgs/applications/networking/instant-messengers/discord/default.nix +56 −32 Original line number Diff line number Diff line { branch ? "stable", callPackage, fetchurl, lib, stdenv }: { branch ? "stable", callPackage, fetchurl, lib, stdenv, }: let versions = if stdenv.hostPlatform.isLinux then { if stdenv.hostPlatform.isLinux then { stable = "0.0.71"; ptb = "0.0.110"; canary = "0.0.502"; ptb = "0.0.111"; canary = "0.0.503"; development = "0.0.30"; } else { } else { stable = "0.0.322"; ptb = "0.0.140"; canary = "0.0.611"; ptb = "0.0.141"; canary = "0.0.612"; development = "0.0.53"; }; version = versions.${branch}; Loading @@ -21,11 +30,11 @@ let }; ptb = fetchurl { url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; hash = "sha256-NV/0YKn1rG54Zkc9qAmpeb+4YbKjxhjTCdPOd84Lcc8="; hash = "sha256-mms/qTA3XS+R5CDFWFS2RxiHOWnpU348nYagt9L2k2w="; }; canary = fetchurl { url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; hash = "sha256-2DE7p3eT/mVGC+ejnTcTEhF7sEWyhfUfzj0gYTh+6Dw="; hash = "sha256-Z0dv/jM0RipRI73vO9O5qqE0xf8qJtljZ3Zjr0Tf/KA="; }; development = fetchurl { url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz"; Loading @@ -39,11 +48,11 @@ let }; ptb = fetchurl { url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg"; hash = "sha256-VGhvykujfzI7jwXE+lHTzqT0t08GaON6gCuf13po7wY="; hash = "sha256-EVwosCb/34W4+dx/u/5aq3pl6FqU1QiFT17yPydtGBU="; }; canary = fetchurl { url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg"; hash = "sha256-QC8RANqoyMAGKjTF0NNhz7wMt65D5LI1xYtd++dHXC4="; hash = "sha256-xvrsohxoCTODG3Au5E773SEX5UXbBJ98J2Eb3Vtybfw="; }; development = fetchurl { url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg"; Loading @@ -52,31 +61,46 @@ let }; aarch64-darwin = x86_64-darwin; }; src = srcs.${stdenv.hostPlatform.system}.${branch} or (throw "${stdenv.hostPlatform.system} not supported on ${branch}"); src = srcs.${stdenv.hostPlatform.system}.${branch} or (throw "${stdenv.hostPlatform.system} not supported on ${branch}"); meta = with lib; { meta = { description = "All-in-one cross-platform voice and text chat for gamers"; homepage = "https://discordapp.com/"; downloadPage = "https://discordapp.com/download"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; maintainers = with maintainers; [ Scrumplex artturin infinidoge jopejoe1 ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; homepage = "https://discordapp.com/"; license = lib.licenses.unfree; mainProgram = "discord"; }; package = if stdenv.hostPlatform.isLinux then ./linux.nix else ./darwin.nix; maintainers = with lib.maintainers; [ artturin donteatoreo infinidoge jopejoe1 Scrumplex ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; package = if stdenv.hostPlatform.isLinux then ./linux.nix else ./darwin.nix; packages = ( builtins.mapAttrs (_: value: callPackage package (value ( _: value: callPackage package ( value // { inherit src version branch; meta = meta // { mainProgram = value.binaryName; }; })) meta = meta // { mainProgram = value.binaryName; }; } ) ) { stable = { pname = "discord"; Loading
pkgs/applications/networking/instant-messengers/discord/linux.nix +144 −80 Original line number Diff line number Diff line { pname, version, src, meta, binaryName, desktopName, autoPatchelfHook , makeDesktopItem, lib, stdenv, wrapGAppsHook3, makeShellWrapper, alsa-lib, at-spi2-atk , at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf , glib, gtk3, libcxx, libdrm, libglvnd, libnotify, libpulseaudio, libuuid, libX11 , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes , libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss , pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript, python3, runCommand , libunity , speechd-minimal , wayland , branch , withOpenASAR ? false, openasar , withVencord ? false, vencord , withTTS ? true }: { pname, version, src, meta, binaryName, desktopName, autoPatchelfHook, makeDesktopItem, lib, stdenv, wrapGAppsHook3, makeShellWrapper, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libglvnd, libnotify, libpulseaudio, libuuid, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript, python3, runCommand, libunity, speechd-minimal, wayland, branch, withOpenASAR ? false, openasar, withVencord ? false, vencord, withTTS ? true, }: let disableBreakingUpdates = runCommand "disable-breaking-updates.py" disableBreakingUpdates = runCommand "disable-breaking-updates.py" { pythonInterpreter = "${python3.interpreter}"; configDirName = lib.toLower binaryName; meta.mainProgram = "disable-breaking-updates.py"; } '' } '' mkdir -p $out/bin cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py substituteAllInPlace $out/bin/disable-breaking-updates.py Loading @@ -28,7 +81,12 @@ let in stdenv.mkDerivation rec { inherit pname version src meta; inherit pname version src meta ; nativeBuildInputs = [ alsa-lib Loading @@ -50,7 +108,8 @@ stdenv.mkDerivation rec { dontWrapGApps = true; libPath = lib.makeLibraryPath ([ libPath = lib.makeLibraryPath ( [ libcxx systemd libpulseaudio Loading Loading @@ -91,7 +150,9 @@ stdenv.mkDerivation rec { libappindicator-gtk3 libdbusmenu wayland ] ++ lib.optional withTTS speechd-minimal); ] ++ lib.optional withTTS speechd-minimal ); installPhase = '' runHook preInstall Loading @@ -113,9 +174,7 @@ stdenv.mkDerivation rec { ln -s $out/opt/${binaryName}/${binaryName} $out/bin/ # Without || true the install would fail on case-insensitive filesystems ln -s $out/opt/${binaryName}/${binaryName} $out/bin/${ lib.strings.toLower binaryName } || true ln -s $out/opt/${binaryName}/${binaryName} $out/bin/${lib.strings.toLower binaryName} || true ln -s $out/opt/${binaryName}/discord.png $out/share/pixmaps/${pname}.png ln -s $out/opt/${binaryName}/discord.png $out/share/icons/hicolor/256x256/apps/${pname}.png Loading @@ -125,9 +184,11 @@ stdenv.mkDerivation rec { runHook postInstall ''; postInstall = lib.strings.optionalString withOpenASAR '' postInstall = lib.strings.optionalString withOpenASAR '' cp -f ${openasar} $out/opt/${binaryName}/resources/app.asar '' + lib.strings.optionalString withVencord '' '' + lib.strings.optionalString withVencord '' mv $out/opt/${binaryName}/resources/app.asar $out/opt/${binaryName}/resources/_app.asar mkdir $out/opt/${binaryName}/resources/app.asar echo '{"name":"discord","main":"index.js"}' > $out/opt/${binaryName}/resources/app.asar/package.json Loading @@ -140,7 +201,10 @@ stdenv.mkDerivation rec { icon = pname; inherit desktopName; genericName = meta.description; categories = [ "Network" "InstantMessaging" ]; categories = [ "Network" "InstantMessaging" ]; mimeTypes = [ "x-scheme-handler/discord" ]; }; Loading