about summary refs log tree commit diff
path: root/pkgs/applications/editors/emacs
diff options
context:
space:
mode:
authoradisbladis <adisbladis@gmail.com>2022-04-24 09:28:05 +0700
committerGitHub <noreply@github.com>2022-04-24 09:28:05 +0700
commit357a8492efaff94164b66188c4b87541ea7ce088 (patch)
treee517893462cd6eccd38ab2d9a54189801885a2ab /pkgs/applications/editors/emacs
parent78632a93fb90e661216c89d16230fe2a17778185 (diff)
parent6922b8784d44cb676d675514562d994ed37757ab (diff)
downloadnixlib-357a8492efaff94164b66188c4b87541ea7ce088.tar
nixlib-357a8492efaff94164b66188c4b87541ea7ce088.tar.gz
nixlib-357a8492efaff94164b66188c4b87541ea7ce088.tar.bz2
nixlib-357a8492efaff94164b66188c4b87541ea7ce088.tar.lz
nixlib-357a8492efaff94164b66188c4b87541ea7ce088.tar.xz
nixlib-357a8492efaff94164b66188c4b87541ea7ce088.tar.zst
nixlib-357a8492efaff94164b66188c4b87541ea7ce088.zip
Merge pull request #170015 from adisbladis/emacs-manual-packages-updater
emacs: Add update script for manually packaged packages
Diffstat (limited to 'pkgs/applications/editors/emacs')
-rwxr-xr-xpkgs/applications/editors/emacs/elisp-packages/update10
-rwxr-xr-xpkgs/applications/editors/emacs/elisp-packages/update-manual7
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/update-manual.nix11
3 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/applications/editors/emacs/elisp-packages/update b/pkgs/applications/editors/emacs/elisp-packages/update
new file mode 100755
index 000000000000..02701fb546d9
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/update
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )"
+cd "$SCRIPT_DIR"
+
+./update-from-overlay
+
+./update-manual
+git commit -m "emacs.pkgs.manualPackages: $(date --iso)" -- .
diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-manual b/pkgs/applications/editors/emacs/elisp-packages/update-manual
new file mode 100755
index 000000000000..3b199eecc3d2
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/update-manual
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P )"
+cd "$SCRIPT_DIR"
+
+nix-build --no-out-link update-manual.nix | xargs -n 1 -P $(nproc) bash -c
diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix b/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix
new file mode 100644
index 000000000000..788d096e6ec6
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/update-manual.nix
@@ -0,0 +1,11 @@
+let
+  pkgs = import ../../../../../. {
+    config.allowBroken = true;
+  };
+  inherit (pkgs) lib emacs;
+  inherit (lib) isDerivation hasAttr filterAttrs mapAttrs attrValues;
+
+  # Extract updateScript's from manually package emacs packages
+  hasScript = filterAttrs (_: v: isDerivation v && hasAttr "updateScript" v) emacs.pkgs.manualPackages;
+
+in attrValues (mapAttrs (_: v: v.updateScript) hasScript)