30 |
|
|
31 |
sminclude mtools |
sminclude mtools |
32 |
|
|
33 |
|
INHERITS="${INHERITS} xdg" |
34 |
|
|
35 |
|
# required for xdg-icon-resource in xdg.minc to update pixmaps |
36 |
|
DEPEND="${DEPEND} |
37 |
|
>= x11-apps/xdg-utils-1.1" |
38 |
|
|
39 |
# desktop-file-utils are needed |
# desktop-file-utils are needed |
40 |
SDEPEND="${SDEPEND} |
SDEPEND="${SDEPEND} |
41 |
>= dev-util/desktop-file-utils-0.1" |
>= dev-util/desktop-file-utils-0.1" |
70 |
--categories|-c) shift; categories="$1" ;; |
--categories|-c) shift; categories="$1" ;; |
71 |
--vendor|-v) shift; vendor="$1" ;; |
--vendor|-v) shift; vendor="$1" ;; |
72 |
--mimetypes|-x) shift; mimetypes="$1" ;; |
--mimetypes|-x) shift; mimetypes="$1" ;; |
73 |
|
--source|-s) shift; source="$1" ;; |
74 |
esac |
esac |
75 |
shift |
shift |
76 |
done |
done |
129 |
# minstallxdg {-s} srcname destname {/path/to} |
# minstallxdg {-s} srcname destname {/path/to} |
130 |
minstallxdg() |
minstallxdg() |
131 |
{ |
{ |
132 |
|
local i |
133 |
local file |
local file |
134 |
local destdir |
local destdir |
135 |
local destfile |
local destfile |
136 |
|
local prefix |
137 |
|
local modify="0" |
138 |
|
local comment |
139 |
|
local exec |
140 |
|
local icon |
141 |
|
local terminal |
142 |
|
local notify |
143 |
|
local categories |
144 |
|
local vendor |
145 |
|
local all_categories |
146 |
|
local mimetypes |
147 |
|
local cmdline |
148 |
|
local name |
149 |
|
|
150 |
[[ -z "$1" ]] && die "No xdg desktop file given" |
for i in $* |
151 |
|
do |
152 |
|
case $1 in |
153 |
|
--srcdir|-s) prefix="${SOURCEDIR}/${PNAME}/" ;; |
154 |
|
--name|-n) shift; name="$1"; modify="1" ;; |
155 |
|
--comment|-m) shift; comment="$1"; modify="1" ;; |
156 |
|
--exec|-e) shift; exec="$1"; modify="1" ;; |
157 |
|
--icon|-i) shift; icon="$1"; modify="1" ;; |
158 |
|
--terminal|-t) terminal="true"; modify="1" ;; |
159 |
|
--no-notify|-y) notify="false"; modify="1" ;; |
160 |
|
--categories|-c) shift; categories="$1"; modify="1" ;; |
161 |
|
--vendor|-v) shift; vendor="$1"; modify="1" ;; |
162 |
|
--mimetypes|-x) shift; mimetypes="$1"; modify="1" ;; |
163 |
|
--file|-f) shift; file="$1" ;; |
164 |
|
--destination-file|-df) shift; destfile="$1" ;; |
165 |
|
--destination-dir|-d) shift; destdir="$1" ;; |
166 |
|
esac |
167 |
|
shift |
168 |
|
done |
169 |
|
|
170 |
|
[[ ! -z ${prefix} ]] && file="${prefix}${file}" |
171 |
|
|
172 |
|
[[ -z ${destfile} ]] && destfile="$(basename ${file})" |
173 |
|
[[ -z ${destdir} ]] && destdir="/usr/share/applications" |
174 |
|
[[ -z ${file} ]] && die "No xdg desktop file given" |
175 |
|
|
176 |
# if -s given use file from sourcedir |
# needed directory |
177 |
if [[ $1 = -s ]] |
minstalldir ${destdir} || die |
178 |
|
|
179 |
|
if [[ ${modify} = 1 ]] |
180 |
then |
then |
181 |
file="${SOURCEDIR}/${PNAME}/$2" |
[[ ! -z ${name} ]] && cmdline+=" --set-name=\"${name}\"" |
182 |
if [[ -n "$3" ]] |
[[ ! -z ${comment} ]] && cmdline+=" --set-comment=\"${comment}\"" |
183 |
|
[[ ! -z ${exec} ]] && cmdline+=" --set-key=Exec --set-value=\"${exec}\"" |
184 |
|
[[ ! -z ${icon} ]] && cmdline+=" --set-icon=\"${icon}\"" |
185 |
|
[[ ! -z ${terminal} ]] && cmdline+=" --set-key=Terminal --set-value=false" |
186 |
|
[[ ! -z ${notify} ]] && cmdline+=" --set-key=StartupNotify --set-value=false" |
187 |
|
[[ ! -z ${vendor} ]] && cmdline+=" --vendor \"${vendor}\"" |
188 |
|
|
189 |
|
if [[ ! -z ${categories} ]] |
190 |
then |
then |
191 |
destfile="$3" |
# get all categories |
192 |
else |
for i in $(echo ${categories} | sed "s:,:\ :g") |
193 |
destfile="$(basename ${file})" |
do |
194 |
|
cmdline+=" --add-category ${i}" |
195 |
|
done |
196 |
fi |
fi |
197 |
|
|
198 |
if [[ -n "$4" ]] |
# get all mimetypes |
199 |
|
if [[ ! -z ${mimetypes} ]] |
200 |
then |
then |
201 |
destdir="$4" |
for i in $(echo ${mimetypes} | sed "s:,:\ :g") |
202 |
else |
do |
203 |
destdir="/usr/share/applications" |
cmdline+=" --add-mime-type ${i}" |
204 |
|
done |
205 |
fi |
fi |
206 |
|
|
207 |
|
eval desktop-file-install \ |
208 |
|
--dir ${BINDIR}/${destdir} \ |
209 |
|
--add-category X-Magellan-Application \ |
210 |
|
${cmdline} \ |
211 |
|
${file} \ |
212 |
|
|| die |
213 |
else |
else |
214 |
file="$1" |
# install our xdg |
215 |
if [[ -n "$2" ]] |
minstallfile ${file} ${destdir}/${destfile} || die |
|
then |
|
|
destfile="$2" |
|
|
else |
|
|
destfile="$(basename ${file})" |
|
|
fi |
|
|
|
|
|
if [[ -n "$3" ]] |
|
|
then |
|
|
destdir="$3" |
|
|
else |
|
|
destdir="/usr/share/applications" |
|
|
fi |
|
216 |
fi |
fi |
|
|
|
|
# needed directory |
|
|
minstalldir ${destdir} || die |
|
|
|
|
|
# install our xdg |
|
|
minstallfile ${file} ${destdir}/${destfile} || die |
|
217 |
} |
} |