Subject: [bug#71239] [PATCH] gnu: Add emacs-dape.

From: Nicolas Graves <[email-masked]>
Date: Mon, 10 Jun 2024 09:50:28 +0200

On 2024-06-09 22:52, Jelle Licht wrote:

> Hi Nicolas,
>
> I've got some nitpicks, and one question as the package does not seem to
> run for me, which could very well be an issue on my end.
>
>> +      (name "emacs-dape")
>> +      (version (git-version "0.12.0" revision commit))
> Is there a particular reason not to stick to the 'proper' releases? 
> If so, could you add a comment explaining why?

There are no upstream tags, this is simply the commit of the tag,
IIRC. So it's the proper release. Maybe I should simply put the version
here and use git-version in the origin field instead ?

>> +      (arguments
>> +       ;; FIXME python tests pass, JS tests require additional dependencies
>> +       ;; See https://lists.sr.ht/~abcdw/rde-devel/patches/51878
>> +       (list #:tests? #f
> Can't we patch out or disable the JS tests, instead of not running any
> tests?

Doable, although using I'm not sure there's a light approach for this
rather than patching half the file, which I think is not worth it. Will
investigate. 

>> +             #:test-command #~'("emacs" "--batch" "-l" "dape.el"
>> +                                "-l" "dape-tests.el"
>> +                                "-f" "ert-run-tests-batch-and-exit")
>> +             #:phases
>> +             #~(modify-phases %standard-phases
>> +                 (add-after 'unpack 'support-unwrapped-python
>> +                   (lambda _
>> +                     (substitute* "dape.el"
>> +                       (("command \"python\"")
>> +                        "command \"python3\""))))
>
> I don't think we do this kind of patching for other packages, but I
> could be mistaken of course. If this was needed to get the python tests
> to succeed, maybe it could also work with python-minimal-wrapper instead
> of patching.

Since python is not propagated, this would mean that we expect the user
to have python-wrapper instead of python, I'm not sure we want to
enforce that because it might cause users to have to debug this. We
can of course propagate python-wrapper instead, but then we increase the
closure size.

>> +                         (format #t "test suite not run~%")))))))
>> +      (native-inputs (list node-lts python-minimal python-debugpy))
>> +      (propagated-inputs (list emacs-jsonrpc))
>
> Did running this package once installed actually work on your local
> setup?  If so, I'd love to know how you are running this package, as I'm
> running into the issue as the one I reported at
> https://issues.guix.gnu.org/71065

No, actually I couldn't, but I didn't settled for a stable
configuration, I wanted to send that to RDE, but haven't done it
yet.

> Thanks for the package,
>  - Jelle

-- 
Best regards,
Nicolas Graves