From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Philip Kaludercic Newsgroups: gmane.emacs.devel Subject: Re: feature/package+vc 04c4c578c7 3/4: Allow for packages to be installed directly from VCS Date: Thu, 13 Oct 2022 16:37:05 +0000 Message-ID: <874jw73cjy.fsf@posteo.net> References: <164484721900.31751.1453162457552427931@vcs2.savannah.gnu.org> <20220214140020.04438C00891@vcs2.savannah.gnu.org> <87bkqmqpvb.fsf@posteo.net> <871qris3xb.fsf@gnus.org> <877d1aqoc1.fsf@posteo.net> <87edvhqdrb.fsf@gnus.org> <871qrh2hh6.fsf@posteo.net> <87mta5oyec.fsf@gnus.org> <87sfjx10x1.fsf@posteo.net> <875ygsp0ng.fsf@gnus.org> <87h70c9bu4.fsf@posteo.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18992"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Stefan Monnier , emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Oct 13 19:01:21 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oj1aC-0004hm-Dg for ged-emacs-devel@m.gmane-mx.org; Thu, 13 Oct 2022 19:01:20 +0200 Original-Received: from localhost ([::1]:45524 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oj1aB-0006kV-BU for ged-emacs-devel@m.gmane-mx.org; Thu, 13 Oct 2022 13:01:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45684) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oj1Cy-000397-VU for emacs-devel@gnu.org; Thu, 13 Oct 2022 12:37:21 -0400 Original-Received: from mout01.posteo.de ([185.67.36.65]:38023) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oj1Cw-0007Fh-IG for emacs-devel@gnu.org; Thu, 13 Oct 2022 12:37:20 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 67D59240027 for ; Thu, 13 Oct 2022 18:37:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1665679036; bh=fohHOV6sWjh5FiEEPL06s/JKCQpM23c7X+63qoyzfAA=; h=From:To:Cc:Subject:Autocrypt:Date:From; b=TlUBMqIeEj6K5bKZWZeTwXX7bJiKI69f6E9071H+8ceTKBZm9S6wXgYHBUnQ7yPIP uqLPzWoK0ktoPDhL8z71CXP0UWSFXCsVHH9iA8U7fD/aFPsqjYae1Vuy/iGUe9Iygo UmLwIQBF4YB/rLOdRg+riAcvkAv11f2c+UZS8Y4o9jLeH9O0YWNli1RBlFDfoHSDDR YwP8QRxbpMEZJVZ4DLYZahpHsxFuR4XQTWN+E3IVyme/y8ezfcqpC2eImhuXSnSwrN BR0Wi6szGMw7+bCNUpM8QBWkVf2y4O6W97affPDMJ4MImigsIXL9U+ncMonYqcsd67 A5mDTKuH7f8Dw== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4MpFXz10W3z6tmV; Thu, 13 Oct 2022 18:37:06 +0200 (CEST) In-Reply-To: <87h70c9bu4.fsf@posteo.net> (Philip Kaludercic's message of "Mon, 10 Oct 2022 13:06:59 +0200") Autocrypt: addr=philipk@posteo.net; prefer-encrypt=nopreference; keydata= mDMEYHHqUhYJKwYBBAHaRw8BAQdAp3GdmYJ6tm5McweY6dEvIYIiry+Oz9rU4MH6NHWK0Ee0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiQBBMWCAA4FiEEDM2H44ZoPt9Ms0eHtVrAHPRh1FwFAmBx6lICGwMFCwkIBwIGFQoJ CAsCBBYCAwECHgECF4AACgkQtVrAHPRh1FyTkgEAjlbGPxFchvMbxzAES3r8QLuZgCxeAXunM9gh io0ePtUBALVhh9G6wIoZhl0gUCbQpoN/UJHI08Gm1qDob5zDxnIHuDgEYHHqUhIKKwYBBAGXVQEF AQEHQNcRB+MUimTMqoxxMMUERpOR+Q4b1KgncDZkhrO2ql1tAwEIB4h4BBgWCAAgFiEEDM2H44Zo Pt9Ms0eHtVrAHPRh1FwFAmBx6lICGwwACgkQtVrAHPRh1Fw1JwD/Qo7kvtib8jy7puyWrSv0MeTS g8qIxgoRWJE/KKdkCLEA/jb9b9/g8nnX+UcwHf/4VfKsjExlnND3FrBviXUW6NcB Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:297685 Archived-At: Philip Kaludercic writes: > Lars Ingebrigtsen writes: > >> Philip Kaludercic writes: >> >>> Yes, but the list of packages that are proposed are just a subset of the >>> packages that are already in the archive? >> >> Oh, I thought they were packages that weren't part of the archive >> already. But in that case, I think it's fine. > > Good. So if there is a principal interest in the feature, I would start > writing the documentation. I've pushed the documentation to feature/package+vc but forgot to ping this thread. For the sake of convenience, and to recapitulate the new features, this is what it would look like: --8<---------------cut here---------------start------------->8--- @node Package from Source @section Package from Source @cindex package source vcs git @c "git" is not technically correct @c but it is a popular term By default @code{package-install} will download a Tarball from a package archive and install the files therein contained. Most of the time this is just what you want. One exception is when you decide to hack on the source code of a package, and would like to share these changes with other users. In that case you usually want to fetch and work on the upstream source, so that you can prepare a usable patch. @findex package-vc-install One way to do this is to use @code{package-vc-install}, to fetch the source code for a package directly from source. The command will also automatically ensure that all files are byte-compiled and auto-loaded, just like with a regular package. From this point on the package can be regarded just like any other package, that can be updated (using @code{package-update}), deleted (using @code{package-delete}) and viewed in the package listing. @findex package-contact-maintainer @findex package-report-bug @findex package-vc-prepare-patch With the source checkout, you might want to reproduce a bug against the current development head or implement a new feature to scratch an itch. If the package metadata indicates that a maintainer can be contacted via Email, you can use the commands @code{package-contact-maintainer} to send them a message, or @code{package-report-bug} to report a bug that will include all the user options that you have customised. Patches can be sent out using @code{package-vc-prepare-patch}, that makes use of @code{vc-prepare-patch} under the hold (@pxref{Preparing Patches}). @findex package-vc-link-directory @findex package-vc-refresh If you maintain your own packages you might want to use a local checkout instead of cloning a remote repository. This can be done using @code{package-vc-link-directory}, that creates a symbolic link from the package directory (@pxref{Package Files}) to your checkout and initialises the code. Note that if changes are made such as adding autoloads, you should use @code{package-vc-refresh} to repeat the initialisation. --8<---------------cut here---------------end--------------->8---