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