From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Robert Dallas Gray Newsgroups: gmane.emacs.devel Subject: Re: package.el, auto-installation, and auto-removal Date: Tue, 11 Nov 2014 20:55:37 +0000 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 (Mac OS X Mail 8.0 \(1990.1\)) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1415739359 4387 80.91.229.3 (11 Nov 2014 20:55:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 11 Nov 2014 20:55:59 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 11 21:55:55 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XoITi-0008PV-V2 for ged-emacs-devel@m.gmane.org; Tue, 11 Nov 2014 21:55:55 +0100 Original-Received: from localhost ([::1]:50609 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoITi-0003Lb-Kq for ged-emacs-devel@m.gmane.org; Tue, 11 Nov 2014 15:55:54 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54884) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoITb-0003LT-GJ for emacs-devel@gnu.org; Tue, 11 Nov 2014 15:55:52 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XoITW-0006Kj-O4 for emacs-devel@gnu.org; Tue, 11 Nov 2014 15:55:47 -0500 Original-Received: from mail-wi0-x234.google.com ([2a00:1450:400c:c05::234]:64203) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XoITW-0006KP-EC for emacs-devel@gnu.org; Tue, 11 Nov 2014 15:55:42 -0500 Original-Received: by mail-wi0-f180.google.com with SMTP id hi2so2876021wib.7 for ; Tue, 11 Nov 2014 12:55:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=robertdallasgray.com; s=google; h=from:content-type:content-transfer-encoding:subject:message-id:date :to:mime-version; bh=w1EaGxBh2lVrRF7Kw2wO8ehsAuzY2ln7MPoWtmXYhQk=; b=ZpdCiSd1D1RiQ98Re+myOEFhebCwl8FCeVOAkjO1ADwxjrw0XKAY1S49PkJDD3/sLZ B7/8KvSk5sYHrdkZT3ZcZaOkrMPPTvAPoBRkPDilwiQrAOtVewF0A7kfb+Rf4dOgbLQs wRSAm7DSvRxMA0N6pBF9s9kX5tTdPrPeUes0w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:content-type:content-transfer-encoding :subject:message-id:date:to:mime-version; bh=w1EaGxBh2lVrRF7Kw2wO8ehsAuzY2ln7MPoWtmXYhQk=; b=kKiRijOzNtUnchNkITc7R7tICDBugb/VtocVbXtzXZNwQoSSnAnm/hUwYnbnbKGQo+ xJyeIzlvYWj0yr/dn78QwGdOXyulUuQXklqVczLKpG4vMpYNCpbwjXtpCwnqRm18JsWe yNKL0jSnKRCbakglmQHVpDJKoZnb+LCY1+jWAsSoCivjtqPGLKUAJFRKrVWT0yNkFK6n uRBhYxUt5OymmkX5gealDxB3nW24pHHVI8QvPc+xdeB60WywRAVwj0SFtumZxGjXXv6R d7NmAgLdEMpFEiuvU8DAerlMuDIP16on0lTVf14sBv/VG+K3WgKP3257qKuHvAwOTeeC HOHg== X-Gm-Message-State: ALoCoQm5cd5whhdIpUSBbbBO4M9segcsFSouGhpOc2cozejAWNDwxoGfgta49vvlP9kfvWnjqih0 X-Received: by 10.194.239.164 with SMTP id vt4mr18766471wjc.131.1415739340560; Tue, 11 Nov 2014 12:55:40 -0800 (PST) Original-Received: from [192.168.1.203] ([95.144.42.142]) by mx.google.com with ESMTPSA id fa7sm28755590wjd.27.2014.11.11.12.55.39 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 11 Nov 2014 12:55:39 -0800 (PST) X-Mailer: Apple Mail (2.1990.1) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::234 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:176781 Archived-At: As an addendum to the points that have been raised on this topic, and as = the author of Pallet, I thought it worth chipping in a few tuppences.=20 There are several solutions to the problem Stefan outlines, with varying = degrees of complexity and flexibility. To my mind, Cask is the least = complex and most flexible.=20 Cask only requires Python when used from the command line. There is a = version available as a package.el package; this is what Pallet uses as = its backend. Pallet, as has been stated, is a dirt-simple layer over Cask, which = rewrites the Cask manifest when the user installs or deletes packages = using the package.el subsystem. Pallet doesn't yet support version-controlled packages (outside of the = package.el ecosystem), but Cask does. Pallet will also, when I have = time. Cask uses a tried-and-tested text-file manifest strategy, which has = worked well for, e.g., Ruby's bundler and Javascript's npm. The syntax = is a subset of Emacs Lisp. Cask's author, Johan Andersson (https://github.com/rejeep) has also = written epl (https://github.com/cask/epl), a layer over package.el which = abstracts the package.el api, and servant = (https://github.com/cask/servant), a mock package.el server. He knows = the vagaries of package.el very well indeed. I don't really have a dog in this fight, as I respect the authors and = codebases of elpakit, Cask and use-package equally (I don't know enough = about el-get to have an opinion), and as Pallet is so functionally = trivial.=20 But from the point of view of testability, at least, I've had success = with using the Cask/epl/servant ecosystem to develop a package, and a = set of integration tests which work across several Emacs versions (not = so trivial). So I'll throw my hat in the ring for something like Cask = and something on top of it like Pallet, even if it's neither of those = actual things. I think a consensus on something simple and flexible would be a great = thing for Emacs. Robert Dallas Gray=