From unknown Tue Aug 12 03:20:36 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#30385 <30385@debbugs.gnu.org> To: bug#30385 <30385@debbugs.gnu.org> Subject: Status: Add vim-build-system Reply-To: bug#30385 <30385@debbugs.gnu.org> Date: Tue, 12 Aug 2025 10:20:36 +0000 retitle 30385 Add vim-build-system reassign 30385 guix-patches submitter 30385 ng0@crash.cx severity 30385 normal tag 30385 patch moreinfo thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 07 17:33:19 2018 Received: (at submit) by debbugs.gnu.org; 7 Feb 2018 22:33:19 +0000 Received: from localhost ([127.0.0.1]:33560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ejYHC-0005ow-PM for submit@debbugs.gnu.org; Wed, 07 Feb 2018 17:33:19 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41516) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ejYF2-0005lN-1m for submit@debbugs.gnu.org; Wed, 07 Feb 2018 17:31:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ejYEu-0004xu-Fe for submit@debbugs.gnu.org; Wed, 07 Feb 2018 17:30:54 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:50870) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ejYEu-0004xq-Ae for submit@debbugs.gnu.org; Wed, 07 Feb 2018 17:30:52 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60720) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ejYEr-0000pG-Gy for guix-patches@gnu.org; Wed, 07 Feb 2018 17:30:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ejYEo-0004vt-8A for guix-patches@gnu.org; Wed, 07 Feb 2018 17:30:49 -0500 Received: from aibo.runbox.com ([91.220.196.211]:50438) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ejYEn-0004vM-Mn for guix-patches@gnu.org; Wed, 07 Feb 2018 17:30:46 -0500 Received: from [10.9.9.212] (helo=mailfront12.runbox.com) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1ejYEl-0000aC-E9 for guix-patches@gnu.org; Wed, 07 Feb 2018 23:30:43 +0100 Received: from dslb-088-078-082-190.088.078.pools.vodafone-ip.de ([88.78.82.190] helo=localhost) by mailfront12.runbox.com with esmtpsa (uid:892961 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1ejYET-0001iO-MW for guix-patches@gnu.org; Wed, 07 Feb 2018 23:30:26 +0100 From: ng0@crash.cx To: guix-patches@gnu.org Subject: Add vim-build-system Date: Wed, 07 Feb 2018 22:30:30 +0000 Message-ID: <87a7wkv3eh.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 07 Feb 2018 17:33:13 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable This adds a first version of a functional vim-build-system. As explained today on IRC, and as you can guess by reading gnu/packages/vim.scm Vim has a concept of folders and files in standard places, but Makefiles and similar tools are an exception. Usually you have to copy them somewhere (or use external Vim package managers that pull the files for yoz and set the "run time path" (rtp) for you). There's also (to my best knowledge, keep in mind I've last read into Vim when I did the last commits in the Vim module) no ENV VAR or anything we could export, you have to manually set set rtp+=3D~/.guix-profile/share/vim/vimfiles/ in your $home/.vimrc The build system comes with a FIXME note, but it works. I'm in the middle of tests and exams, so this is the best I can correct from my earlier attempt in '17 on this. What I can apply are changes and adjustments to what I submit now. 4 Patches attached, 3 of them are for proof of work. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-build-system-Add-vim-build-system.patch Content-Transfer-Encoding: quoted-printable From=20617fc10671c18c35c0e3fcd6bc0c9d06a96a4ebf Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 2 Jul 2017 16:07:48 +0000 Subject: [PATCH 1/4] build-system: Add 'vim-build-system'. * Makefile.am (MODULES): Add 'guix/build-system/vim.scm' and 'guix/build/vim-build-system.scm'. * guix/build-system/vim.scm: New file. * guix/build/vim-build-system.scm: New file. =2D-- Makefile.am | 4 +- guix/build-system/vim.scm | 129 ++++++++++++++++++++++++++++++++++++= ++++ guix/build/vim-build-system.scm | 93 +++++++++++++++++++++++++++++ 3 files changed, 225 insertions(+), 1 deletion(-) create mode 100644 guix/build-system/vim.scm create mode 100644 guix/build/vim-build-system.scm diff --git a/Makefile.am b/Makefile.am index eb5d38231..72ad184ef 100644 =2D-- a/Makefile.am +++ b/Makefile.am @@ -9,7 +9,7 @@ # Copyright =C2=A9 2017 Ricardo Wurmus # Copyright =C2=A9 2017 Jan Nieuwenhuizen # Copyright =C2=A9 2017 Arun Isaac =2D# Copyright =C2=A9 2018 ng0 +# Copyright =C2=A9 2018 ng0 # # This file is part of GNU Guix. # @@ -106,6 +106,7 @@ MODULES =3D \ guix/build-system/perl.scm \ guix/build-system/python.scm \ guix/build-system/ocaml.scm \ + guix/build-system/vim.scm \ guix/build-system/waf.scm \ guix/build-system/r.scm \ guix/build-system/ruby.scm \ @@ -134,6 +135,7 @@ MODULES =3D \ guix/build/font-build-system.scm \ guix/build/go-build-system.scm \ guix/build/asdf-build-system.scm \ + guix/build/vim-build-system.scm \ guix/build/git.scm \ guix/build/hg.scm \ guix/build/glib-or-gtk-build-system.scm \ diff --git a/guix/build-system/vim.scm b/guix/build-system/vim.scm new file mode 100644 index 000000000..67657c7d8 =2D-- /dev/null +++ b/guix/build-system/vim.scm @@ -0,0 +1,129 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2018 ng0 +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build-system vim) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix derivations) + #:use-module (guix store) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (ice-9 match) + #:export (%vim-build-system-modules + vim-build + vim-build-system)) + +;; Commentary: +;; +;; Standard build procedure for vim packages. This is +;; implemented as an extension of 'gnu-build-system'. +;; +;; Code: + +(define %vim-build-system-modules + ;; Build-side modules imported by default. + `((guix build vim-build-system) + ,@%gnu-build-system-modules)) + +(define* (lower name + #:key source inputs native-inputs outputs system target + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + '(#:target #:inputs #:native-inputs)) + + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + ,(list "tar" (module-ref (resolve-interface '(gnu packa= ges base)) 'tar)) + ,@(let ((compression (resolve-interface '(gnu packages = compression)))) + (map (match-lambda + ((name package) + (list name (module-ref compression package)= ))) + `(("gzip" gzip) + ("bzip2" bzip2) + ("unzip" unzip) + ("xz" xz)))))) + (build-inputs native-inputs) + (outputs outputs) + (build vim-build) + (arguments (strip-keyword-arguments private-keywords arguments)))) + +(define* (vim-build store name inputs + #:key source + (tests? #t) + (test-target "test") + (configure-flags ''()) + (phases '(@ (guix build vim-build-system) + %standard-phases)) + (outputs '("out")) + (search-paths '()) + (system (%current-system)) + (guile #f) + (imported-modules %vim-build-system-modules) + (modules '((guix build vim-build-system) + (guix build utils)))) + "Build SOURCE with INPUTS." + (define builder + `(begin + (use-modules ,@modules) + (vim-build #:name ,name + #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:configure-flags ,configure-flags + #:system ,system + #:test-target ,test-target + #:tests? ,tests? + #:phases ,phases + #:outputs %outputs + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:inputs %build-inputs))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:inputs inputs + #:system system + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define vim-build-system + (build-system + (name 'vim) + (description "The build system for vim packages") + (lower lower))) diff --git a/guix/build/vim-build-system.scm b/guix/build/vim-build-system.= scm new file mode 100644 index 000000000..70e8129df =2D-- /dev/null +++ b/guix/build/vim-build-system.scm @@ -0,0 +1,93 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2018 ng0 +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build vim-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build utils) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-26) + #:export (%standard-phases + %default-exclude + vim-build)) + +;; Commentary: +;; +;; Builder-side code of the build procedure for vim packages. +;; +;; Code: + +;; These are the default inclusion/exclusion regexps for the install phase. +(define %default-exclude '("^\\.github$" "^.*\\.md$" "LICENSE" "COPYING" + "^.*\\README.*$" "^\\.travis\\.yml$" + "^.*\\Makefile.*$")) + +(define gnu:unpack (assoc-ref gnu:%standard-phases 'unpack)) + +(define (store-file->vim-source-file file) + "Convert FILE, a store file name for an Vim source file, into a file +name that has been stripped of the hash and version number." + (let ((suffix ".vim")) + (let-values (((name version) + (package-name->name+version + (basename + (strip-store-file-name file) suffix)))) + (string-append name suffix)))) + +(define* (unpack #:key source #:allow-other-keys) + "Unpack SOURCE into the build directory. SOURCE may be a compressed +archive, a directory or a '.vim' file." + (if (string-suffix? ".vim" source) + (begin + (mkdir "source") + (chdir "source") + (copy-file source (store-file->vim-source-file source)) + #t) + (gnu:unpack #:source source))) + +;; FIXME: Files like README.md and other, more unpredictable file names, +;; are currently being installed. Because there is no concept of a +;; standardized build-system in Vim extensions, we have to find a long-term +;; solution to exclusion of files that are not used at runtime. +(define* (install #:key outputs + (exclude %default-exclude) + #:allow-other-keys) + "Install the package contents." + (let* ((out (assoc-ref outputs "out")) + (source (getcwd)) + (vimfiles (string-append out "/share/vim/vimfiles"))) + (for-each delete-file-recursively + (find-files source "^\\.git$")) + (for-each delete-file-recursively + (find-files source "^\\.gitignore$")) + (mkdir out) + (copy-recursively "." vimfiles) + #t)) + +(define %standard-phases + (modify-phases gnu:%standard-phases + (replace 'unpack unpack) + (delete 'configure) + (delete 'check) + (delete 'build) + (replace 'install install))) + +(define* (vim-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given vim package, applying all of PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) =2D-=20 2.16.1 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-gnu-vim-neocomplete-Use-vim-build-system.patch Content-Transfer-Encoding: quoted-printable From=201b0a5ec5e59f65cfd6424a53e3bb24ad40586ed5 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 2 Jul 2017 16:11:19 +0000 Subject: [PATCH 2/4] gnu: vim-neocomplete: Use 'vim-build-system'. * gnu/packages/vim.scm (vim-neocomplete): Switch to 'vim-build-system'. =2D-- gnu/packages/vim.scm | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index abd25bc9d..7a843a0ab 100644 =2D-- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -29,6 +29,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system vim) #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages admin) ; For GNU hostname @@ -209,24 +210,7 @@ with the editor vim."))) (sha256 (base32 "1307gbrdwam2akq9w2lpijc41740i4layk2qkd9sjkqxfch5lni2")))) =2D (build-system gnu-build-system) =2D (arguments =2D `(#:tests? #f =2D #:phases =2D (modify-phases %standard-phases =2D (delete 'configure) =2D (delete 'build) =2D (replace 'install =2D (lambda* (#:key outputs #:allow-other-keys) =2D (let* ((out (assoc-ref outputs "out")) =2D (vimfiles (string-append out "/share/vim/vimfiles")) =2D (autoload (string-append vimfiles "/autoload")) =2D (doc (string-append vimfiles "/doc")) =2D (plugin (string-append vimfiles "/plugin"))) =2D (copy-recursively "autoload" autoload) =2D (copy-recursively "doc" doc) =2D (copy-recursively "plugin" plugin) =2D #t)))))) + (build-system vim-build-system) (synopsis "Next generation completion framework for Vim") (description "@code{neocomplete}, an abbreviation of 'neo-completion with cache', =2D-=20 2.16.1 --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0003-gnu-vim-neosnippet-snippets-Use-vim-build-system.patch Content-Transfer-Encoding: quoted-printable From=20cdbd15cf00e0bc1489437845f6c7f60fd517ab9a Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 7 Feb 2018 22:07:14 +0000 Subject: [PATCH 3/4] gnu: vim-neosnippet-snippets: Use 'vim-build-system'. * gnu/packages/vim.scm (vim-neosnippet-snippets): Switch to 'vim-build-syst= em'. =2D-- gnu/packages/vim.scm | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 7a843a0ab..13afbaeb4 100644 =2D-- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright =C2=A9 2013 Cyril Roelandt ;;; Copyright =C2=A9 2016, 2017, 2018 Efraim Flashner =2D;;; Copyright =C2=A9 2016, 2017 ng0 +;;; Copyright =C2=A9 2016, 2017, 2018 ng0 ;;; Copyright =C2=A9 2017 Ricardo Wurmus ;;; Copyright =C2=A9 2017 Marius Bakke ;;; Copyright =C2=A9 2018 Tobias Geerinckx-Rice @@ -238,20 +238,7 @@ features than Vim's built-in completion.") (sha256 (base32 "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6")))) =2D (build-system gnu-build-system) =2D (arguments =2D `(#:tests? #f =2D #:phases =2D (modify-phases %standard-phases =2D (delete 'configure) =2D (delete 'build) =2D (replace 'install =2D (lambda* (#:key outputs #:allow-other-keys) =2D (let* ((out (assoc-ref outputs "out")) =2D (vimfiles (string-append out "/share/vim/vimfiles"= ))) =2D (copy-recursively "neosnippets" =2D (string-append vimfiles "/neosnippets= ")) =2D #t)))))) + (build-system vim-build-system) (synopsis "Snippets for neosnippet") (description "@code{neosnippet-snippets} provides standard snippets for the Vim pl= ugin =2D-=20 2.16.1 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0004-gnu-vim-neosnippet-Use-vim-build-system.patch Content-Transfer-Encoding: quoted-printable From=2009cc9c735da27d0adb1ef141bbd2b7d37e1d6754 Mon Sep 17 00:00:00 2001 From: ng0 Date: Wed, 7 Feb 2018 22:14:58 +0000 Subject: [PATCH 4/4] gnu: vim-neosnippet: Use 'vim-build-system'. * gnu/packages/vim.scm (vim-neosnippet): Switch to 'vim-build-system'. =2D-- gnu/packages/vim.scm | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 13afbaeb4..99361fa5d 100644 =2D-- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -264,34 +264,7 @@ you can fill in on the fly.") (sha256 (base32 "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5")))) =2D (build-system gnu-build-system) =2D (arguments =2D `(#:tests? #f =2D #:phases =2D (modify-phases %standard-phases =2D (delete 'configure) =2D (delete 'build) =2D (replace 'install =2D (lambda* (#:key outputs #:allow-other-keys) =2D (let* ((out (assoc-ref outputs "out")) =2D (vimfiles (string-append out "/share/vim/vimfiles")) =2D (autoload (string-append vimfiles "/autoload")) =2D (doc (string-append vimfiles "/doc")) =2D (ftdetect (string-append vimfiles "/ftdetect")) =2D (ftplugin (string-append vimfiles "/ftplugin")) =2D (indent (string-append vimfiles "/indent")) =2D (plugin (string-append vimfiles "/plugin")) =2D (rplugin (string-append vimfiles "/rplugin")) =2D (syntax (string-append vimfiles "/syntax"))) =2D (copy-recursively "autoload" autoload) =2D (copy-recursively "doc" doc) =2D (copy-recursively "ftdetect" ftdetect) =2D (copy-recursively "ftplugin" ftplugin) =2D (copy-recursively "indent" indent) =2D (copy-recursively "plugin" plugin) =2D (copy-recursively "rplugin" rplugin) =2D (copy-recursively "syntax" syntax) =2D #t)))))) + (build-system vim-build-system) (synopsis "Snippet support for Vim") (description "@code{neosnippet}, is a plugin for Vim which adds snippet support to= Vim. =2D-=20 2.16.1 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable =2D-=20 ng0 :: https://ea.n0.is A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/ --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlp7fgYACgkQ4i+bv+40 hYjf0RAAhUe72DTRU8UhnbKsKqqC2T6bBgB6OrfZe7srKRJnOlWxrUA3WyVoZ0SB f2sRlknTQz6ESQhPwbDqqqaR4KLd7hWuAtImWrnO/Y8H+W2ydCMqOCgN85SZ1Dgs fAFAee0LoI1MUMADEV0u9W/YNYv0GlEAVw9fuMbxq2pAZJjpgGfkDGDFG4iosxDP vWZkVNPBWuLb3vTdsyl1pO3UeoKo2n/9X0AmJezIVg4eqmtCZmieoMfYERVNerpD V3pqZTJWksiUwIxVyJL/dX/1a56PnsbGEl9Sypgg3/efuH4Itfpts1mttCkrsSB+ AbdSY8KPIwwJsplYtmdJuJjfCEV+ZxoS692ARYpPcjR2KNCLu9Mwhg2EzoIiVFFW mCYziYIIE+BiLiMDVmuFtZH4/IhFb4f4b6w6o3a6V9qqihbV81MrYPAYChIFEBHh 2EiCzQ40Y17Oj4XaHuX0YfhocSJsiqi3UqXKWZi6ZDhSKYmH6+niwLTEOuJwNof/ 4bsgFsWy5tscDCZB/wHhfxHfDVmjqM5DrmjK7EFKeoPRo9vZukaKfOySY9GHhvdJ g4GSW1xmdtIsCWuw0XUavegTwZ+1hvvwgzXzX0hmTp3y4CgxCDHk7todI/SeoS50 KjlFnepyQt/I4RYwIsX5km7TJehcIV7db0QS7QfA1VpTC41qyzE= =4NjI -----END PGP SIGNATURE----- --==-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 28 03:54:44 2018 Received: (at 30385) by debbugs.gnu.org; 28 Feb 2018 08:54:44 +0000 Received: from localhost ([127.0.0.1]:36432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eqxVW-00068G-4s for submit@debbugs.gnu.org; Wed, 28 Feb 2018 03:54:44 -0500 Received: from aibo.runbox.com ([91.220.196.211]:52526) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eqxVP-00067y-9O for 30385@debbugs.gnu.org; Wed, 28 Feb 2018 03:54:36 -0500 Received: from [10.9.9.212] (helo=mailfront12.runbox.com) by mailtransmit02.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1eqxVO-0003h8-48 for 30385@debbugs.gnu.org; Wed, 28 Feb 2018 09:54:30 +0100 Received: from dslb-094-220-189-159.094.220.pools.vodafone-ip.de ([94.220.189.159] helo=localhost) by mailfront12.runbox.com with esmtpsa (uid:892961 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1eqxV1-0001na-3l for 30385@debbugs.gnu.org; Wed, 28 Feb 2018 09:54:07 +0100 Date: Wed, 28 Feb 2018 08:54:17 +0000 From: ng0 To: 30385@debbugs.gnu.org Subject: Re: [bug#30385] Add vim-build-system Message-ID: <20180228085417.b2o725dxstovrwic@abyayala> References: <87a7wkv3eh.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="bby7qmk6raz3dxfv" Content-Disposition: inline In-Reply-To: <87a7wkv3eh.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30385 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --bby7qmk6raz3dxfv Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable ng0@crash.cx transcribed 19K bytes: > This adds a first version of a functional vim-build-system. >=20 > As explained today on IRC, and as you can guess by reading > gnu/packages/vim.scm Vim has a concept of folders and files in > standard places, but Makefiles and similar tools are an > exception. Usually you have to copy them somewhere (or use > external Vim package managers that pull the files for yoz and set > the "run time path" (rtp) for you). >=20 > There's also (to my best knowledge, keep in mind I've last read > into Vim when I did the last commits in the Vim module) no ENV > VAR or anything we could export, you have to manually set >=20 > set rtp+=3D~/.guix-profile/share/vim/vimfiles/ >=20 > in your $home/.vimrc >=20 > The build system comes with a FIXME note, but it works. I'm in > the middle of tests and exams, so this is the best I can correct > from my earlier attempt in '17 on this. What I can apply are > changes and adjustments to what I submit now. >=20 > 4 Patches attached, 3 of them are for proof of work. >=20 Are 4 patches too much? Do we have no vim users here? I've never written a build system for Guix before, so if anyone feels like doing the QA here that would be nice. > From 617fc10671c18c35c0e3fcd6bc0c9d06a96a4ebf Mon Sep 17 00:00:00 2001 > From: ng0 > Date: Sun, 2 Jul 2017 16:07:48 +0000 > Subject: [PATCH 1/4] build-system: Add 'vim-build-system'. >=20 > * Makefile.am (MODULES): Add 'guix/build-system/vim.scm' and > 'guix/build/vim-build-system.scm'. > * guix/build-system/vim.scm: New file. > * guix/build/vim-build-system.scm: New file. > --- > Makefile.am | 4 +- > guix/build-system/vim.scm | 129 ++++++++++++++++++++++++++++++++++= ++++++ > guix/build/vim-build-system.scm | 93 +++++++++++++++++++++++++++++ > 3 files changed, 225 insertions(+), 1 deletion(-) > create mode 100644 guix/build-system/vim.scm > create mode 100644 guix/build/vim-build-system.scm >=20 > diff --git a/Makefile.am b/Makefile.am > index eb5d38231..72ad184ef 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -9,7 +9,7 @@ > # Copyright =C2=A9 2017 Ricardo Wurmus > # Copyright =C2=A9 2017 Jan Nieuwenhuizen > # Copyright =C2=A9 2017 Arun Isaac > -# Copyright =C2=A9 2018 ng0 > +# Copyright =C2=A9 2018 ng0 > # > # This file is part of GNU Guix. > # > @@ -106,6 +106,7 @@ MODULES =3D \ > guix/build-system/perl.scm \ > guix/build-system/python.scm \ > guix/build-system/ocaml.scm \ > + guix/build-system/vim.scm \ > guix/build-system/waf.scm \ > guix/build-system/r.scm \ > guix/build-system/ruby.scm \ > @@ -134,6 +135,7 @@ MODULES =3D \ > guix/build/font-build-system.scm \ > guix/build/go-build-system.scm \ > guix/build/asdf-build-system.scm \ > + guix/build/vim-build-system.scm \ > guix/build/git.scm \ > guix/build/hg.scm \ > guix/build/glib-or-gtk-build-system.scm \ > diff --git a/guix/build-system/vim.scm b/guix/build-system/vim.scm > new file mode 100644 > index 000000000..67657c7d8 > --- /dev/null > +++ b/guix/build-system/vim.scm > @@ -0,0 +1,129 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright =C2=A9 2018 ng0 > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see . > + > +(define-module (guix build-system vim) > + #:use-module (guix utils) > + #:use-module (guix packages) > + #:use-module (guix derivations) > + #:use-module (guix store) > + #:use-module (guix search-paths) > + #:use-module (guix build-system) > + #:use-module (guix build-system gnu) > + #:use-module (ice-9 match) > + #:export (%vim-build-system-modules > + vim-build > + vim-build-system)) > + > +;; Commentary: > +;; > +;; Standard build procedure for vim packages. This is > +;; implemented as an extension of 'gnu-build-system'. > +;; > +;; Code: > + > +(define %vim-build-system-modules > + ;; Build-side modules imported by default. > + `((guix build vim-build-system) > + ,@%gnu-build-system-modules)) > + > +(define* (lower name > + #:key source inputs native-inputs outputs system target > + #:allow-other-keys > + #:rest arguments) > + "Return a bag for NAME." > + (define private-keywords > + '(#:target #:inputs #:native-inputs)) > + > + (bag > + (name name) > + (system system) > + (host-inputs `(,@(if source > + `(("source" ,source)) > + '()) > + ,@inputs > + ,(list "tar" (module-ref (resolve-interface '(gnu pac= kages base)) 'tar)) > + ,@(let ((compression (resolve-interface '(gnu package= s compression)))) > + (map (match-lambda > + ((name package) > + (list name (module-ref compression packag= e)))) > + `(("gzip" gzip) > + ("bzip2" bzip2) > + ("unzip" unzip) > + ("xz" xz)))))) > + (build-inputs native-inputs) > + (outputs outputs) > + (build vim-build) > + (arguments (strip-keyword-arguments private-keywords arguments)))) > + > +(define* (vim-build store name inputs > + #:key source > + (tests? #t) > + (test-target "test") > + (configure-flags ''()) > + (phases '(@ (guix build vim-build-system) > + %standard-phases)) > + (outputs '("out")) > + (search-paths '()) > + (system (%current-system)) > + (guile #f) > + (imported-modules %vim-build-system-modules) > + (modules '((guix build vim-build-system) > + (guix build utils)))) > + "Build SOURCE with INPUTS." > + (define builder > + `(begin > + (use-modules ,@modules) > + (vim-build #:name ,name > + #:source ,(match (assoc-ref inputs "source") > + (((? derivation? source)) > + (derivation->output-path source)) > + ((source) > + source) > + (source > + source)) > + #:configure-flags ,configure-flags > + #:system ,system > + #:test-target ,test-target > + #:tests? ,tests? > + #:phases ,phases > + #:outputs %outputs > + #:search-paths ',(map search-path-specification->sexp > + search-paths) > + #:inputs %build-inputs))) > + > + (define guile-for-build > + (match guile > + ((? package?) > + (package-derivation store guile system #:graft? #f)) > + (#f ; the default > + (let* ((distro (resolve-interface '(gnu packages commencement))) > + (guile (module-ref distro 'guile-final))) > + (package-derivation store guile system #:graft? #f))))) > + > + (build-expression->derivation store name builder > + #:inputs inputs > + #:system system > + #:modules imported-modules > + #:outputs outputs > + #:guile-for-build guile-for-build)) > + > +(define vim-build-system > + (build-system > + (name 'vim) > + (description "The build system for vim packages") > + (lower lower))) > diff --git a/guix/build/vim-build-system.scm b/guix/build/vim-build-syste= m.scm > new file mode 100644 > index 000000000..70e8129df > --- /dev/null > +++ b/guix/build/vim-build-system.scm > @@ -0,0 +1,93 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright =C2=A9 2018 ng0 > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see . > + > +(define-module (guix build vim-build-system) > + #:use-module ((guix build gnu-build-system) #:prefix gnu:) > + #:use-module (guix build utils) > + #:use-module (srfi srfi-1) > + #:use-module (srfi srfi-11) > + #:use-module (srfi srfi-26) > + #:export (%standard-phases > + %default-exclude > + vim-build)) > + > +;; Commentary: > +;; > +;; Builder-side code of the build procedure for vim packages. > +;; > +;; Code: > + > +;; These are the default inclusion/exclusion regexps for the install pha= se. > +(define %default-exclude '("^\\.github$" "^.*\\.md$" "LICENSE" "COPYING" > + "^.*\\README.*$" "^\\.travis\\.yml$" > + "^.*\\Makefile.*$")) > + > +(define gnu:unpack (assoc-ref gnu:%standard-phases 'unpack)) > + > +(define (store-file->vim-source-file file) > + "Convert FILE, a store file name for an Vim source file, into a file > +name that has been stripped of the hash and version number." > + (let ((suffix ".vim")) > + (let-values (((name version) > + (package-name->name+version > + (basename > + (strip-store-file-name file) suffix)))) > + (string-append name suffix)))) > + > +(define* (unpack #:key source #:allow-other-keys) > + "Unpack SOURCE into the build directory. SOURCE may be a compressed > +archive, a directory or a '.vim' file." > + (if (string-suffix? ".vim" source) > + (begin > + (mkdir "source") > + (chdir "source") > + (copy-file source (store-file->vim-source-file source)) > + #t) > + (gnu:unpack #:source source))) > + > +;; FIXME: Files like README.md and other, more unpredictable file names, > +;; are currently being installed. Because there is no concept of a > +;; standardized build-system in Vim extensions, we have to find a long-t= erm > +;; solution to exclusion of files that are not used at runtime. > +(define* (install #:key outputs > + (exclude %default-exclude) > + #:allow-other-keys) > + "Install the package contents." > + (let* ((out (assoc-ref outputs "out")) > + (source (getcwd)) > + (vimfiles (string-append out "/share/vim/vimfiles"))) > + (for-each delete-file-recursively > + (find-files source "^\\.git$")) > + (for-each delete-file-recursively > + (find-files source "^\\.gitignore$")) > + (mkdir out) > + (copy-recursively "." vimfiles) > + #t)) > + > +(define %standard-phases > + (modify-phases gnu:%standard-phases > + (replace 'unpack unpack) > + (delete 'configure) > + (delete 'check) > + (delete 'build) > + (replace 'install install))) > + > +(define* (vim-build #:key inputs (phases %standard-phases) > + #:allow-other-keys #:rest args) > + "Build the given vim package, applying all of PHASES in order." > + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) > --=20 > 2.16.1 >=20 > From 1b0a5ec5e59f65cfd6424a53e3bb24ad40586ed5 Mon Sep 17 00:00:00 2001 > From: ng0 > Date: Sun, 2 Jul 2017 16:11:19 +0000 > Subject: [PATCH 2/4] gnu: vim-neocomplete: Use 'vim-build-system'. >=20 > * gnu/packages/vim.scm (vim-neocomplete): Switch to 'vim-build-system'. > --- > gnu/packages/vim.scm | 20 ++------------------ > 1 file changed, 2 insertions(+), 18 deletions(-) >=20 > diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm > index abd25bc9d..7a843a0ab 100644 > --- a/gnu/packages/vim.scm > +++ b/gnu/packages/vim.scm > @@ -29,6 +29,7 @@ > #:use-module (guix git-download) > #:use-module (guix build-system cmake) > #:use-module (guix build-system gnu) > + #:use-module (guix build-system vim) > #:use-module (gnu packages) > #:use-module (gnu packages acl) > #:use-module (gnu packages admin) ; For GNU hostname > @@ -209,24 +210,7 @@ with the editor vim."))) > (sha256 > (base32 > "1307gbrdwam2akq9w2lpijc41740i4layk2qkd9sjkqxfch5lni2")))) > - (build-system gnu-build-system) > - (arguments > - `(#:tests? #f > - #:phases > - (modify-phases %standard-phases > - (delete 'configure) > - (delete 'build) > - (replace 'install > - (lambda* (#:key outputs #:allow-other-keys) > - (let* ((out (assoc-ref outputs "out")) > - (vimfiles (string-append out "/share/vim/vimfiles")) > - (autoload (string-append vimfiles "/autoload")) > - (doc (string-append vimfiles "/doc")) > - (plugin (string-append vimfiles "/plugin"))) > - (copy-recursively "autoload" autoload) > - (copy-recursively "doc" doc) > - (copy-recursively "plugin" plugin) > - #t)))))) > + (build-system vim-build-system) > (synopsis "Next generation completion framework for Vim") > (description > "@code{neocomplete}, an abbreviation of 'neo-completion with cache', > --=20 > 2.16.1 >=20 > From cdbd15cf00e0bc1489437845f6c7f60fd517ab9a Mon Sep 17 00:00:00 2001 > From: ng0 > Date: Wed, 7 Feb 2018 22:07:14 +0000 > Subject: [PATCH 3/4] gnu: vim-neosnippet-snippets: Use 'vim-build-system'. >=20 > * gnu/packages/vim.scm (vim-neosnippet-snippets): Switch to 'vim-build-sy= stem'. > --- > gnu/packages/vim.scm | 17 ++--------------- > 1 file changed, 2 insertions(+), 15 deletions(-) >=20 > diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm > index 7a843a0ab..13afbaeb4 100644 > --- a/gnu/packages/vim.scm > +++ b/gnu/packages/vim.scm > @@ -1,7 +1,7 @@ > ;;; GNU Guix --- Functional package management for GNU > ;;; Copyright =C2=A9 2013 Cyril Roelandt > ;;; Copyright =C2=A9 2016, 2017, 2018 Efraim Flashner > -;;; Copyright =C2=A9 2016, 2017 ng0 > +;;; Copyright =C2=A9 2016, 2017, 2018 ng0 > ;;; Copyright =C2=A9 2017 Ricardo Wurmus > ;;; Copyright =C2=A9 2017 Marius Bakke > ;;; Copyright =C2=A9 2018 Tobias Geerinckx-Rice > @@ -238,20 +238,7 @@ features than Vim's built-in completion.") > (sha256 > (base32 > "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6")))) > - (build-system gnu-build-system) > - (arguments > - `(#:tests? #f > - #:phases > - (modify-phases %standard-phases > - (delete 'configure) > - (delete 'build) > - (replace 'install > - (lambda* (#:key outputs #:allow-other-keys) > - (let* ((out (assoc-ref outputs "out")) > - (vimfiles (string-append out "/share/vim/vimfiles"= ))) > - (copy-recursively "neosnippets" > - (string-append vimfiles "/neosnippets= ")) > - #t)))))) > + (build-system vim-build-system) > (synopsis "Snippets for neosnippet") > (description > "@code{neosnippet-snippets} provides standard snippets for the Vim = plugin > --=20 > 2.16.1 >=20 > From 09cc9c735da27d0adb1ef141bbd2b7d37e1d6754 Mon Sep 17 00:00:00 2001 > From: ng0 > Date: Wed, 7 Feb 2018 22:14:58 +0000 > Subject: [PATCH 4/4] gnu: vim-neosnippet: Use 'vim-build-system'. >=20 > * gnu/packages/vim.scm (vim-neosnippet): Switch to 'vim-build-system'. > --- > gnu/packages/vim.scm | 29 +---------------------------- > 1 file changed, 1 insertion(+), 28 deletions(-) >=20 > diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm > index 13afbaeb4..99361fa5d 100644 > --- a/gnu/packages/vim.scm > +++ b/gnu/packages/vim.scm > @@ -264,34 +264,7 @@ you can fill in on the fly.") > (sha256 > (base32 > "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5")))) > - (build-system gnu-build-system) > - (arguments > - `(#:tests? #f > - #:phases > - (modify-phases %standard-phases > - (delete 'configure) > - (delete 'build) > - (replace 'install > - (lambda* (#:key outputs #:allow-other-keys) > - (let* ((out (assoc-ref outputs "out")) > - (vimfiles (string-append out "/share/vim/vimfiles")) > - (autoload (string-append vimfiles "/autoload")) > - (doc (string-append vimfiles "/doc")) > - (ftdetect (string-append vimfiles "/ftdetect")) > - (ftplugin (string-append vimfiles "/ftplugin")) > - (indent (string-append vimfiles "/indent")) > - (plugin (string-append vimfiles "/plugin")) > - (rplugin (string-append vimfiles "/rplugin")) > - (syntax (string-append vimfiles "/syntax"))) > - (copy-recursively "autoload" autoload) > - (copy-recursively "doc" doc) > - (copy-recursively "ftdetect" ftdetect) > - (copy-recursively "ftplugin" ftplugin) > - (copy-recursively "indent" indent) > - (copy-recursively "plugin" plugin) > - (copy-recursively "rplugin" rplugin) > - (copy-recursively "syntax" syntax) > - #t)))))) > + (build-system vim-build-system) > (synopsis "Snippet support for Vim") > (description > "@code{neosnippet}, is a plugin for Vim which adds snippet support = to Vim. > --=20 > 2.16.1 >=20 > --=20 > ng0 :: https://ea.n0.is > A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/ --=20 A88C8ADD129828D7EAC02E52E22F9BBFEE348588 https://n0.is --bby7qmk6raz3dxfv Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlqWbjkACgkQ4i+bv+40 hYiHFxAAqi0H/0Nouq+xpaokYIoP6ExTY25ZlcT1SN0MTCuvb5ituav2+suS/Aq8 iYqXgUdKwm/XmZf7xupEjD/3lMR+0Vq+6+ESe0hiQuuswTT1GHs1JFpYUN8h5zkv 7l6Yw0yo6T2BTP83+8ZguzFxIzEG1OwDh04P1cn8kE4jc0J0n3RsxlPP0iDLdWpt jQfd1LSkYMiXl9KHACJyU6p7ftpgSnv98Z1MRq4KcVa1Uco0n9Ebx4DVwH8h5QRU WFg+sChRZ6FJ+jOnrPG6MG+otUxosiyvzX3Fjtu6/vT1Sg24AIuY4igCCNQuNUip zSJ34mf5tXKZXp7DiSVv2cBVHeLf4fv8yUUEzubxxp9BQ8ZfVNBW2x4yAnZRXFu0 lvq3CTiTtK23P8lXZ5jatyhZ3dZT0k+OMbkHR1co/nPz1LctLcVMiECIVvUqvyYu zIPJec13EElgrzrpFiI/WtTLUTOvI8DVD0S+nvNXWEZPTT5sLjhhTcWELSkwW4Vp 97oOc1Q9UwBf0hLRsTgHXc4wppT9cw+SU3Cej5IkelbCPHBAcfaDKuutsHRef6oE Kq8kI11C33uK7xkBesbe97bVBKXMx5VgGzTmtBhmlP7FunulV1dXu1JVET1zg5bq LDSUApLKtc+7MBO3V8FcJVus9crloN2zKQToOc5AiiS/VOtKoDg= =wUbP -----END PGP SIGNATURE----- --bby7qmk6raz3dxfv-- From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 28 17:08:51 2018 Received: (at 30385) by debbugs.gnu.org; 28 Feb 2018 22:08:51 +0000 Received: from localhost ([127.0.0.1]:37990 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1er9u7-0007qk-7Q for submit@debbugs.gnu.org; Wed, 28 Feb 2018 17:08:51 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:33120) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1er9u5-0007qd-Py for 30385@debbugs.gnu.org; Wed, 28 Feb 2018 17:08:50 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 62D7A10C6B; Wed, 28 Feb 2018 23:08:49 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ijjf0dhuu-7o; Wed, 28 Feb 2018 23:08:48 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 84F18DB1C; Wed, 28 Feb 2018 23:08:48 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: ng0 Subject: Re: [bug#30385] Add vim-build-system References: <87a7wkv3eh.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> <20180228085417.b2o725dxstovrwic@abyayala> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 10 =?utf-8?Q?Vent=C3=B4se?= an 226 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 28 Feb 2018 23:08:48 +0100 In-Reply-To: <20180228085417.b2o725dxstovrwic@abyayala> (ng0@n0.is's message of "Wed, 28 Feb 2018 08:54:17 +0000") Message-ID: <87tvu0u5qn.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 30385 Cc: 30385@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello ng0, ng0 skribis: > Are 4 patches too much? As you can see on , this is not the only patch waiting for review. All I can suggest is being patient, I=E2=80=99m sure everyone is doing their best. :-) Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 19 04:00:29 2018 Received: (at control) by debbugs.gnu.org; 19 Mar 2018 08:00:29 +0000 Received: from localhost ([127.0.0.1]:40651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1expiV-0002HA-R8 for submit@debbugs.gnu.org; Mon, 19 Mar 2018 04:00:29 -0400 Received: from li622-129.members.linode.com ([212.71.249.129]:40312 helo=mira.cbaines.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1expiU-0002Fe-Mt for control@debbugs.gnu.org; Mon, 19 Mar 2018 04:00:26 -0400 Received: by mira.cbaines.net (Postfix, from userid 113) id 3316313D067; Mon, 19 Mar 2018 08:00:26 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (cpc102582-walt20-2-0-cust14.13-2.cable.virginm.net [86.27.34.15]) by mira.cbaines.net (Postfix) with ESMTPSA id DEA3313D064 for ; Mon, 19 Mar 2018 08:00:25 +0000 (GMT) Received: from giedi (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 1d87e384 for ; Mon, 19 Mar 2018 08:00:25 +0000 (UTC) Date: Mon, 19 Mar 2018 08:00:25 +0000 Message-Id: <87605s7aw6.fsf@cbaines.net> To: control@debbugs.gnu.org From: Christopher Baines Subject: control message for bug #30385 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) tags 30385 patch From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 21 09:21:20 2018 Received: (at 30385) by debbugs.gnu.org; 21 Jun 2018 13:21:20 +0000 Received: from localhost ([127.0.0.1]:58366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fVzWV-00022I-Vn for submit@debbugs.gnu.org; Thu, 21 Jun 2018 09:21:20 -0400 Received: from sinope02.bbbm.mdc-berlin.de ([141.80.25.24]:59038) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fVzWQ-000227-6M for 30385@debbugs.gnu.org; Thu, 21 Jun 2018 09:21:11 -0400 Received: from localhost (localhost [127.0.0.1]) by sinope02.bbbm.mdc-berlin.de (Postfix) with ESMTP id 4820911A16E6; Thu, 21 Jun 2018 15:21:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= content-type:content-type:mime-version:message-id:date:date :in-reply-to:subject:subject:from:from:user-agent:references :received:received:received:received; s=mdc; t=1529587263; x= 1531401664; bh=mUhAq0z/utpYUaw5ptcuVmDXoo+rtp/vfqwV9NWI2W0=; b=Q 3c+jJFqxpx0S35gxl/O4Wv40vjnn//Pz3pefGYOja/07KhtHS3L5SSqYnwT7TEH9 KFvXQUiNxgj9I1tKP+shiDIjA4AyAvx4UrwYgz0d5IWhlN/lkIbnuouHgFJKN2lF af3LUBqJNhy/sznVd8koTvMTMO9EQWfF1OnBYME0s4= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from sinope02.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope02.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DqYWzYICIFce; Thu, 21 Jun 2018 15:21:03 +0200 (CEST) Received: from HTCATWO.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by sinope02.bbbm.mdc-berlin.de (Postfix) with ESMTPS; Thu, 21 Jun 2018 15:21:03 +0200 (CEST) Received: from SW-IT-P-CAS4.mdc-berlin.net (141.80.113.59) by HTCATWO.mdc-berlin.net (141.80.180.190) with Microsoft SMTP Server (TLS) id 14.3.399.0; Thu, 21 Jun 2018 15:21:03 +0200 Received: from localhost (141.80.113.51) by SW-IT-P-CAS4.mdc-berlin.net (141.80.113.59) with Microsoft SMTP Server id 14.3.399.0; Thu, 21 Jun 2018 15:21:02 +0200 References: <87a7wkv3eh.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> User-agent: mu4e 1.0; emacs 26.1 From: Ricardo Wurmus To: Subject: Re: [bug#30385] Add vim-build-system In-Reply-To: <87a7wkv3eh.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> X-URL: https://elephly.net X-PGP-Key: https://elephly.net/rekado.pubkey X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC Date: Thu, 21 Jun 2018 15:20:52 +0200 Message-ID: <871sd0tgwb.fsf@mdc-berlin.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Originating-IP: [141.80.113.51] X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.2.1013-23920.006 X-TM-AS-Result: No-13.231200-8.000000-10 X-TMASE-MatchedRID: zGP2F0O7j/vo2d3orePV3fHkpkyUphL9Za7LkubQvj9jPrlNB+gMq1e/ KWmAuveArc2kEsHh4aZl2Szw4gtLAeBX8Ypq0C8lSk3ASAlP761ezmeoa8MJ80uCjz4ggdtwoQE YbyRPJnd53DrnZ9A6ExEIoddjVdcsIly/lfs5uYn9vE/QVDV5IRNtTUpgahCn+Cckfm+bb6DOXi w/vAtmtSPKmcaFmhj14gap5MvM7lCsP7gN7d9IwTWnQyoYXNHZVkJ4hxc37K9fNjF5BHUO+80X3 rZe95Q5TQ0j/deBrVPCQOCHizeBUgOPIDYCx7que0f0oZqxJUk= X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--13.231200-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.2.1013-23920.006 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 30385 Cc: 30385@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable > This adds a first version of a functional vim-build-system. Thank you. Sorry for the delay. I just went through this but found a couple of defects. I fixed the regular expressions in %default-exclude, removed unused module imports, and fixed minor indentation problems, but then I noticed a few more fundamental problems. * %default-exclude is not used. The =E2=80=9Cinstall=E2=80=9D phase uncond= itionally installs everything * The build system does not support an #:exclude argument that would allow a user to override the behaviour. (Compare this to the ant-build-system, which supports excluding tests, for example.) * The build system allows users to specify a test-target and disable tests (they default to #t), but there is no check phase anyway. It also supports configure-flags, but it would not use them. Attached is the patch with my minor changes. Could you please send an updated patch where these problems are addressed? Thanks! -- Ricardo --=-=-= Content-Type: text/x-patch; charset="utf-8" Content-Disposition: inline; filename="0001-build-system-Add-vim-build-system.patch" Content-Transfer-Encoding: quoted-printable >From 7decc6cd27af54994abfc396beaeae68a6acd69a Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 2 Jul 2017 16:07:48 +0000 Subject: [PATCH] build-system: Add vim-build-system. * Makefile.am (MODULES): Add guix/build-system/vim.scm and guix/build/vim-build-system.scm. * guix/build-system/vim.scm: New file. * guix/build/vim-build-system.scm: New file. Signed-off-by: Ricardo Wurmus --- Makefile.am | 2 + guix/build-system/vim.scm | 129 ++++++++++++++++++++++++++++++++ guix/build/vim-build-system.scm | 91 ++++++++++++++++++++++ 3 files changed, 222 insertions(+) create mode 100644 guix/build-system/vim.scm create mode 100644 guix/build/vim-build-system.scm diff --git a/Makefile.am b/Makefile.am index ab145065d..b5d910139 100644 --- a/Makefile.am +++ b/Makefile.am @@ -114,6 +114,7 @@ MODULES =3D \ guix/build-system/perl.scm \ guix/build-system/python.scm \ guix/build-system/ocaml.scm \ + guix/build-system/vim.scm \ guix/build-system/waf.scm \ guix/build-system/r.scm \ guix/build-system/ruby.scm \ @@ -143,6 +144,7 @@ MODULES =3D \ guix/build/font-build-system.scm \ guix/build/go-build-system.scm \ guix/build/asdf-build-system.scm \ + guix/build/vim-build-system.scm \ guix/build/git.scm \ guix/build/hg.scm \ guix/build/glib-or-gtk-build-system.scm \ diff --git a/guix/build-system/vim.scm b/guix/build-system/vim.scm new file mode 100644 index 000000000..9bd44e077 --- /dev/null +++ b/guix/build-system/vim.scm @@ -0,0 +1,129 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2018 ng0 +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build-system vim) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix derivations) + #:use-module (guix store) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (ice-9 match) + #:export (%vim-build-system-modules + vim-build + vim-build-system)) + +;; Commentary: +;; +;; Standard build procedure for vim packages. This is +;; implemented as an extension of 'gnu-build-system'. +;; +;; Code: + +(define %vim-build-system-modules + ;; Build-side modules imported by default. + `((guix build vim-build-system) + ,@%gnu-build-system-modules)) + +(define* (lower name + #:key source inputs native-inputs outputs system target + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + '(#:target #:inputs #:exclude #:native-inputs)) + + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + ,(list "tar" (module-ref (resolve-interface '(gnu packa= ges base)) 'tar)) + ,@(let ((compression (resolve-interface '(gnu packages = compression)))) + (map (match-lambda + ((name package) + (list name (module-ref compression package)= ))) + `(("gzip" gzip) + ("bzip2" bzip2) + ("unzip" unzip) + ("xz" xz)))))) + (build-inputs native-inputs) + (outputs outputs) + (build vim-build) + (arguments (strip-keyword-arguments private-keywords arguments)))) + +(define* (vim-build store name inputs + #:key source + (tests? #t) + (test-target "test") + (configure-flags ''()) + (phases '(@ (guix build vim-build-system) + %standard-phases)) + (outputs '("out")) + (search-paths '()) + (system (%current-system)) + (guile #f) + (imported-modules %vim-build-system-modules) + (modules '((guix build vim-build-system) + (guix build utils)))) + "Build SOURCE with INPUTS." + (define builder + `(begin + (use-modules ,@modules) + (vim-build #:name ,name + #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:configure-flags ,configure-flags + #:system ,system + #:test-target ,test-target + #:tests? ,tests? + #:phases ,phases + #:outputs %outputs + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:inputs %build-inputs))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:inputs inputs + #:system system + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define vim-build-system + (build-system + (name 'vim) + (description "The build system for vim packages") + (lower lower))) diff --git a/guix/build/vim-build-system.scm b/guix/build/vim-build-system.= scm new file mode 100644 index 000000000..a8a6221e9 --- /dev/null +++ b/guix/build/vim-build-system.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2018 ng0 +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (guix build vim-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build utils) + #:use-module (srfi srfi-11) + #:export (%standard-phases + %default-exclude + vim-build)) + +;; Commentary: +;; +;; Builder-side code of the build procedure for vim packages. +;; +;; Code: + +;; These are the default inclusion/exclusion regexps for the install phase. +(define %default-exclude '("^.github$" "^.*\\.md$" "LICENSE" "COPYING" + "^.*README.*$" "^\\.travis\\.yml$" + "^.*Makefile.*$")) + +(define gnu:unpack (assoc-ref gnu:%standard-phases 'unpack)) + +(define (store-file->vim-source-file file) + "Convert FILE, a store file name for an Vim source file, into a file +name that has been stripped of the hash and version number." + (let ((suffix ".vim")) + (let-values (((name version) + (package-name->name+version + (basename + (strip-store-file-name file) suffix)))) + (string-append name suffix)))) + +(define* (unpack #:key source #:allow-other-keys) + "Unpack SOURCE into the build directory. SOURCE may be a compressed +archive, a directory or a '.vim' file." + (if (string-suffix? ".vim" source) + (begin + (mkdir "source") + (chdir "source") + (copy-file source (store-file->vim-source-file source)) + #t) + (gnu:unpack #:source source))) + +;; FIXME: Files like README.md and other, more unpredictable file names, +;; are currently being installed. Because there is no concept of a +;; standardized build-system in Vim extensions, we have to find a long-term +;; solution to exclusion of files that are not used at runtime. +(define* (install #:key outputs + (exclude %default-exclude) + #:allow-other-keys) + "Install the package contents." + (let* ((out (assoc-ref outputs "out")) + (source (getcwd)) + (vimfiles (string-append out "/share/vim/vimfiles"))) + (for-each delete-file-recursively + (find-files source "^\\.git$")) + (for-each delete-file-recursively + (find-files source "^\\.gitignore$")) + (mkdir out) + (copy-recursively "." vimfiles) + #t)) + +(define %standard-phases + (modify-phases gnu:%standard-phases + (replace 'unpack unpack) + (delete 'configure) + (delete 'check) + (delete 'build) + (replace 'install install))) + +(define* (vim-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given vim package, applying all of PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) --=20 2.17.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 21 09:21:32 2018 Received: (at control) by debbugs.gnu.org; 21 Jun 2018 13:21:33 +0000 Received: from localhost ([127.0.0.1]:58369 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fVzWm-00022n-Ng for submit@debbugs.gnu.org; Thu, 21 Jun 2018 09:21:32 -0400 Received: from venus.bbbm.mdc-berlin.de ([141.80.25.30]:45046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fVzWl-00022d-AT for control@debbugs.gnu.org; Thu, 21 Jun 2018 09:21:31 -0400 Received: from localhost (localhost [127.0.0.1]) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTP id 67556380DF7 for ; Thu, 21 Jun 2018 15:21:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= message-id:content-type:content-type:mime-version:subject :subject:from:from:date:date:received:received:received :received; s=mdc; t=1529587290; x=1531401691; bh=GFcIHGTRkX5TTjJ 24L/MEDNmOOqrqYn0nYV0mLSuIGo=; b=tCBA0h3KPDrdhnegoJJ+7wXosW4TY/6 kqIyrcTSsk/Ik7OVI3vfYUQhhUcazJ3CyuSNH6bbBnBRTNpKU+6ew/CbZkyoFrk/ 5uH4RtShb+I+sjBxP4LZTEQrsyX4OqM1a7/sTChIwqv0jv7Zry2vlW2fxMDoQgn5 2bRDXU+Cp8Yk= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from venus.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (venus.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CNhwRePuBGYQ for ; Thu, 21 Jun 2018 15:21:30 +0200 (CEST) Received: from HTCAONE.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by venus.bbbm.mdc-berlin.de (Postfix) with ESMTPS for ; Thu, 21 Jun 2018 15:21:30 +0200 (CEST) Received: from SW-IT-P-CAS4.mdc-berlin.net (141.80.113.59) by HTCAONE.mdc-berlin.net (141.80.180.120) with Microsoft SMTP Server (TLS) id 14.3.399.0; Thu, 21 Jun 2018 15:21:29 +0200 Received: from localhost (141.80.113.51) by SW-IT-P-CAS4.mdc-berlin.net (141.80.113.59) with Microsoft SMTP Server id 14.3.399.0; Thu, 21 Jun 2018 15:21:29 +0200 Date: Thu, 21 Jun 2018 15:21:19 +0200 To: From: Ricardo Wurmus Subject: control message for bug #30385 MIME-Version: 1.0 Content-Type: text/plain Message-ID: <6ef1930f-f259-49c4-a811-148a559c28c2@SW-IT-P-CAS4.mdc-berlin.net> X-Originating-IP: [141.80.113.51] X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.2.1013-23920.006 X-TM-AS-Result: No-6.344000-8.000000-10 X-TMASE-MatchedRID: JF2LdsBN2LqR9GF2J2xqMxRFJJyf5BJePTjRLcJ7r4H5M14iD8jFXi+4 bGm53b9r6h+ZI4NPtvP6C0ePs7A07SAJgyd9wrc88dVWt3OwLIKbayeBAQvY5B0iowKmwcloYio P6sC8FmaHETQu/3jQKTDqKvfQGpbb7f26Xu5TPkLZfZGgGONnSCkM+79xDx4l X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--6.344000-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.2.1013-23920.006 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) tags 30385 moreinfo From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 26 10:47:01 2018 Received: (at 30385) by debbugs.gnu.org; 26 Jun 2018 14:47:01 +0000 Received: from localhost ([127.0.0.1]:36351 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fXpFA-0000kT-Py for submit@debbugs.gnu.org; Tue, 26 Jun 2018 10:47:00 -0400 Received: from static.195.114.201.195.clients.your-server.de ([195.201.114.195]:42918 helo=conspiracy.of.n0.is) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fXpF7-0000kJ-TF for 30385@debbugs.gnu.org; Tue, 26 Jun 2018 10:46:54 -0400 Received: by conspiracy.of.n0.is (OpenSMTPD) with ESMTPSA id f280fb0e (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Tue, 26 Jun 2018 14:46:51 +0000 (UTC) Date: Tue, 26 Jun 2018 14:47:28 +0000 From: Nils Gillmann To: Ricardo Wurmus Subject: Re: [bug#30385] Add vim-build-system Message-ID: <20180626144728.i6cwloiexh3rp4ey@abyayala> References: <87a7wkv3eh.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me> <871sd0tgwb.fsf@mdc-berlin.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <871sd0tgwb.fsf@mdc-berlin.de> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30385 Cc: 30385@debbugs.gnu.org, ng0@n0.is X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Ricardo Wurmus transcribed 11K bytes: > > > This adds a first version of a functional vim-build-system. > > Thank you. > > Sorry for the delay. I just went through this but found a couple of > defects. > > I fixed the regular expressions in %default-exclude, removed unused > module imports, and fixed minor indentation problems, but then I noticed > a few more fundamental problems. > > * %default-exclude is not used. The “install” phase unconditionally > installs everything > > * The build system does not support an #:exclude argument that would > allow a user to override the behaviour. (Compare this to the > ant-build-system, which supports excluding tests, for example.) > > * The build system allows users to specify a test-target and disable > tests (they default to #t), but there is no check phase anyway. It > also supports configure-flags, but it would not use them. > > Attached is the patch with my minor changes. > > Could you please send an updated patch where these problems are > addressed? > > Thanks! Hi, thanks again for your review. I'm currently busy, I had no time to work on an update. I will send one soon enough. This is just as a notice that I'll do it, there's just other tasks keeping me occupied. > -- > Ricardo > > From 7decc6cd27af54994abfc396beaeae68a6acd69a Mon Sep 17 00:00:00 2001 > From: ng0 > Date: Sun, 2 Jul 2017 16:07:48 +0000 > Subject: [PATCH] build-system: Add vim-build-system. > > * Makefile.am (MODULES): Add guix/build-system/vim.scm and > guix/build/vim-build-system.scm. > * guix/build-system/vim.scm: New file. > * guix/build/vim-build-system.scm: New file. > > Signed-off-by: Ricardo Wurmus > --- > Makefile.am | 2 + > guix/build-system/vim.scm | 129 ++++++++++++++++++++++++++++++++ > guix/build/vim-build-system.scm | 91 ++++++++++++++++++++++ > 3 files changed, 222 insertions(+) > create mode 100644 guix/build-system/vim.scm > create mode 100644 guix/build/vim-build-system.scm > > diff --git a/Makefile.am b/Makefile.am > index ab145065d..b5d910139 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -114,6 +114,7 @@ MODULES = \ > guix/build-system/perl.scm \ > guix/build-system/python.scm \ > guix/build-system/ocaml.scm \ > + guix/build-system/vim.scm \ > guix/build-system/waf.scm \ > guix/build-system/r.scm \ > guix/build-system/ruby.scm \ > @@ -143,6 +144,7 @@ MODULES = \ > guix/build/font-build-system.scm \ > guix/build/go-build-system.scm \ > guix/build/asdf-build-system.scm \ > + guix/build/vim-build-system.scm \ > guix/build/git.scm \ > guix/build/hg.scm \ > guix/build/glib-or-gtk-build-system.scm \ > diff --git a/guix/build-system/vim.scm b/guix/build-system/vim.scm > new file mode 100644 > index 000000000..9bd44e077 > --- /dev/null > +++ b/guix/build-system/vim.scm > @@ -0,0 +1,129 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright © 2018 ng0 > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see . > + > +(define-module (guix build-system vim) > + #:use-module (guix utils) > + #:use-module (guix packages) > + #:use-module (guix derivations) > + #:use-module (guix store) > + #:use-module (guix search-paths) > + #:use-module (guix build-system) > + #:use-module (guix build-system gnu) > + #:use-module (ice-9 match) > + #:export (%vim-build-system-modules > + vim-build > + vim-build-system)) > + > +;; Commentary: > +;; > +;; Standard build procedure for vim packages. This is > +;; implemented as an extension of 'gnu-build-system'. > +;; > +;; Code: > + > +(define %vim-build-system-modules > + ;; Build-side modules imported by default. > + `((guix build vim-build-system) > + ,@%gnu-build-system-modules)) > + > +(define* (lower name > + #:key source inputs native-inputs outputs system target > + #:allow-other-keys > + #:rest arguments) > + "Return a bag for NAME." > + (define private-keywords > + '(#:target #:inputs #:exclude #:native-inputs)) > + > + (bag > + (name name) > + (system system) > + (host-inputs `(,@(if source > + `(("source" ,source)) > + '()) > + ,@inputs > + ,(list "tar" (module-ref (resolve-interface '(gnu packages base)) 'tar)) > + ,@(let ((compression (resolve-interface '(gnu packages compression)))) > + (map (match-lambda > + ((name package) > + (list name (module-ref compression package)))) > + `(("gzip" gzip) > + ("bzip2" bzip2) > + ("unzip" unzip) > + ("xz" xz)))))) > + (build-inputs native-inputs) > + (outputs outputs) > + (build vim-build) > + (arguments (strip-keyword-arguments private-keywords arguments)))) > + > +(define* (vim-build store name inputs > + #:key source > + (tests? #t) > + (test-target "test") > + (configure-flags ''()) > + (phases '(@ (guix build vim-build-system) > + %standard-phases)) > + (outputs '("out")) > + (search-paths '()) > + (system (%current-system)) > + (guile #f) > + (imported-modules %vim-build-system-modules) > + (modules '((guix build vim-build-system) > + (guix build utils)))) > + "Build SOURCE with INPUTS." > + (define builder > + `(begin > + (use-modules ,@modules) > + (vim-build #:name ,name > + #:source ,(match (assoc-ref inputs "source") > + (((? derivation? source)) > + (derivation->output-path source)) > + ((source) > + source) > + (source > + source)) > + #:configure-flags ,configure-flags > + #:system ,system > + #:test-target ,test-target > + #:tests? ,tests? > + #:phases ,phases > + #:outputs %outputs > + #:search-paths ',(map search-path-specification->sexp > + search-paths) > + #:inputs %build-inputs))) > + > + (define guile-for-build > + (match guile > + ((? package?) > + (package-derivation store guile system #:graft? #f)) > + (#f ; the default > + (let* ((distro (resolve-interface '(gnu packages commencement))) > + (guile (module-ref distro 'guile-final))) > + (package-derivation store guile system #:graft? #f))))) > + > + (build-expression->derivation store name builder > + #:inputs inputs > + #:system system > + #:modules imported-modules > + #:outputs outputs > + #:guile-for-build guile-for-build)) > + > +(define vim-build-system > + (build-system > + (name 'vim) > + (description "The build system for vim packages") > + (lower lower))) > diff --git a/guix/build/vim-build-system.scm b/guix/build/vim-build-system.scm > new file mode 100644 > index 000000000..a8a6221e9 > --- /dev/null > +++ b/guix/build/vim-build-system.scm > @@ -0,0 +1,91 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright © 2018 ng0 > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see . > + > +(define-module (guix build vim-build-system) > + #:use-module ((guix build gnu-build-system) #:prefix gnu:) > + #:use-module (guix build utils) > + #:use-module (srfi srfi-11) > + #:export (%standard-phases > + %default-exclude > + vim-build)) > + > +;; Commentary: > +;; > +;; Builder-side code of the build procedure for vim packages. > +;; > +;; Code: > + > +;; These are the default inclusion/exclusion regexps for the install phase. > +(define %default-exclude '("^.github$" "^.*\\.md$" "LICENSE" "COPYING" > + "^.*README.*$" "^\\.travis\\.yml$" > + "^.*Makefile.*$")) > + > +(define gnu:unpack (assoc-ref gnu:%standard-phases 'unpack)) > + > +(define (store-file->vim-source-file file) > + "Convert FILE, a store file name for an Vim source file, into a file > +name that has been stripped of the hash and version number." > + (let ((suffix ".vim")) > + (let-values (((name version) > + (package-name->name+version > + (basename > + (strip-store-file-name file) suffix)))) > + (string-append name suffix)))) > + > +(define* (unpack #:key source #:allow-other-keys) > + "Unpack SOURCE into the build directory. SOURCE may be a compressed > +archive, a directory or a '.vim' file." > + (if (string-suffix? ".vim" source) > + (begin > + (mkdir "source") > + (chdir "source") > + (copy-file source (store-file->vim-source-file source)) > + #t) > + (gnu:unpack #:source source))) > + > +;; FIXME: Files like README.md and other, more unpredictable file names, > +;; are currently being installed. Because there is no concept of a > +;; standardized build-system in Vim extensions, we have to find a long-term > +;; solution to exclusion of files that are not used at runtime. > +(define* (install #:key outputs > + (exclude %default-exclude) > + #:allow-other-keys) > + "Install the package contents." > + (let* ((out (assoc-ref outputs "out")) > + (source (getcwd)) > + (vimfiles (string-append out "/share/vim/vimfiles"))) > + (for-each delete-file-recursively > + (find-files source "^\\.git$")) > + (for-each delete-file-recursively > + (find-files source "^\\.gitignore$")) > + (mkdir out) > + (copy-recursively "." vimfiles) > + #t)) > + > +(define %standard-phases > + (modify-phases gnu:%standard-phases > + (replace 'unpack unpack) > + (delete 'configure) > + (delete 'check) > + (delete 'build) > + (replace 'install install))) > + > +(define* (vim-build #:key inputs (phases %standard-phases) > + #:allow-other-keys #:rest args) > + "Build the given vim package, applying all of PHASES in order." > + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) > -- > 2.17.1 > From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 02 17:26:35 2018 Received: (at control) by debbugs.gnu.org; 2 Jul 2018 21:26:35 +0000 Received: from localhost ([127.0.0.1]:44002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fa6LC-00022r-W1 for submit@debbugs.gnu.org; Mon, 02 Jul 2018 17:26:35 -0400 Received: from sinope02.bbbm.mdc-berlin.de ([141.80.25.24]:34108) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fa6L8-00022h-QL for control@debbugs.gnu.org; Mon, 02 Jul 2018 17:26:31 -0400 Received: from localhost (localhost [127.0.0.1]) by sinope02.bbbm.mdc-berlin.de (Postfix) with ESMTP id 8D99A11BEDBD for ; Mon, 2 Jul 2018 23:26:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mdc-berlin.de; h= message-id:content-type:content-type:mime-version:subject :subject:from:from:date:date:received:received:received :received; s=mdc; t=1530566784; x=1532381185; bh=HB77+hoq9h0w2vd 7mANglGiXHuZh4MKonjWHqbT+x24=; b=knx1KJ3M9HszJcXCCNa6yCgpD7LJSKk K0+R5jeWnQMzMEV5mAK2cDXIggB5uYeLXgAQ6/1Aj4aOMIOzwQyIO7uROFmQp1EK YLfJAqz805KA43oPw1036xnDUjQiPKCr7fyV/AhbyiDyqIo7x2V8zumhf/iXXRbE jYOMLgbI4IKk= X-Virus-Scanned: amavisd-new at mdc-berlin.de Received: from sinope02.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope02.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G2xRbB_0v3c0 for ; Mon, 2 Jul 2018 23:26:24 +0200 (CEST) Received: from HTCATWO.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by sinope02.bbbm.mdc-berlin.de (Postfix) with ESMTPS for ; Mon, 2 Jul 2018 23:26:24 +0200 (CEST) Received: from SW-IT-P-CAS4.mdc-berlin.net (141.80.113.59) by HTCATWO.mdc-berlin.net (141.80.180.190) with Microsoft SMTP Server (TLS) id 14.3.399.0; Mon, 2 Jul 2018 23:26:24 +0200 Received: from localhost (141.80.113.51) by SW-IT-P-CAS4.mdc-berlin.net (141.80.113.59) with Microsoft SMTP Server id 14.3.399.0; Mon, 2 Jul 2018 23:26:23 +0200 Date: Mon, 2 Jul 2018 23:26:13 +0200 To: From: Ricardo Wurmus Subject: control message for bug #31989 MIME-Version: 1.0 Content-Type: text/plain Message-ID: X-Originating-IP: [141.80.113.51] X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.2.1013-23944.002 X-TM-AS-Result: No-3.353100-8.000000-10 X-TMASE-MatchedRID: r78SC5iivxwURSScn+QSXudOY0QPe0XVotj07xUCUr7WlEQHxuZGTt0H 8LFZNFG71sULACB0qRJ6bJiXucl2QNrsJoLpYNCVaiUSRWcIg5tQobbRZ4cKTyY14lMvsKdlVSS Rpkp4VuFFcXk+MzbtdCd89aIKODlDn2qlhfnukSJ+3BndfXUhXQ== X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--3.353100-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.2.1013-23944.002 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) merge 31989 30385 From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 24 18:47:36 2021 Received: (at 30385-done) by debbugs.gnu.org; 24 Nov 2021 23:47:36 +0000 Received: from localhost ([127.0.0.1]:55241 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mq1zD-00037G-FD for submit@debbugs.gnu.org; Wed, 24 Nov 2021 18:47:35 -0500 Received: from mail-wr1-f53.google.com ([209.85.221.53]:39823) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mq1zA-0002zm-NS; Wed, 24 Nov 2021 18:47:34 -0500 Received: by mail-wr1-f53.google.com with SMTP id a18so7447159wrn.6; Wed, 24 Nov 2021 15:47:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=zkHqZbSLD7nyAnPKNvZViy9tuqU/x1Jc3ikDyaFJdQ8=; b=Jqi58iz90Vyw7vbLe9f+fwykbQB/ekCvRTD+oXqZ0h0+oPXlNcuZVGmUgt/A4XS7EU BZ69cf0PLQMmeH95e/3o+jdkHAP8w8oblYanDzFadRh9HL9G0H8i57qw57uGHJT9Qxvi Ypyje7SzaubQoUENbVF3huwcSPo3x+zyqNt2lX3TneF7ozsneAl7uq2210rLOSwHLBtM hvxiF2Zc/NcW6d7VtQBz4gakD1zfjPYA1W4nEQUorxGPjaMcsZUN9o2KIGKBmiKz8K3r +Cid2+oRm/LMVDpUtW5eU1E1fdOHA8zuhNSQZ2OQlly3oCY8wCcOsu3aLh9BldRmGUn7 4Tqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=zkHqZbSLD7nyAnPKNvZViy9tuqU/x1Jc3ikDyaFJdQ8=; b=Mp6iaTOLi8rzFzQkZRr69Ui9pRVh7Kz3tegcPQjxLKxQdkWPYM2vQKx4p8WB+H27xK 9T3HMV6RyOJx9q1pCxEE4f+3YcF8DU7+7In8WJtNHwa85dnCccdeItbPul7vg8kXEMSH cBcn1vMJPN3doN6UEkZEEwjPKud2uHdhVFaIEF08VHOQ0nEiC6I/6KeGBVZ/IpSVA8iG 0Joti/UxXLHBY7InwxMwv1TJeMMmLjmPWmOKRdRKHPqJLIxCpqbvRGNeGjNANcH/Ocfq vlqSsmnAeqgU2A1UUZDGMqsgNYVjaj4l9S3KaREftEAG8GNc6kvHt83LOuzIaDu5ELMS TTyg== X-Gm-Message-State: AOAM531TWNiVgx4l0wka193zmYSt1yhmZs1dYaDZ2kZ+mf6kEvyh78JG l8O6vMfNwBACNmETxRiPGR4ySs4I+Fg= X-Google-Smtp-Source: ABdhPJwDBw750nV9fDvX3Xo7glqD0MQbu4IaSrbaxYIz/9PfM+z7IMfImUuKlE833il/4f/zvQ37WA== X-Received: by 2002:a5d:49c3:: with SMTP id t3mr1313323wrs.207.1637797647095; Wed, 24 Nov 2021 15:47:27 -0800 (PST) Received: from lili ([2a01:e0a:59b:9120:65d2:2476:f637:db1e]) by smtp.gmail.com with ESMTPSA id e7sm1770063wrg.31.2021.11.24.15.47.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Nov 2021 15:47:26 -0800 (PST) From: zimoun To: Efraim Flashner Subject: Re: [bug#31989] vim-build-system References: <20180627200454.GC1537@macbook41> Date: Thu, 25 Nov 2021 00:45:20 +0100 In-Reply-To: <20180627200454.GC1537@macbook41> (Efraim Flashner's message of "Wed, 27 Jun 2018 23:04:54 +0300") Message-ID: <86zgptrucv.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 30385-done Cc: 31989-done@debbugs.gnu.org, 30385-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, On Wed, 27 Jun 2018 at 23:04, Efraim Flashner wrote: > This patch got forgotten about a year ago > > -- > Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7= =9D =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 > GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypt= ed > > From: ng0 > Subject: Re: PATCH in need for discussion: vim-build-system > To: Efraim Flashner , guix-devel@gnu.org > Date: Sun, 2 Jul 2017 19:56:07 +0000 (4 years, 20 weeks, 5 days ago) > Mail-Followup-To: Efraim Flashner , guix-devel@gnu= .org > > ng0 transcribed 1.3K bytes: >> I found the mistake, a simple typo. Updated patch coming soon. > > That would've been too easy, but there was a typo. This is marked as moreinfo since 2018. After reading the thread, I am closing because Vim users do not seem to manifest an interest for having vim-build-system. If I misread something, feel free to reopen. It appears to me better to still keep close this one, and send a fresh set of patches to review. Cheers, simon From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 26 06:14:28 2021 Received: (at 30385-done) by debbugs.gnu.org; 26 Nov 2021 11:14:28 +0000 Received: from localhost ([127.0.0.1]:58814 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mqZBT-00064v-Pe for submit@debbugs.gnu.org; Fri, 26 Nov 2021 06:14:28 -0500 Received: from flashner.co.il ([178.62.234.194]:53394) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mqZBR-00064d-Sx; Fri, 26 Nov 2021 06:14:26 -0500 Received: from localhost (unknown [141.226.12.213]) by flashner.co.il (Postfix) with ESMTPSA id 9C61D405BC; Fri, 26 Nov 2021 11:14:18 +0000 (UTC) Date: Fri, 26 Nov 2021 13:13:38 +0200 From: Efraim Flashner To: zimoun Subject: Re: [bug#31989] vim-build-system Message-ID: Mail-Followup-To: Efraim Flashner , zimoun , 31989-done@debbugs.gnu.org, 30385-done@debbugs.gnu.org References: <20180627200454.GC1537@macbook41> <86zgptrucv.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="qkrA9frBWapVVmY8" Content-Disposition: inline In-Reply-To: <86zgptrucv.fsf@gmail.com> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30385-done Cc: 31989-done@debbugs.gnu.org, 30385-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --qkrA9frBWapVVmY8 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Nov 25, 2021 at 12:45:20AM +0100, zimoun wrote: > Hi, >=20 > On Wed, 27 Jun 2018 at 23:04, Efraim Flashner wro= te: > > This patch got forgotten about a year ago > > > > -- > > Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7= =9D =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 > > GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > > Confidentiality cannot be guaranteed on emails sent or received unencry= pted > > > > From: ng0 > > Subject: Re: PATCH in need for discussion: vim-build-system > > To: Efraim Flashner , guix-devel@gnu.org > > Date: Sun, 2 Jul 2017 19:56:07 +0000 (4 years, 20 weeks, 5 days ago) > > Mail-Followup-To: Efraim Flashner , guix-devel@g= nu.org > > > > ng0 transcribed 1.3K bytes: > >> I found the mistake, a simple typo. Updated patch coming soon. > > > > That would've been too easy, but there was a typo. >=20 > This is marked as moreinfo since 2018. After reading the thread, I am > closing because Vim users do not seem to manifest an interest for having > vim-build-system. >=20 > If I misread something, feel free to reopen. It appears to me better to > still keep close this one, and send a fresh set of patches to review. >=20 > Cheers, > simon We do pretty well with the copy-build-system, with the occasional extra phase(s). --=20 Efraim Flashner =D7=A8=D7=A0=D7=A9=D7=9C=D7=A4 = =D7=9D=D7=99=D7=A8=D7=A4=D7=90 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --qkrA9frBWapVVmY8 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmGgwV8ACgkQQarn3Mo9 g1HQvhAAmTqRlhbg9EyvEcKbBMxC0NB9s13+u+/FQDrTOj7xHav4HBo8nODPsVeM 36U8tse8Ei8veY4bXd0N/64eHuGN5y5JOyDMV0Q/k/YZgnFkGn+Wfv/mUF71ExY9 fs7tls7l5b3kxCHhr3NrFOSq0oHCpAwtD7X5tTy/f+dh1qtn4DglvaC3OrN/ycU1 n4q6N9rYpVSV/WE5hxbZkR3oayYpwroFyk7yHCF49BlBn28t0O9qHqUOHEabx+7Z pQJIRIIT8Xjk7IbZJeBNFYPDIV1WQt6/nsD9l8hlJA1wRt8kyMu1xq754dRb4Rd5 mCGZWtUZsPzSICfLHIeMfV+FD0oAF4TibEqHAHsGhk3dLE9iz7Fcu6eARW6Zb43Z JnWKgN5sAYXzCyUW1jun0SebMLXPYa1ygMMWeT60w/FEAMKgLaHXw4sM+kf4UU0l ahB6akdj6InBkcZcnOSdMu7BXkfuGXmdh6dibu7g1J7qsfdbJdWkS/q8rj0LCrTP +6BHNvKBXNYBxJmLKtnUU9gSj/WhB/ORtF2XNjPbsOX8mLhaDtPLSoTaIYIMDVQ6 yTBa8l8FUAXy4Mb0SL1CDhCyj05z7pP5n+hVn7xpv3uE67U6Zbq/4onqgu2O7/2U l+W9tcIPtJTX07QJJUHhFrI8X4MWxuu+TNY9xqsqXmjFnrRIqhY= =G4XR -----END PGP SIGNATURE----- --qkrA9frBWapVVmY8-- From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 28 04:23:52 2021 Received: (at 30385) by debbugs.gnu.org; 28 Nov 2021 09:23:52 +0000 Received: from localhost ([127.0.0.1]:34941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrGPY-0002P1-Fu for submit@debbugs.gnu.org; Sun, 28 Nov 2021 04:23:52 -0500 Received: from mail-sgaapc01olkn2026.outbound.protection.outlook.com ([40.92.53.26]:48545 helo=APC01-SG2-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrGPU-0002Oi-Ab for 30385@debbugs.gnu.org; Sun, 28 Nov 2021 04:23:51 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=L/Knkviis3r1jCyNhfQzDyctPvXdELF0O7j8CNElVqCoMw27yCKWATB7I5tr/FZd4cgac5PM5zcolfJdcyi9l1E0prBDKSc3GtcEKzuErNFD9E1jx//Qx+G6+2Fx4yXixjcAx2X+b7gWyiQ9AuLUvaJNmcx2vGGwnexEp1Kokr+TG92xfGVmIAB29lDZ7t3nbJAZHiRElY+CR+eOI+6YaN8pGt760EVJk6uZRKSWm2RtHwL4pu6OfiMl3VrR+C/LEP22hqSLfFDI6LqNOPdJ/FqnLmnMoASor1jaXhPPvN33ITkrrx7Rpf4WFC+iHYkiszjzUyQ/oJPJXDyQ9zc3Bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mx7SXcGE6fvcE71y30RCw1VxWhlzRG46OD4Nr8SXFCk=; b=EOJdTXkeHfA5EFTGAeCPiItGHUvtz7PjJ6k0hOS1X/WAs0w06s3rmAPNArZjDfoXB8H031UMkeKuEZRBELKkXlfJJEaPhbNadphfTPJr/ohOUh8Vgj45pavIf3beIgX6CGYon4F9VJt+znJmHbDnXZGVrjlDvILCzz3sJzpIax163LPyEV7K+8X9pWYB4IcgJupzE9kV/5tcetSR/3HKxKewto4i/I5KWJzqwQTZNYqiLugAyH7slBXfa8XPp52HTfJ2DA18A8J371bzjqjvXrE7n53EpThLE9UG2A73OG8lVcAO4ZXOhGi79nEvH3FhTYxSRtVDkAn2oGYRFV/lAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mx7SXcGE6fvcE71y30RCw1VxWhlzRG46OD4Nr8SXFCk=; b=ESD44l8olfOURo45ycAFQW6Oyur/jK5OiM4KrdEdv/mnCwaPWjOhagWNUFxkSVBpuTfJFachfZ2YZ4naRcd1+RXXLx046E8ftUr9rPoJaZimAf4D9RA5aj5HZDj13z08cCRZtlgHc0mdEZL7bWbiDDeu4GiSrp85Kz2uiLV8741scmz+GdJWT/47dXv473cIkUoLPqejFy/56dre5pFnQslntpBcUVyJNDI2yJm9gCejG0UnKvLL9XuHLb5pSl0MCc3WSEpbNWBsMm1W01jzzjtywGs4Voy92bt4+2wW4FK4MpFmK6PqHwDZRnnxHo3/jlV/9I6sTVUyyUI8/pXLIA== Received: from PU1PR01MB2155.apcprd01.prod.exchangelabs.com (2603:1096:803:1c::21) by PSAPR01MB3975.apcprd01.prod.exchangelabs.com (2603:1096:301:4d::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.20; Sun, 28 Nov 2021 09:23:34 +0000 Received: from PU1PR01MB2155.apcprd01.prod.exchangelabs.com ([fe80::258d:e124:fd3a:40ee]) by PU1PR01MB2155.apcprd01.prod.exchangelabs.com ([fe80::258d:e124:fd3a:40ee%7]) with mapi id 15.20.4734.023; Sun, 28 Nov 2021 09:23:34 +0000 Date: Sun, 28 Nov 2021 09:23:30 +0000 From: Foo Chuan Wei To: efraim@flashner.co.il Subject: Re: [bug#31989] vim-build-system Message-ID: Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-TMN: [Ic6ZFipGwULvDjdHcCpIRcSmwaIfcNfH] X-ClientProxiedBy: HK2PR04CA0072.apcprd04.prod.outlook.com (2603:1096:202:15::16) To PU1PR01MB2155.apcprd01.prod.exchangelabs.com (2603:1096:803:1c::21) X-Microsoft-Original-Message-ID: <20211128092330.gbxhyszgczseg3fb@main> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from main (202.160.33.242) by HK2PR04CA0072.apcprd04.prod.outlook.com (2603:1096:202:15::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.23 via Frontend Transport; Sun, 28 Nov 2021 09:23:33 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 78c1ee16-90c5-4fa8-7127-08d9b250c006 X-MS-TrafficTypeDiagnostic: PSAPR01MB3975: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Dhp8/TsUBPJmJ1sRDoQrAcgQGuu8eQsDGpVm4xJJeJaR7KGofEYrFKyTtbIvZzRAlvfYhlTUyJSwgH0wbO9XKw0fNH99nD/QWWfqKZD361VozGeHCKhmxYfzFMa5cLYrn4EN7x9VyblWQBLPmjLVp8u9q3+t3PoXHqSBQDddt5umVM9i8d15D0bDXNN9Ss8NlW0fgsYrvTcatQwtYaMvfJprQ9q3f0D/B/mm1u+tirw8rSq9dgm90RtlY6x3hSxtn/b6BD7TTCahJObuEH5yBwwmrWAQJfVvkDODleIfpv5I0dNqZcsRLMjsP97iRtnraeWCp9RrjsSHCyWLHRaEueyMR25wKJCSShZJTXReu1wlM4UQzI/q6jd8rs/1vRwXJZqBzFsN3iWXbJMdsE4fN4U/9zjublNDeMdwtQcGUoS7UNvpxYRa832GEpSjuRVAWSx0oEFAa1D3h/vHbGL2RG/XwzFnXMprb/NvDKArcD7KMUZ//G7WAoo5uTL8+QmbQ+fjFvJZDCNjkZnHjzhh1tUAJCah+HcDFnVsBlC3MZrtNzXYNQEYHbRbl8RL0NGnr0tIy1lNWv9M/bWogYp2TQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VB98UshHgv8BYxtUkMNFYxRN35qvu2szsSx9Gu0Iwwrs6eU3NyWbxpCMzuDj7F4mg+g9DJsv+0PAjei2ee50Q47s2658t6gzLuWDbSL3GWKrgDnry3GTYgv2JRLB8AXnzGNR96QqweQDVmtBDlIB713JG+1woUPi3C7BcRp/LVRoASgOjXlK9JoVrRtZUlHbiIkaMRIpod8R0JTJUaa1XWKkcsXZOO8m60aPsUoSH/R5THDrLwpKJdGaJWLlI7sX0zCZqQfxrzeq12/YQYUqk/KuYTfNIhV9DpFYuf2824QBsuIdrfVrXe0S3n1e+3DRNqFSoPOa1sr7DOGwzlxv4Shc/4pk3hG8SPpT2pNsE/RsdDcx+dfDGEvzNR7fJOleTJk+zu7xckM6F9PGqC5hFg+p922zPiENVkiHRIhMRM/216YDwEeiZTGyBKDhkemQjYx2u5xDeY/LqxiSH93Vlp/oiKAB8pIIHKQJOrTOpyQa+JzPx0OhCUyXo7N6WIIrR4Oh6w3zrEG9NmXZkI/i8h807albJ6H8GH08iK/0yHsclZS2BKsh9PWFJA53Zw8QwPjBUh2QVY4zg5MrvUYosXb5X3Z1kkSka2wYgh+5VVZYIMxkkt5argp+sXAwqxruS/9eCp2QvBO74yLeJvQnIs1URYDGO3ty6DGmqX/QKPQWJ4CjmE/bfC9HkR1B3TLp2aqRc1O5m6mO39cCbvtdxA== X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-5c337.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 78c1ee16-90c5-4fa8-7127-08d9b250c006 X-MS-Exchange-CrossTenant-AuthSource: PU1PR01MB2155.apcprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2021 09:23:34.1739 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PSAPR01MB3975 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30385 Cc: 30385@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2021-11-26 13:13:38 +0200, Efraim Flashner wrote: > We do pretty well with the copy-build-system, with the occasional extra > phase(s). But the help tags files (`:help helptags`) are not generated when using the copy-build-system. Help tag files should be generated during the build phase for Vim plugins, because the user cannot generate help tags after plugin installation. The user does not have permission to modify anything in ~/.guix-profile/share/vim/vimfiles/, so `:helptags ~/.guix-profile/share/vim/vimfiles/` will fail. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 28 04:28:55 2021 Received: (at 30385) by debbugs.gnu.org; 28 Nov 2021 09:28:55 +0000 Received: from localhost ([127.0.0.1]:34950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrGUR-0002WC-6I for submit@debbugs.gnu.org; Sun, 28 Nov 2021 04:28:55 -0500 Received: from flashner.co.il ([178.62.234.194]:59326) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mrGUP-0002W0-6u for 30385@debbugs.gnu.org; Sun, 28 Nov 2021 04:28:53 -0500 Received: from localhost (unknown [141.226.14.230]) by flashner.co.il (Postfix) with ESMTPSA id AD8D840438; Sun, 28 Nov 2021 09:28:46 +0000 (UTC) Date: Sun, 28 Nov 2021 11:28:10 +0200 From: Efraim Flashner To: Foo Chuan Wei Subject: Re: [bug#31989] vim-build-system Message-ID: Mail-Followup-To: Efraim Flashner , Foo Chuan Wei , 30385@debbugs.gnu.org References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="rzKDBW/yuSOi91HM" Content-Disposition: inline In-Reply-To: X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30385 Cc: 30385@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --rzKDBW/yuSOi91HM Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Nov 28, 2021 at 09:23:30AM +0000, Foo Chuan Wei wrote: > On 2021-11-26 13:13:38 +0200, Efraim Flashner wrote: > > We do pretty well with the copy-build-system, with the occasional extra > > phase(s). >=20 > But the help tags files (`:help helptags`) are not generated when using > the copy-build-system. Help tag files should be generated during the > build phase for Vim plugins, because the user cannot generate help tags > after plugin installation. The user does not have permission to modify > anything in ~/.guix-profile/share/vim/vimfiles/, so `:helptags > ~/.guix-profile/share/vim/vimfiles/` will fail. I'm a bit rusty on the help tags. I thought they would all clober each other if they were built during the package building, since they all have the same name and we can only install one, but if we built them as a profile hook then they'd all be able to co-exist. Thoughts? --=20 Efraim Flashner =D7=A8=D7=A0=D7=A9=D7=9C=D7=A4 = =D7=9D=D7=99=D7=A8=D7=A4=D7=90 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --rzKDBW/yuSOi91HM Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmGjS6cACgkQQarn3Mo9 g1Eu2g//ZZDcaZcbKpIVgSgTalag8prpYM1Z0SqHt7e0WlsL81kWuIGCdPrc6EVl JaFB/KNX2I4MaymHdoyRObkJ6kySIIk3n3oUcgKERhg6LzMHZIlXTTpfiObc4k7x 0JwjdrvBo8WjHiO0F4IvXbcFmi/0gOSNP9cY8BAs4tGlBnHSzw76aAxAuPTKxWJM FyY2QOpMP9RdiTIJtsksG44a0Zwy2xV26uAbhPTx2tV60Rsek1l5eOc5Vi+GYow1 YmJO8inoZVGhAuasy8L+Opeu4k+gPaEuFMabejU0+L2cE0cwyOCb2DLm6jvM3wj/ AoHdTm4QNTpw4eVVU/0zuims/XjSwST1xsO2Xtw458uoQ1tUsg9/Ax4kzrkBgsaZ nI1hC6dcYbKEveyZCgkZre4CYz4j/UMUAOpPGCHAYswGQiYYtOiJ33zACvpzB/Vr BBjpKN9KPer3HdDmHRIMCxWPpulv8btfAjK3WOGQKts0Li1tZsSS7w6TxI1GAgFQ T3WEtdhxuIn7LlgZXp2zajHV4dkE/uzWDars5JQQw9fkLjC8s+1z9libi/GiKMmd YsdLk+jFPjyMmKPPMgXFTcrxvxslNoh0dk3GUABFwiECrwdYtVtVtGHro9LXK/im OfzqLQw3y9vZKLhIPtixr0iD0TzfzmDIP7YU+yA4vgbM1Nqaosk= =lhZh -----END PGP SIGNATURE----- --rzKDBW/yuSOi91HM-- From unknown Tue Aug 12 03:20:36 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 26 Dec 2021 12:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator