[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.