From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleg Pykhalov Subject: Which Emacs version used to build Emacs packages with emacs-checkout? Date: Thu, 07 Sep 2017 21:49:14 +0300 Message-ID: <877exa5oph.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53260) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dq1rm-0007pj-9H for help-guix@gnu.org; Thu, 07 Sep 2017 14:49:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dq1rh-0007uh-H5 for help-guix@gnu.org; Thu, 07 Sep 2017 14:49:30 -0400 Received: from mail-lf0-x234.google.com ([2a00:1450:4010:c07::234]:37110) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dq1rh-0007uC-8n for help-guix@gnu.org; Thu, 07 Sep 2017 14:49:25 -0400 Received: by mail-lf0-x234.google.com with SMTP id 80so1072681lfy.4 for ; Thu, 07 Sep 2017 11:49:25 -0700 (PDT) Received: from magnolia ([178.69.34.237]) by smtp.gmail.com with ESMTPSA id j7sm51543lfh.66.2017.09.07.11.49.22 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 07 Sep 2017 11:49:22 -0700 (PDT) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org --=-=-= Content-Type: text/plain Hello Guix, Here is a =emacs-checkout= snippet which works for me. Enjoy it if somebody need it. I'm little bit confused about Emacs **version** that is used inside =emacs-build-systems= and inputs which use =emacs-minimal=. If I define a new package with =-checkout= suffix and install it, for example =guix package -i emacs@26.0.50-1.f0eb70d= it works fine. As I notice all packages which uses =emacs-build-system= will use original Guix Emacs version package. Am I right? Then, all Emacs packages will be build by =emacs-minimal= which is original Guix Emacs version. I found =(setq load-prefer-newer t)= way to avoid loading old compiled elisp files, but it's not what I really want. Thoughts? :-) --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=at Content-Description: emacs-checkout (define-public emacs-checkout (let ((commit "f0eb70d8935be90f7c03e187c12d9b60e7214cc6") (revision "1")) (package (inherit emacs) (name "emacs") (version (string-append "26.0.50" "-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference ;; "git://git.savannah.gnu.org/emacs.git" (url "git://localhost/~natsu/src/emacs") (commit commit))) (file-name (string-append name "-" version "-checkout")) (patches (search-patches "emacs-exec-path.patch" "emacs-source-date-epoch.patch")) (modules '((guix build utils))) (snippet ;; Delete the bundled byte-compiled elisp files and ;; generated autoloads. '(with-directory-excursion "lisp" (for-each delete-file (append (find-files "." "\\.elc$") (find-files "." "loaddefs\\.el$"))) ;; Make sure Tramp looks for binaries in the right places on ;; remote GuixSD machines, where 'getconf PATH' returns ;; something bogus. (substitute* "net/tramp-sh.el" ;; Patch the line after "(defcustom tramp-remote-path". (("\\(tramp-default-remote-path") (format #f "(tramp-default-remote-path ~s ~s ~s ~s " "~/.guix-profile/bin" "~/.guix-profile/sbin" "/run/current-system/profile/bin" "/run/current-system/profile/sbin"))))) (sha256 (base32 "1s2b9qahcqgp085fadsjys3w60z9dczh0y0jhnsp0axwi27ssmzc")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("bash" ,bash-minimal) ("perl" ,perl) ("rc" ,rc) ("python" ,python-2.7) ("chez-scheme" ,chez-scheme) ,@(package-native-inputs emacs))) (arguments (substitute-keyword-arguments `(#:parallel-build? #t #:tests? #f ,@(package-arguments emacs)) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'autogen (lambda _ (zero? (system* "sh" "autogen.sh")))) (delete 'reset-gzip-timestamps)))))))) (define-public geiser-checkout (let ((commit "9581e61f9d8839281fe42344dd5fe885ea7359ea") (revision "1")) (package (inherit geiser) (name "geiser") (version (string-append "0.9" "-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference (url "git://git.savannah.gnu.org/geiser.git") (commit commit))) (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0nx86pzncab0b7700m8sc7k3nzml4v9frrq77lljjcjhw71gnvnn")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("texinfo" ,texinfo) ,@(package-native-inputs geiser))) (arguments (substitute-keyword-arguments `(#:parallel-build? #t #:tests? #f ,@(package-arguments geiser)) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'autogen (lambda _ (zero? (system* "sh" "autogen.sh")))) (delete 'reset-gzip-timestamps)))))))) (define-public emacs-guix-checkout (package (inherit emacs-guix) (version (string-append (package-version emacs-guix) "-checkout")) (propagated-inputs `(("geiser" ,geiser-checkout) ("dash" ,emacs-dash) ("bui" ,emacs-bui) ("magit-popup" ,emacs-magit-popup))))) --=-=-=--