From 32398b6f13cb002306b9ff75e25eb69e95c8edec Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 10 Jun 2024 01:58:57 -0400 Subject: [PATCH] commit: init at 4.1 --- .../by-name/co/commit/command-from-path.patch | 30 ++++++++ pkgs/by-name/co/commit/package.nix | 75 +++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 pkgs/by-name/co/commit/command-from-path.patch create mode 100644 pkgs/by-name/co/commit/package.nix diff --git a/pkgs/by-name/co/commit/command-from-path.patch b/pkgs/by-name/co/commit/command-from-path.patch new file mode 100644 index 0000000000000..214c83d995459 --- /dev/null +++ b/pkgs/by-name/co/commit/command-from-path.patch @@ -0,0 +1,30 @@ +diff --git a/src/welcome.js b/src/welcome.js +index 27cc7dc..c6772c3 100644 +--- a/src/welcome.js ++++ b/src/welcome.js +@@ -55,24 +55,7 @@ export default function Welcome({ application }) { + } + + function getCommand() { +- const FLATPAK_ID = GLib.getenv("FLATPAK_ID"); +- +- if (FLATPAK_ID) { +- return `flatpak run ${FLATPAK_ID}`; +- } +- +- const { programInvocationName } = system; +- // re.sonny.Commit +- if (programInvocationName === GLib.path_get_basename(programInvocationName)) { +- return programInvocationName; +- } +- +- // ./re.sonny.commit +- // /home/sonny/re.sonny.Commit +- return GLib.canonicalize_filename( +- programInvocationName, +- GLib.get_current_dir(), +- ); ++ return "re.sonny.Commit"; + } + + function getRange(key) { diff --git a/pkgs/by-name/co/commit/package.nix b/pkgs/by-name/co/commit/package.nix new file mode 100644 index 0000000000000..c213ef37962d2 --- /dev/null +++ b/pkgs/by-name/co/commit/package.nix @@ -0,0 +1,75 @@ +{ + lib, + stdenv, + fetchFromGitHub, + appstream-glib, + blueprint-compiler, + desktop-file-utils, + gjs, + gtksourceview5, + libadwaita, + libspelling, + meson, + ninja, + pkg-config, + wrapGAppsHook4, + nix-update-script, +}: +stdenv.mkDerivation rec { + pname = "commit"; + version = "4.1"; + + src = fetchFromGitHub { + owner = "sonnyp"; + repo = "Commit"; + rev = "v${version}"; + hash = "sha256-HhyoQ4wrc8dHvVU+MylJgaKu9HwSw+/f6UDTIM2YRNk="; + fetchSubmodules = true; + }; + + patches = [ + # Instead of using the absolute path in command snippets, + # assume `re.sonny.Commit` is already in PATH. This prevents + # configurations from breaking when our store path changes + ./command-from-path.patch + ]; + + # gjs uses the invocation name to add gresource files + # to get around this, we set the entry point name manually + # + # `/usr/bin/env` is also used quite a bit + postPatch = '' + sed -i "1 a imports.package._findEffectiveEntryPointName = () => 're.sonny.Commit';" src/bin.js + patchShebangs {,.}* + ''; + + nativeBuildInputs = [ + appstream-glib + blueprint-compiler + desktop-file-utils + meson + ninja + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + libadwaita + libspelling + gtksourceview5 + gjs + ]; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Commit message editor"; + homepage = "https://github.com/sonnyp/Commit"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ getchoo ]; + mainProgram = "re.sonny.Commit"; + platforms = lib.platforms.linux; + }; +}