aboutsummaryrefslogtreecommitdiff
blob: 008c30e579115c4b26fea80fed8a9f84fa94bd9d (plain)
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 <piatlicki@gmail.com>. GSoC idea
	 and mentorship by Rafael Martins. Lots of help and improvements
	 by Brian Dolbec.
:Date:   2013-08-04
:Copyright: Copyright (c) 2013 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), **gs-ctan**\(8), **g-sorcery.cfg**\(8), **portage**\(5), **emerge**\(1), **layman**\(8)