From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Boris Newsgroups: gmane.emacs.help Subject: Runtime package dependencies and compilation order Date: Mon, 30 May 2016 09:05:00 +0000 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1464614628 11315 80.91.229.3 (30 May 2016 13:23:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 30 May 2016 13:23:48 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon May 30 15:23:48 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 1b7NAY-0004Sl-8v for geh-help-gnu-emacs@m.gmane.org; Mon, 30 May 2016 15:23:46 +0200 Original-Received: from localhost ([::1]:59879 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7NAX-0008QQ-Dm for geh-help-gnu-emacs@m.gmane.org; Mon, 30 May 2016 09:23:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43260) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7J8O-00067z-Q5 for help-gnu-emacs@gnu.org; Mon, 30 May 2016 05:05:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b7J8J-0005zg-ON for help-gnu-emacs@gnu.org; Mon, 30 May 2016 05:05:15 -0400 Original-Received: from mail-lf0-x22d.google.com ([2a00:1450:4010:c07::22d]:36721) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b7J8J-0005za-GK for help-gnu-emacs@gnu.org; Mon, 30 May 2016 05:05:11 -0400 Original-Received: by mail-lf0-x22d.google.com with SMTP id b73so47037217lfb.3 for ; Mon, 30 May 2016 02:05:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=fJTjkl0jhRij+sE7UtfyIPtiDpVuwGqjL1dKBju+wF4=; b=dQpXZ8rOmKfbXKofONxDFXmANdUBMT2vbaNFqeL14hXCEtFHUC7OkMm9WA3Zv8MXQ0 yR5H0BJeupXx8gcSt0C3DE5dSJYI9cpe1WMhPMcxIe4nF9nqXG6ed6jPfYL+uQEVnyvN g1HqLg/jYaCki2S1NguKIxzDcE9R1Qew818EVorP8YGbxro1GDX6CtBXIMnpQgD0OgKU f1J+fNZJw83lz7+gpgxomB1oNkdAeBvb9Pqe+/iKv1woRsImue8bqiIKSekLkVw6O3/K VQQJj96RjfK50rLM6eTA9NBPqLvE4t+a7qNkBHwfpg76NrUnh+kIJkCX0AXrBUDiwEas TYiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=fJTjkl0jhRij+sE7UtfyIPtiDpVuwGqjL1dKBju+wF4=; b=YA8mS+4R+Jt7c/TGILdRwgAwozu3dowTQnM7Su7RbcnBFUFIF77wsXtEFupvu1h1JU B1PAgONOG7nbsvC2EdijFsQF+c54Z8eYMNzVgqs1vnLEnJc6Vp13piUFFL+Fj5IxvS/C ewrFFp4qnZ3A8nGO3kWLqDp9TxPHGVMktQVjkfg/1965XaQKU41f1S1bWolWXv7LlS5k S192J9udxZFIRKBSasC/xUEAERdK4l1s1Qdo/RAnO8PXyHxVoRNrAKhJEg9BWUlAhRuC fzHm4ytRB71ng1OI8/U+CueWP18BUyznPu2oTs33BRp/rmLEywHckr4ykmDN7kjgIN6g UNMQ== X-Gm-Message-State: ALyK8tKi8UOmYTMLJLyA5iXlmokBX6mWtiFEy1fHis+U12UHLmQ0MepewuU4qX40WjyCSkr4ZiG70f1Cdgn3xw== X-Received: by 10.25.139.136 with SMTP id n130mr7248686lfd.209.1464599110235; Mon, 30 May 2016 02:05:10 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:4010:c07::22d X-Mailman-Approved-At: Mon, 30 May 2016 09:23:03 -0400 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 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:110139 Archived-At: Hello, Recently I've faced following problem. I have a package A that might depend on package B or (disjunction) package C. But dependency list is not known upwards, because the list itself depends on user settings. So I don't specify B and C in package requires section of package A. All packages are on MELPA and installed via package.el. The problem comes when someone wants to use the part of package A that depends on package B - if package A is byte compiled before B, then some functionality doesn't work and you have to manually recompile A. So the solution might be pretty simple - ask user to install package A after package B. But in some setups there is no way (I mean, good way) of enforcing specific order of installation. And in any case I feel like asking such thing from users is not the right thing. >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). So I would like to ask if there's any other solution for the described problem? I hope that this is the right place to ask such questions, and sorry for such an abstract description. Best regards, Boris -- Best regards, Boris @ d12frosted