Jack Hill writes: > Hi Guix, > > The attached patch adds the emacs-semantic-refactor package. Thanks! > When reviewing this patch some particular things to look out for/questions > I have: > > 0) There are different sections in the (gnu packages emacs-xyz) module > that are delineated by comments (e.g. Emacs Hacking, Web Browsing, and > Miscellaneous). I've added the definition of emacs-semantic-refactor near > the end of the file in the Miscellaneous section. I wonder if this is > correct or if it should go in the Emacs Hacking section. Paredit, which > would be used in similar scenarios to semantic-refactor is in the Emacs > Hacking section. I don't have a good answer, so I went with your initial approach. > 1) The upstream source contains a number of animated gif files > demonstrating usage in the srefactor-demos directory. I do not see a build > process for these, and assume they were created by hand. Are we free to > distribute these in Guix? As long as they are free to use and redistribute (i.e. not under a separate license), it should be okay for Guix. GIFs generally don't come with build instructions :-) > 2) semantic-refactor has an optional integration with projectile whose > availability is checked for with (featurep 'projectile). I have not added > projectile as an input or propagated-input. Is this OK? Great! Optional dependencies are typically not propagated. > 3) I'm still new to writing package definitions, so extra scrutiny is > warranted, particularly for the synopsis and description. I added a "This package provides a ..." prefix to the description to provide a little more context for the prospective reader. Pushed as ea4a1e5d0b13b5c548804ac854e6eb30c5149ce4, thank you!