about summary refs log tree commit diff
path: root/repos/emacs
diff options
context:
space:
mode:
authoradisbladis <adisbladis@gmail.com>2020-04-02 21:26:37 +0100
committeradisbladis <adisbladis@gmail.com>2020-04-02 21:28:12 +0100
commitb3ce5faf6cafa3c504375eebdba15a33777b51b1 (patch)
treea9c0219958652da356f10f2b2e5d922fbbf9a256 /repos/emacs
parent29d58d682cf29a43a8c5b6d83cce5a7507ae36db (diff)
downloadnixlib-b3ce5faf6cafa3c504375eebdba15a33777b51b1.tar
nixlib-b3ce5faf6cafa3c504375eebdba15a33777b51b1.tar.gz
nixlib-b3ce5faf6cafa3c504375eebdba15a33777b51b1.tar.bz2
nixlib-b3ce5faf6cafa3c504375eebdba15a33777b51b1.tar.lz
nixlib-b3ce5faf6cafa3c504375eebdba15a33777b51b1.tar.xz
nixlib-b3ce5faf6cafa3c504375eebdba15a33777b51b1.tar.zst
nixlib-b3ce5faf6cafa3c504375eebdba15a33777b51b1.zip
Add a new emacsUnstable attribute mirroring the latest release
This includes prereleases like the current 27.0.90 release
Diffstat (limited to 'repos/emacs')
-rw-r--r--repos/emacs/emacs-master.json (renamed from repos/emacs/emacs.json)0
-rw-r--r--repos/emacs/emacs-unstable.json1
-rw-r--r--repos/emacs/test.nix13
-rwxr-xr-xrepos/emacs/update19
4 files changed, 27 insertions, 6 deletions
diff --git a/repos/emacs/emacs.json b/repos/emacs/emacs-master.json
index 7b34352331e0..7b34352331e0 100644
--- a/repos/emacs/emacs.json
+++ b/repos/emacs/emacs-master.json
diff --git a/repos/emacs/emacs-unstable.json b/repos/emacs/emacs-unstable.json
new file mode 100644
index 000000000000..0ad2eb4e5655
--- /dev/null
+++ b/repos/emacs/emacs-unstable.json
@@ -0,0 +1 @@
+{"rev": "emacs-27.0.90", "sha256": "13n82lxbhmkcmlzbh0nml8ydxyfvz8g7wsdq7nszlwmq914gb5nk", "version": "emacs-27.0.90"}
diff --git a/repos/emacs/test.nix b/repos/emacs/test.nix
index a1c2cde3db25..618234cb76a8 100644
--- a/repos/emacs/test.nix
+++ b/repos/emacs/test.nix
@@ -1,7 +1,12 @@
 { pkgs ? import <nixpkgs> { overlays = [ (import ../../default.nix) ]; } }:
 
 let
-  package = pkgs.emacsGit;
-  emacsPackages = pkgs.emacsPackagesNgGen package;
-  emacsWithPackages = emacsPackages.emacsWithPackages;
-in emacsWithPackages(epkgs: [ ])
+  mkTestBuild = package: let
+    emacsPackages = pkgs.emacsPackagesNgGen package;
+    emacsWithPackages = emacsPackages.emacsWithPackages;
+  in emacsWithPackages(epkgs: [ ]);
+
+in {
+  emacsUnstable = mkTestBuild pkgs.emacsUnstable;
+  emacsGit = mkTestBuild pkgs.emacsGit;
+}
diff --git a/repos/emacs/update b/repos/emacs/update
index bf3581772f4c..9b24d599f580 100755
--- a/repos/emacs/update
+++ b/repos/emacs/update
@@ -8,6 +8,7 @@ cd $SCRIPTPATH
 function update_repo() {
     owner=$1
     repo=$2
+    branch=$3
     echo $repo
 
     # Get relevant data (commit id and timestamp) for the latest commit
@@ -18,9 +19,23 @@ function update_repo() {
     version_number=$(echo $commit_data | cut -d '/' -f 3 | cut -d 'T' -f 1 | sed 's/-//g').0
 
     digest=$(nix-prefetch-url --unpack "https://github.com/$owner/$repo/archive/${commit_sha}.tar.gz")
-    echo "{\"rev\": \"${commit_sha}\", \"sha256\": \"${digest}\", \"version\": \"${version_number}\"}" > $repo.json
+    echo "{\"rev\": \"${commit_sha}\", \"sha256\": \"${digest}\", \"version\": \"${version_number}\"}" > $repo-$branch.json
 }
 
-update_repo emacs-mirror emacs
+function update_release() {
+    owner=$1
+    repo=$2
+    branch=$3
+    echo $repo
+
+    tag=$(curl "https://github.com/$owner/$repo/releases.atom" | xmlstarlet sel -N atom="http://www.w3.org/2005/Atom" -t -m /atom:feed/atom:entry -v "concat('',atom:title)" -n | egrep -o '^[^:]+' | head -n 1)
+
+    digest=$(nix-prefetch-url --unpack "https://github.com/$owner/$repo/archive/${tag}.tar.gz")
+
+    echo "{\"rev\": \"${tag}\", \"sha256\": \"${digest}\", \"version\": \"${tag}\"}" > $repo-$branch.json
+}
+
+update_repo emacs-mirror emacs master
+update_release emacs-mirror emacs unstable
 
 nix-build --no-out-link --show-trace ./test.nix