1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
=======
gs-elpa
=======
-------------------------------------
manage overlays for ELPA repositories
-------------------------------------
:Author: Written by Jauhien Piatlicki <jauhien@gentoo.org>. GSoC idea
and mentorship by Rafael Martins. Lots of help and improvements
by Brian Dolbec.
:Date: 2014-05-10
:Copyright: Copyright (c) 2013-2014 Jauhien Piatlicki, License: GPL-2
:Version: 0.1
:Manual section: 8
:Manual group: g-sorcery
SYNOPSIS
========
**gs-elpa** **-o** *OVERLAY* [**-r** *REPO*] **sync**
**gs-elpa** **-o** *OVERLAY* [**-r** *REPO*] **list**
**gs-elpa** **-o** *OVERLAY* [**-r** *REPO*] **generate** *PACKAGE*
**gs-elpa** **-o** *OVERLAY* [**-r** *REPO*] **install** *PACKAGE*
**gs-elpa** **-o** *OVERLAY* [**-r** *REPO*] **generate-tree** [**-d**]
DESCRIPTION
===========
**gs-elpa** is an ebuild generator for ELPA repositories -- repositories with
elisp packages for emacs.
There are two ways of using **gs-elpa**:
* use it with **layman**
In this case all you need to do is install **layman-9999** and **g-sorcery**.
Then you should just run `layman -L` as
root and find an overlay you want. Type of overlay will be
displayed as *g-sorcery*. Then you add this overlay as
usual. It's all you need to do and it's the recommended way of
using **gs-elpa**.
* use it as stand-alone tool
In this case you should create an overlay (see **portage** documentation), sync it and populate
it with one or more ebuilds. Then ebuilds could be installed by emerge or by **gs-elpa** tool.
OPTIONS
=======
**--overlay** *OVERLAY*, **-o** *OVERLAY*
Overlay directory. This option is mandatory if there is no
**default_overlay** entry in a backend config.
**--repository** *REPO*, **-r** *REPO*
Repository name. Can be one of **gnu-elpa**, **marmalade**, **melpa**.
COMMANDS
========
**sync**
Synchronize a repository database.
**list**
List packages available in a repository.
**generate**
Generate a given ebuild and all its dependencies.
**install**
Generate and install an ebuild using your package mangler.
**generate-tree**
Generate entire overlay structure. Without option **-d** after
this command sources are not fetched during generation and there
are no entries for them in Manifest files.
FILES
=====
**/etc/g-sorcery/gs-elpa.json**
Backend config.
**/etc/layman/overlays/gs-elpa-overlays.xml**
List of available repositories.
EXAMPLES
========
Using gs-elpa with layman
Execute
**layman -L**
Find there an overlay you need (there are
3 gs-elpa overlays currently: gnu-elpa, marmalade and melpa).
Add, e.g.
**layman -a gnu-elpa -a marmalade**
Emerge any package from it, e.g.
**emerge -va clojure-mode**
Generating user ebuilds in user overlay
Create new user overlay. Run
**gs-elpa -o** *OVERLAY_DIRECTORY* **-r gnu-elpa** **sync**
List packages:
**gs-elpa -o** *OVERLAY_DIRECTORY* **-r gnu-elpa** **list**
Install any package you want:
**gs-elpa -o** *OVERLAY_DIRECTORY* **-r gnu-elpa** **install** *PACKAGE*
Repositories you can use are gnu-elpa, marmalade and melpa. You can use them
all in one overlay. Note, that if you call **generate-tree** command your overlay
will be wiped and overlay tree for a given repository will be generated. Be careful!
NOTES
=====
1. At the moment the only package mangler **gs-elpa** supports is **portage**.
BUGS
====
Some packages in **marmalade** and **melpa** depend on packages from gnu-elpa. **install** and **generate**
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: **layman -a gnu-elpa**.
SEE ALSO
========
**gs-pypi**\(8), **g-sorcery.cfg**\(8), **portage**\(5), **emerge**\(1), **layman**\(8)
|