.\" Man page generated from reStructuredText. . .TH GS-ELPA 8 "2023-02-19" "0.2.2" "g-sorcery" .SH NAME gs-elpa \- manage overlays for ELPA repositories . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .SH SYNOPSIS .sp \fBgs\-elpa\fP \fB\-o\fP \fIOVERLAY\fP [\fB\-r\fP \fIREPO\fP] \fBsync\fP .sp \fBgs\-elpa\fP \fB\-o\fP \fIOVERLAY\fP [\fB\-r\fP \fIREPO\fP] \fBlist\fP .sp \fBgs\-elpa\fP \fB\-o\fP \fIOVERLAY\fP [\fB\-r\fP \fIREPO\fP] \fBgenerate\fP \fIPACKAGE\fP .sp \fBgs\-elpa\fP \fB\-o\fP \fIOVERLAY\fP [\fB\-r\fP \fIREPO\fP] \fBinstall\fP \fIPACKAGE\fP .sp \fBgs\-elpa\fP \fB\-o\fP \fIOVERLAY\fP [\fB\-r\fP \fIREPO\fP] \fBgenerate\-tree\fP [\fB\-d\fP] .SH DESCRIPTION .sp \fBgs\-elpa\fP is an ebuild generator for ELPA repositories \-\- repositories with elisp packages for emacs. .sp There are two ways of using \fBgs\-elpa\fP: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 use it with \fBlayman\fP .sp In this case all you need to do is install \fBgs\-elpa\fP\&. Then you should just run \fIlayman \-L\fP as root and find an overlay you want. Type of overlay will be displayed as \fIg\-sorcery\fP\&. Then you add this overlay as usual. It\(aqs all you need to do and it\(aqs the recommended way of using \fBgs\-elpa\fP\&. .IP \(bu 2 use it as stand\-alone tool .sp In this case you should create an overlay (see \fBportage\fP documentation), sync it and populate it with one or more ebuilds. Then ebuilds could be installed by emerge or by \fBgs\-elpa\fP tool. .UNINDENT .UNINDENT .UNINDENT .SH OPTIONS .INDENT 0.0 .TP .B \fB\-\-overlay\fP \fIOVERLAY\fP, \fB\-o\fP \fIOVERLAY\fP Overlay directory. This option is mandatory if there is no \fBdefault_overlay\fP entry in a backend config. .TP .B \fB\-\-repository\fP \fIREPO\fP, \fB\-r\fP \fIREPO\fP Repository name. Can be one of \fBgnu\-elpa\fP, \fBmarmalade\fP, \fBmelpa\fP, \fBmelpa\-stable\fP\&. .UNINDENT .SH COMMANDS .INDENT 0.0 .TP .B \fBsync\fP Synchronize a repository database. .TP .B \fBlist\fP List packages available in a repository. .TP .B \fBgenerate\fP Generate a given ebuild and all its dependencies. .TP .B \fBinstall\fP Generate and install an ebuild using your package mangler. .TP .B \fBgenerate\-tree\fP Generate entire overlay structure. Without option \fB\-d\fP after this command sources are not fetched during generation and there are no entries for them in Manifest files. .UNINDENT .SH FILES .INDENT 0.0 .TP .B \fB/etc/g\-sorcery/gs\-elpa.json\fP Backend config. .TP .B \fB/etc/layman/overlays/gs\-elpa\-overlays.xml\fP List of available repositories. .UNINDENT .SH EXAMPLES .INDENT 0.0 .TP .B Using gs\-elpa with layman Execute .sp \fBlayman \-L\fP .sp Find there an overlay you need (there are 3 gs\-elpa overlays currently: gnu\-elpa, marmalade, melpa and melpa\-stable). Add, e.g. .sp \fBlayman \-a gnu\-elpa \-a marmalade\fP .sp Emerge any package from it, e.g. .sp \fBemerge \-va clojure\-mode\fP .TP .B Generating ebuilds for packages that are already in the tree Ebuilds for the packages available in the tree are excluded from the generation. To enable their generation you need to edit \fB/etc/g\-sorcery/gs\-elpa.json\fP file: remove packages you need from the \fIexclude\fP list in the \fIcommon_config\fP inside this config file. .TP .B Generating user ebuilds in user overlay Create new user overlay. Run .sp \fBgs\-elpa \-o\fP \fIOVERLAY_DIRECTORY\fP \fB\-r gnu\-elpa\fP \fBsync\fP .sp List packages: .sp \fBgs\-elpa \-o\fP \fIOVERLAY_DIRECTORY\fP \fB\-r gnu\-elpa\fP \fBlist\fP .sp Install any package you want: .sp \fBgs\-elpa \-o\fP \fIOVERLAY_DIRECTORY\fP \fB\-r gnu\-elpa\fP \fBinstall\fP \fIPACKAGE\fP .sp Repositories you can use are gnu\-elpa, marmalade, melpa and melpa\-stable. You can use them all in one overlay. Note, that if you call \fBgenerate\-tree\fP command your overlay will be wiped and overlay tree for a given repository will be generated. Be careful! .UNINDENT .SH NOTES .INDENT 0.0 .IP 1. 3 At the moment the only package mangler \fBgs\-elpa\fP supports is \fBportage\fP\&. .UNINDENT .SH BUGS .sp Some packages in \fBmarmalade\fP , \fBmelpa\fP, \fBmelpa\-stable\fP depend on packages from gnu\-elpa. \fBinstall\fP and \fBgenerate\fP commands will fail on them as dependencies between overlays are not supported currently. So the recommended way of using gs\-elpa is using it with layman. Even doing so you should always add gnu\-elpa repository: \fBlayman \-a gnu\-elpa\fP\&. .sp If you ever find bugs like \fI\%https://github.com/jauhien/gs\-elpa/issues/6\fP, you can exclude packages from dependencies adding their name to the "external" object in the "common\-config" section of \fI/etc/g\-sorcery/gs\-elpa.json\fP config file. For the example issue it would be (together with already added packages): .INDENT 0.0 .INDENT 3.5 "external": {"emacs": "virtual/emacs", "cl\-lib": "virtual/emacs", "eieio": "virtual/emacs"} .UNINDENT .UNINDENT .SH SEE ALSO .sp \fBgs\-pypi\fP(8), \fBg\-sorcery.cfg\fP(8), \fBportage\fP(5), \fBemerge\fP(1), \fBlayman\fP(8) .SH AUTHOR Written by Jauhien Piatlicki . GSoC idea and mentorship by Rafael Martins. Lots of help and improvements by Brian Dolbec. .SH COPYRIGHT Copyright (c) 2013-2023 Jauhien Piatlicki and others, License: GPL-2 .\" Generated by docutils manpage writer. .