diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/build-support/emacs | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2 nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/config/console.nix nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/nixos/modules/services/networking/ssh/sshd.nix nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix nixpkgs/pkgs/applications/networking/irc/weechat/default.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/interpreters/python/default.nix nixpkgs/pkgs/development/node-packages/overrides.nix nixpkgs/pkgs/development/tools/b4/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix nixpkgs/pkgs/servers/mail/public-inbox/default.nix nixpkgs/pkgs/tools/security/pinentry/default.nix nixpkgs/pkgs/tools/text/unoconv/default.nix nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/build-support/emacs')
-rw-r--r-- | nixpkgs/pkgs/build-support/emacs/generic.nix | 2 | ||||
-rw-r--r-- | nixpkgs/pkgs/build-support/emacs/melpa.nix | 23 | ||||
-rw-r--r-- | nixpkgs/pkgs/build-support/emacs/package-build-dont-use-mtime.patch | 40 | ||||
-rw-r--r-- | nixpkgs/pkgs/build-support/emacs/trivial.nix | 1 | ||||
-rw-r--r-- | nixpkgs/pkgs/build-support/emacs/wrapper.nix | 17 |
5 files changed, 75 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/build-support/emacs/generic.nix b/nixpkgs/pkgs/build-support/emacs/generic.nix index 1b81dbcf9ed7..e3d1505dde87 100644 --- a/nixpkgs/pkgs/build-support/emacs/generic.nix +++ b/nixpkgs/pkgs/build-support/emacs/generic.nix @@ -85,7 +85,7 @@ stdenv.mkDerivation ({ addEmacsVars "$out" find $out/share/emacs -type f -name '*.el' -print0 \ - | xargs -0 -n 1 -I {} -P $NIX_BUILD_CORES sh -c \ + | xargs -0 -I {} -n 1 -P $NIX_BUILD_CORES sh -c \ "emacs --batch --eval '(setq large-file-warning-threshold nil)' -f batch-native-compile {} || true" ''; } diff --git a/nixpkgs/pkgs/build-support/emacs/melpa.nix b/nixpkgs/pkgs/build-support/emacs/melpa.nix index 924e6d95f14a..85bc8aa37b3a 100644 --- a/nixpkgs/pkgs/build-support/emacs/melpa.nix +++ b/nixpkgs/pkgs/build-support/emacs/melpa.nix @@ -35,11 +35,24 @@ import ./generic.nix { inherit lib stdenv emacs texinfo writeText gcc; } ({ then pname else ename; - packageBuild = fetchFromGitHub { - owner = "melpa"; - repo = "package-build"; - rev = "35017a2d87376c70c3239f48bdbac7efca85aa10"; - sha256 = "07hdmam85452v4r2vaabj1qfyami1hgbh0jgj9dcwbkpr0y1gvqj"; + packageBuild = stdenv.mkDerivation { + name = "package-build"; + src = fetchFromGitHub { + owner = "melpa"; + repo = "package-build"; + rev = "c3c535e93d9dc92acd21ebc4b15016b5c3b90e7d"; + sha256 = "17z0wbqdd6fspbj43yq8biff6wfggk74xgnaf1xx6ynsp1i74is5"; + }; + + patches = [ ./package-build-dont-use-mtime.patch ]; + + dontConfigure = true; + dontBuild = true; + + installPhase = " + mkdir -p $out + cp -r * $out + "; }; elpa2nix = ./elpa2nix.el; diff --git a/nixpkgs/pkgs/build-support/emacs/package-build-dont-use-mtime.patch b/nixpkgs/pkgs/build-support/emacs/package-build-dont-use-mtime.patch new file mode 100644 index 000000000000..fe94de57a300 --- /dev/null +++ b/nixpkgs/pkgs/build-support/emacs/package-build-dont-use-mtime.patch @@ -0,0 +1,40 @@ +diff --git a/package-build.el b/package-build.el +index e572045..9eb0f82 100644 +--- a/package-build.el ++++ b/package-build.el +@@ -415,7 +415,7 @@ (defun package-build--write-pkg-file (desc dir) + (princ ";; Local Variables:\n;; no-byte-compile: t\n;; End:\n" + (current-buffer))))) + +-(defun package-build--create-tar (name version directory mtime) ++(defun package-build--create-tar (name version directory) + "Create a tar file containing the contents of VERSION of package NAME. + DIRECTORY is a temporary directory that contains the directory + that is put in the tarball. MTIME is used as the modification +@@ -434,7 +434,7 @@ (defun package-build--create-tar (name version directory mtime) + ;; prevent a reproducable tarball as described at + ;; https://reproducible-builds.org/docs/archives. + "--sort=name" +- (format "--mtime=@%d" mtime) ++ "--mtime=@0" + "--owner=0" "--group=0" "--numeric-owner" + "--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime")) + (when (and package-build-verbose noninteractive) +@@ -848,12 +848,11 @@ (defun package-build--build-multi-file-package (rcp version commit files source- + (package-build--desc-from-library + name version commit files 'tar) + (error "%s[-pkg].el matching package name is missing" +- name)))) +- (mtime (package-build--get-commit-time rcp commit))) ++ name))))) + (package-build--copy-package-files files source-dir target) + (package-build--write-pkg-file desc target) + (package-build--generate-info-files files source-dir target) +- (package-build--create-tar name version tmp-dir mtime) ++ (package-build--create-tar name version tmp-dir) + (package-build--write-pkg-readme name files source-dir) + (package-build--write-archive-entry desc)) + (delete-directory tmp-dir t nil)))) +-- +2.37.2 + diff --git a/nixpkgs/pkgs/build-support/emacs/trivial.nix b/nixpkgs/pkgs/build-support/emacs/trivial.nix index f1aa078df272..abe4d761c6b5 100644 --- a/nixpkgs/pkgs/build-support/emacs/trivial.nix +++ b/nixpkgs/pkgs/build-support/emacs/trivial.nix @@ -21,6 +21,7 @@ callPackage ./generic.nix envargs ({ LISPDIR=$out/share/emacs/site-lisp install -d $LISPDIR install *.el *.elc $LISPDIR + emacs --batch -l package --eval "(package-generate-autoloads \"${args.pname}\" \"$LISPDIR\")" runHook postInstall ''; diff --git a/nixpkgs/pkgs/build-support/emacs/wrapper.nix b/nixpkgs/pkgs/build-support/emacs/wrapper.nix index edbe3ed97173..bd7702ebb916 100644 --- a/nixpkgs/pkgs/build-support/emacs/wrapper.nix +++ b/nixpkgs/pkgs/build-support/emacs/wrapper.nix @@ -42,6 +42,8 @@ let nativeComp = emacs.nativeComp or false; + treeSitter = emacs.treeSitter or false; + in packagesFun: # packages explicitly requested by the user @@ -65,10 +67,12 @@ runCommand # Store all paths we want to add to emacs here, so that we only need to add # one path to the load lists deps = runCommand "emacs-packages-deps" - { + ({ inherit explicitRequires lndir emacs; nativeBuildInputs = lib.optional nativeComp gcc; - } + } // lib.optionalAttrs nativeComp { + inherit (emacs) LIBRARY_PATH; + }) '' findInputsOld() { local pkg="$1"; shift @@ -109,6 +113,9 @@ runCommand ${optionalString nativeComp '' mkdir -p $out/share/emacs/native-lisp ''} + ${optionalString treeSitter '' + mkdir -p $out/lib + ''} local requires for pkg in $explicitRequires; do @@ -133,6 +140,9 @@ runCommand ${optionalString nativeComp '' linkPath "$1" "share/emacs/native-lisp" "share/emacs/native-lisp" ''} + ${optionalString treeSitter '' + linkPath "$1" "lib" "lib" + ''} } # Iterate over the array of inputs (avoiding nix's own interpolation) @@ -164,6 +174,9 @@ runCommand ${optionalString nativeComp '' (add-to-list 'native-comp-eln-load-path "$out/share/emacs/native-lisp/") ''} + ${optionalString treeSitter '' + (add-to-list 'treesit-extra-load-path "$out/lib/") + ''} EOF # Generate a subdirs.el that statically adds all subdirectories to load-path. |