emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ELPA -- making individual packages


From: Eric Abrahamsen
Subject: Re: ELPA -- making individual packages
Date: Fri, 04 Sep 2020 15:20:38 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

> Benjamin Riefenstahl <b.riefenstahl@turtle-trading.net> writes:
>
>> Hi all,
>>
>> Stefan Monnier writes:
>>> I don't think `make` can do exactly that, but there's no doubt that we
>>> should be able to provide a way to build just a particular package
>>> (maybe the target would have to be called something else than just
>>> `gnorb`, e.g. `compile-gnorb`).  It's probably not that hard.
>>
>> Right, in GNU make I have done it like this before:
>>
>>   compile-%:
>>       echo Making package $* ...
>>       [commands to make the package]
>>
>>   test-%:
>>       echo Testing package $* ...
>>       [commands to test the package]
>
> Well, this is as far as I've been able to get:
>
> .PHONY:
> compile-%:
>       @if [ -d "$(CURDIR)/packages/$*" ]; then                      \
>         $(MAKE) -C "$(CURDIR)/packages/$*" "*.elc";                 \
>       else                                                          \
>         echo "No such package: $*";                                 \
>       fi;

Off-list someone sent me this:

define RULE-pkg
$(notdir $(1)): $(filter $(1)/%, $(elcs))
endef

$(foreach pkg, $(pkgs), $(eval $(call RULE-pkg, $(pkg))))

Which seems to work! Called with the bare package name. One weird thing,
though, is that for each file being compiled I get:

Unable to activate package ‘relint’.
Required package ‘xr-1.19’ is unavailable
Unable to activate package ‘exwm’.
Required package ‘xelb-0.18’ is unavailable
Unable to activate package ‘ebdb-i18n-chn’.
Required package ‘pyim-1.6.0’ is unavailable
Unable to activate package ‘counsel’.
Required package ‘swiper-0.13.1’ is unavailable

Which is odd since the package I'm compiling doesn't have anything to do
with those packages.

But, closer to success.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]