Unverified Commit 23e610d6 authored by Lin Jian's avatar Lin Jian Committed by GitHub
Browse files

emacs: support and enable __structuredAttrs in elisp build helpers (#387193)

parents a3982961 d64a233e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -204,6 +204,9 @@

- `pkgs.nextcloud28` has been removed since it's out of support upstream.

- Emacs lisp build helpers, such as `emacs.pkgs.melpaBuild`, now enables `__structuredAttrs` by default.
  Environment variables have to be passed via the `env` attribute.

- `buildGoModule` now passes environment variables via the `env` attribute. `CGO_ENABLED` should now be specified with `env.CGO_ENABLED` when passing to buildGoModule. Direct specification of `CGO_ENABLED` is now redirected by a compatibility layer with a warning, but will become an error in future releases.

  Go-related environment variables previously shadowed by `buildGoModule` now results in errors when specified directly. Such variables include `GOOS` and `GOARCH`.
+3 −1
Original line number Diff line number Diff line
@@ -43,7 +43,9 @@ lib.extendMkDerivation {

          emacs --batch -Q -l "$elpa2nix" \
              -f elpa2nix-install-package \
              "$src" "$out/share/emacs/site-lisp/elpa"
              "$src" "$out/share/emacs/site-lisp/elpa" \
              ${if finalAttrs.turnCompilationWarningToError then "t" else "nil"} \
              ${if finalAttrs.ignoreCompilationError then "t" else "nil"}

          runHook postInstall
        '';
+4 −12
Original line number Diff line number Diff line
@@ -5,8 +5,10 @@
  (if (not noninteractive)
      (error "`elpa2nix-install-package' is to be used only with -batch"))
  (pcase command-line-args-left
    (`(,archive ,elpa)
     (progn (setq package-user-dir elpa)
    (`(,archive ,elpa ,turn-compilation-warning-to-error ,ignore-compilation-error)
     (progn (setq byte-compile-error-on-warn (string= turn-compilation-warning-to-error "t"))
            (setq byte-compile-debug (string= ignore-compilation-error "nil"))
            (setq package-user-dir elpa)
            (elpa2nix-install-file archive)))))

(defun elpa2nix-install-from-buffer ()
@@ -31,13 +33,3 @@ The file can either be a tar file or an Emacs Lisp file."

;; Allow installing package tarfiles larger than 10MB
(setq large-file-warning-threshold nil)

(let ((flag (getenv "turnCompilationWarningToError")))
  (when (and flag
             ;; we do not use `string-empty-p' because it requires subr-x in Emacs <= 26
             (not (string= flag "")))
    (setq byte-compile-error-on-warn t)))

(let ((flag (getenv "ignoreCompilationError")))
  (when (string= flag "")
    (setq byte-compile-debug t)))
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ lib.extendMkDerivation {
      propagatedUserEnvPkgs = finalAttrs.packageRequires ++ propagatedUserEnvPkgs;

      strictDeps = args.strictDeps or true;
      __structuredAttrs = args.__structuredAttrs or true;

      inherit turnCompilationWarningToError ignoreCompilationError;

+3 −1
Original line number Diff line number Diff line
@@ -185,7 +185,9 @@ lib.extendMkDerivation {
          emacs --batch -Q \
              -l "$elpa2nix" \
              -f elpa2nix-install-package \
              "$archive" "$out/share/emacs/site-lisp/elpa"
              "$archive" "$out/share/emacs/site-lisp/elpa" \
              ${if finalAttrs.turnCompilationWarningToError then "t" else "nil"} \
              ${if finalAttrs.ignoreCompilationError then "t" else "nil"}

          runHook postInstall
        '';
Loading