diff options
author | Pol Dellaiera <pol.dellaiera@protonmail.com> | 2024-04-01 13:05:48 +0200 |
---|---|---|
committer | Pol Dellaiera <pol.dellaiera@protonmail.com> | 2024-04-01 13:05:48 +0200 |
commit | 9b12db21dcbce131d181e70605f8a827278103a1 (patch) | |
tree | 853f9d13e6c42d7d7918cd68bacb265cfb62e6a9 /pkgs/by-name/gi | |
parent | 5e504176f3f7c5bf5a07bfcd2eb3785677f59874 (diff) |
github-desktop: move to `pkgs/by-name`
Diffstat (limited to 'pkgs/by-name/gi')
-rw-r--r-- | pkgs/by-name/gi/github-desktop/package.nix | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/pkgs/by-name/gi/github-desktop/package.nix b/pkgs/by-name/gi/github-desktop/package.nix new file mode 100644 index 0000000000000..b5799ae666072 --- /dev/null +++ b/pkgs/by-name/gi/github-desktop/package.nix @@ -0,0 +1,92 @@ +{ stdenvNoCC +, lib +, fetchurl +, autoPatchelfHook +, wrapGAppsHook +, makeWrapper +, gnome +, libsecret +, git +, curl +, nss +, nspr +, xorg +, libdrm +, alsa-lib +, cups +, mesa +, systemd +, openssl +}: + +let + rcversion = "1"; + arch = "amd64"; +in +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "github-desktop"; + version = "3.3.10"; + + src = fetchurl { + url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-${arch}-${finalAttrs.version}-linux${rcversion}.deb"; + hash = "sha256-zzq6p/DAQmgSw4KAUYqtrQKkIPksLzkUQjGzwO26WgQ="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + (wrapGAppsHook.override { inherit makeWrapper; }) + ]; + + buildInputs = [ + gnome.gnome-keyring + xorg.libXdamage + xorg.libX11 + libsecret + git + curl + nss + nspr + libdrm + alsa-lib + cups + mesa + openssl + ]; + + unpackPhase = '' + runHook preUnpack + mkdir -p $TMP/github-desktop $out/{opt,bin} + cp $src $TMP/github-desktop.deb + ar vx github-desktop.deb + tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/github-desktop/ + runHook postUnpack + ''; + + installPhase = '' + runHook preInstall + cp -R $TMP/github-desktop/usr/share $out/ + cp -R $TMP/github-desktop/usr/lib/github-desktop/* $out/opt/ + ln -sf $out/opt/github-desktop $out/bin/github-desktop + runHook postInstall + ''; + + preFixup = '' + gappsWrapperArgs+=( + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}" + ) + ''; + + runtimeDependencies = [ + (lib.getLib systemd) + ]; + + meta = { + description = "GUI for managing Git and GitHub."; + homepage = "https://desktop.github.com/"; + license = lib.licenses.mit; + mainProgram = "github-desktop"; + maintainers = with lib.maintainers; [ dan4ik605743 ]; + platforms = lib.platforms.linux; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +}) |