From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: Runtime package dependencies and compilation order Date: Wed, 01 Jun 2016 10:38:42 -0400 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1464792009 6741 80.91.229.3 (1 Jun 2016 14:40:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 1 Jun 2016 14:40:09 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Jun 01 16:40:00 2016 Return-path: Envelope-to: geh-help-gnu-emacs@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 1b87JP-0002bW-66 for geh-help-gnu-emacs@m.gmane.org; Wed, 01 Jun 2016 16:39:59 +0200 Original-Received: from localhost ([::1]:42443 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b87JO-00028X-FJ for geh-help-gnu-emacs@m.gmane.org; Wed, 01 Jun 2016 10:39:58 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:47276) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b87IX-0001uk-Vj for help-gnu-emacs@gnu.org; Wed, 01 Jun 2016 10:39:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b87IS-0004EH-VW for help-gnu-emacs@gnu.org; Wed, 01 Jun 2016 10:39:04 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:59169) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b87IS-0004CQ-NE for help-gnu-emacs@gnu.org; Wed, 01 Jun 2016 10:39:00 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1b87IG-0001gR-Vi for help-gnu-emacs@gnu.org; Wed, 01 Jun 2016 16:38:49 +0200 Original-Received: from 24-140-237-224.cpe.teksavvy.com ([24.140.237.224]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 01 Jun 2016 16:38:48 +0200 Original-Received: from monnier by 24-140-237-224.cpe.teksavvy.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 01 Jun 2016 16:38:48 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 22 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 24-140-237-224.cpe.teksavvy.com User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) Cancel-Lock: sha1:Xeb3dlPvBsIs1jHHJVbhVb3YYPc= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:110162 Archived-At: > From my understanding specifying package B as dependency solves such > issues, as package manager installs B before A. So the only solution I see > in such situation is to create package A-base, A-B (B-related functionality > that has two packages as dependency - A-base and B) and A-C (similar to > A-B). Without knowing more of the details (and taking as a given that you're not interested in extending the ELPA infrastructure to support disjunction in dependencies), I think your solution is indeed about as good as it gets. There is a hackish alternative, where you provide an B-C (meta) package, with two *versions* (one that depends on B and the other that depends on C), but ELPA generally presumes that there's only one interesting version (the latest), so it'll probably be cumbersome to use. But there's no reason to take ELPA as something that's cast in stone. So I recommend you file a bug-report asking for better support for your use-case. Stefan