37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| # script to generate `pkgs/networking/instant-messengers/discord/default.nix`
 | |
| 
 | |
| set -e
 | |
| exec >${1:?usage: $0 <output-file>}
 | |
| 
 | |
| cat <<EOF
 | |
| { branch ? "stable", pkgs }:
 | |
| # Generated by /maintainers/scripts/update-discord
 | |
| let
 | |
|   inherit (pkgs) callPackage fetchurl;
 | |
| in {
 | |
| EOF
 | |
| 
 | |
| for branch in "" ptb canary; do
 | |
|     url=$(curl -sI "https://discordapp.com/api/download${branch:+/}${branch}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
 | |
|     version=${url##https://dl*.discordapp.net/apps/linux/}
 | |
|     version=${version%%/*.tar.gz}
 | |
|     echo "  ${branch:-stable} = callPackage ./base.nix rec {"
 | |
|     echo "    pname = \"discord${branch:+-}${branch}\";"
 | |
|     case $branch in
 | |
|         "") suffix="" ;;
 | |
|         ptb) suffix="PTB" ;;
 | |
|         canary) suffix="Canary" ;;
 | |
|     esac
 | |
|     echo "    binaryName = \"Discord${suffix}\";"
 | |
|     echo "    desktopName = \"Discord${suffix:+ }${suffix}\";"
 | |
|     echo "    version = \"${version}\";"
 | |
|     echo "    src = fetchurl {"
 | |
|     echo "      url = \"${url//${version}/\$\{version\}}\";"
 | |
|     echo "      sha256 = \"$(nix-prefetch-url "$url")\";"
 | |
|     echo "    };"
 | |
|     echo "  };"
 | |
| done
 | |
| 
 | |
| echo "}.\${branch}"
 | 
