chatterino7: refactor

This commit is contained in:
notohh 2023-10-24 23:41:54 -04:00
parent 8ede20a5f2
commit 5f8e6d9c0b
Signed by: notohh
GPG key ID: BD47506D475EE86D

View file

@ -1,30 +1,35 @@
{ {
stdenv, stdenv,
cmake,
pkgs,
lib, lib,
makeDesktopItem, cmake,
pkg-config,
fetchFromGitHub,
qtbase,
qtsvg,
qtmultimedia,
qtimageformats,
qttools,
boost,
openssl,
wrapQtAppsHook,
libsecret,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "chatterino7"; pname = "chatterino7";
version = "7.4.6"; version = "7.4.6";
src = pkgs.fetchFromGitHub {
src = fetchFromGitHub {
owner = "SevenTV"; owner = "SevenTV";
repo = pname; repo = pname;
rev = "9fd5cf1cb2b2f1c5c6e67d3428ed4a578e13ed9f"; rev = "v${version}";
sha256 = "sha256-WFmv15rZPnTFruoYpXHUBj1NduppNE3dt5S/ArWL1Wg="; sha256 = "sha256-WFmv15rZPnTFruoYpXHUBj1NduppNE3dt5S/ArWL1Wg=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = with pkgs; [cmake pkg-config libsForQt5.qt5.wrapQtAppsHook];
buildInputs = with pkgs; [libsForQt5.qt5.qtbase libsForQt5.qt5.qtsvg libsForQt5.qt5.qtmultimedia libsForQt5.qt5.qtimageformats libsForQt5.qt5.qttools boost openssl libsecret]; nativeBuildInputs = [cmake pkg-config wrapQtAppsHook];
configurationPhase = '' buildInputs = [qtbase qtsvg qtmultimedia qtimageformats qttools boost openssl libsecret];
mkdir build && cd build
cmake .. postInstall =
'';
buildPhase = ''
make
'';
installPhase =
'' ''
mkdir -p "$out/bin" mkdir -p "$out/bin"
cp "bin/chatterino" "$out/bin" cp "bin/chatterino" "$out/bin"
@ -33,19 +38,13 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/icons/hicolor/256x256/apps mkdir -p $out/share/icons/hicolor/256x256/apps
cp $src/resources/icon.png $out/share/icons/hicolor/256x256/apps/chatterino.png cp $src/resources/icon.png $out/share/icons/hicolor/256x256/apps/chatterino.png
''; '';
postFixup = ''
mkdir -p $out/share/applications
ln -s ${desktopFile}/share/applications/* $out/share/applications
'';
desktopFile = makeDesktopItem {
name = "Chatterino7";
desktopName = "Chatterino7";
exec = "chatterino";
icon = "chatterino";
comment = meta.description;
};
meta = with lib; { meta = with lib; {
description = "Chat client for twitch.tv"; description = "Chat client for twitch.tv";
longDescription = ''
Chatterino7 is a fork of Chatterino 2.
This fork mainly contains features that aren't accepted into Chatterino 2,
most notably 7TV subscriber features.
'';
homepage = "https://github.com/SevenTV/chatterino7"; homepage = "https://github.com/SevenTV/chatterino7";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [notohh]; maintainers = with maintainers; [notohh];