Gentoo Archives: gentoo-commits

From: "Ned Ludd (solar)" <solar@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in profiles/prefix/windows/winnt: make.defaults package.mask packages parent profile.bashrc use.mask virtuals
Date: Sat, 06 Jun 2009 03:55:12
Message-Id: E1MCmzu-0005RZ-QG@stork.gentoo.org
1 solar 09/06/06 03:55:10
2
3 Added: make.defaults package.mask packages parent
4 profile.bashrc use.mask virtuals
5 Log:
6 Initial commit of prefix profiles on behalf of the prefix community
7
8 Revision Changes Path
9 1.1 profiles/prefix/windows/winnt/make.defaults
10
11 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/make.defaults?rev=1.1&view=markup
12 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/make.defaults?rev=1.1&content-type=text/plain
13
14 Index: make.defaults
15 ===================================================================
16 # Copyright 1999-2009 Gentoo Foundation
17 # Distributed under the terms of the GNU General Public License v2
18 # $Header: /var/cvsroot/gentoo-x86/profiles/prefix/windows/winnt/make.defaults,v 1.1 2009/06/06 03:55:10 solar Exp $
19
20 # System-wide defaults for all Windows profiles
21 # This file should rarely need to be changed
22
23 # 'Sane' defaults
24 ELIBC="Winnt"
25 KERNEL="Winnt"
26
27 # Sandbox is not ported to Windows (and probably never will)
28 FEATURES="-sandbox nostrip"
29
30
31
32 1.1 profiles/prefix/windows/winnt/package.mask
33
34 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/package.mask?rev=1.1&view=markup
35 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/package.mask?rev=1.1&content-type=text/plain
36
37 Index: package.mask
38 ===================================================================
39
40 # Distributed under the terms of the GNU General Public License v2
41 # $Header: /var/cvsroot/gentoo-x86/profiles/prefix/windows/winnt/package.mask,v 1.1 2009/06/06 03:55:10 solar Exp $
42
43 # $Id: package.mask,v 1.1 2009/06/06 03:55:10 solar Exp $
44
45 # Markus Duft <mduft@g.o> (27 May 2009)
46 # icu patches not yet forward ported
47 >=dev-libs/icu-4.0.0
48
49 # Markus Duft <mduft@g.o> (27 May 2009)
50 # boost not yet updated for winnt and interix interconnect.
51 >=dev-libs/boost-1.35.0-r3
52
53
54
55
56 1.1 profiles/prefix/windows/winnt/packages
57
58 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/packages?rev=1.1&view=markup
59 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/packages?rev=1.1&content-type=text/plain
60
61 Index: packages
62 ===================================================================
63 # Copyright 1999-2009 Gentoo Foundation
64 # Distributed under the terms of the GNU General Public License v2
65 # $Header: /var/cvsroot/gentoo-x86/profiles/prefix/windows/winnt/packages,v 1.1 2009/06/06 03:55:10 solar Exp $
66
67 # those are packages not available/required on winnt, since
68 # winnt can be a child EPREFIX only, which tears it's DEPENDS
69 # from a parent (e.g. x86-interix) prefix.
70
71 -*sys-apps/grep
72 -*virtual/gzip
73 -*sys-devel/libtool
74 -*virtual/man
75 -*sys-devel/patch
76 -*sys-devel/flex
77 -*sys-apps/gawk
78 -*app-arch/tar
79 -*sys-apps/sed
80 -*sys-libs/readline
81 -*sys-devel/bison
82 -*sys-apps/texinfo
83 -*sys-apps/file
84 -*app-arch/bzip2
85 -*sys-libs/ncurses
86 -*net-misc/rsync
87 -*sys-devel/automake
88 -*virtual/editor
89 -*app-arch/cpio
90 -*sys-apps/coreutils
91 -*sys-devel/make
92 -*sys-apps/groff
93 -*sys-apps/findutils
94 -*sys-devel/m4
95 -*net-misc/wget
96 -*sys-apps/which
97 -*virtual/pager
98 -*sys-apps/diffutils
99 -*sys-apps/baselayout-prefix
100 -*app-shells/bash
101 -*virtual/portage
102 -*virtual/ssh
103 -*sys-devel/autoconf
104 -*sys-devel/gnuconfig
105 -*sys-devel/gcc
106
107
108
109 1.1 profiles/prefix/windows/winnt/parent
110
111 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/parent?rev=1.1&view=markup
112 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/parent?rev=1.1&content-type=text/plain
113
114 Index: parent
115 ===================================================================
116 ..
117
118
119
120 1.1 profiles/prefix/windows/winnt/profile.bashrc
121
122 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/profile.bashrc?rev=1.1&view=markup
123 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/profile.bashrc?rev=1.1&content-type=text/plain
124
125 Index: profile.bashrc
126 ===================================================================
127 # Copyright 1999-2009 Gentoo Foundation
128 # Distributed under the terms of the GNU General Public License v2
129 # $Header: /var/cvsroot/gentoo-x86/profiles/prefix/windows/winnt/profile.bashrc,v 1.1 2009/06/06 03:55:10 solar Exp $
130
131 # On windows, binary files (executables, shared libraries) in use
132 # cannot be replaced during merge.
133 # But it is possible to rename them and remove lateron when they are
134 # not used any more by any running program.
135 #
136 # This is a workaround for portage bug#199868,
137 # and should be dropped once portage does sth. like this itself.
138 #
139
140 # Need to explicitly set PKG_CONFIG_PATH for cross EPREFIX.
141 export PKG_CONFIG_PATH="${EPREFIX}/lib/pkgconfig:${EPREFIX}/usr/lib/pkgconfig"
142
143 windows_cleanup_removed_files() {
144 local removedlist=$1
145 rm -f "${removedlist}".new
146
147 if [[ -r ${removedlist} ]]; then
148 rm -f "${removedlist}".old
149 fi
150 # restore in case of system fault
151 if [[ -r ${removedlist}.old ]]; then
152 mv "${removedlist}"{.old,}
153 fi
154
155 touch "${removedlist}"{,.new} # ensure they exist
156
157 while read rmstem; do
158 # try to remove previously recorded files
159 for f in "${ROOT}${rmstem}"*; do
160 ebegin "trying to remove ${f}"
161 rm -f "${f}" > /dev/null 2>&1
162 eend $?
163 done
164 # but keep it in list if still exists
165 for f in "${ROOT}${rmstem}"*; do
166 [[ -f ${f} ]] && echo "${rmstem}" >> "${removedlist}".new
167 break
168 done
169 done < "${removedlist}"
170
171 # update the list
172 mv "${removedlist}"{,.old}
173 mv "${removedlist}"{.new,}
174 rm "${removedlist}".old
175 }
176
177 windows_find_removed_slot() {
178 local f=$1
179 local n=0
180 while [[ ${n} -lt 100 && -f "${f}${n}" ]]; do
181 n=$((n=n+1))
182 done
183
184 if [[ ${n} -ge 100 ]]; then
185 echo "too many (>=100) old text files busy of '${f}'" >&2
186 exit 1
187 fi
188
189 echo $n
190 }
191
192 windows_prepare_file() {
193 local failed=0
194 my_mv=mv
195
196 [[ "${1}" == */mv ]] && my_mv="${1}.new"
197 [[ -f "${1}.new" ]] && rm -f "${1}.new"
198
199 cp -p "${1}" "${1}.new" || failed=1
200 ${my_mv} "${1}" "${2}" || failed=1
201 ${my_mv} "${1}.new" "${1}" || failed=1
202
203 echo $failed
204 }
205
206 post_src_install() {
207 cd "${ED}"
208 find . -name '*.exe' | while read f; do
209 if file "${f}" | grep "GUI" > /dev/null 2>&1; then
210 if test ! -f "${f%.exe}"; then
211 einfo "Windows GUI Executable $f will have no symlink."
212 fi
213 else
214 if test ! -f "${f%.exe}"; then
215 ebegin "creating ${f%.exe} -> ${f} for console accessibility."
216 eend $(ln -sf "$(basename "${f}")" "${f%.exe}" && echo 0 || echo 1)
217 fi
218 fi
219 done
220 }
221
222 post_pkg_preinst() {
223 local removedlist="${EROOT}var/lib/portage/files2bremoved"
224 windows_cleanup_removed_files $removedlist
225
226 # now go for current package
227 cd "${D}"
228 find ".${EROOT}" -type f | xargs -r /usr/bin/file | grep ' PE ' | while read f t
229 do
230 f=${f#./} # find prints: "./path/to/file"
231 f=${f%:} # file prints: "file-argument: type-of-file"
232 test -r "${ROOT}${f}" || continue
233 rmstem="${f}.removedbyportage"
234 # keep list of old busy text files unique
235 grep "^${rmstem}$" "${removedlist}" >/dev/null \
236 || echo "${rmstem}" >> "${removedlist}"
237
238 local n=$(windows_find_removed_slot ${ROOT}${rmstem})
239 ebegin "backing up text file ${ROOT}${f} (${n})"
240 eend $(windows_prepare_file "${ROOT}${f}" "${ROOT}${rmstem}${n}")
241 done
242 }
243
244 post_pkg_prerm() {
245 local removedlist="${EROOT}var/lib/portage/files2bremoved"
246 save_IFS=$IFS
247 IFS='
248 ';
249 local MY_PR=${PR}
250 [[ ${MY_PR} == r0 ]] && MY_PR=
251 local -a contents=($(<"${EROOT}var/db/pkg/${CATEGORY}/${P}${MY_PR:+-}${MY_PR}/CONTENTS"));
252 IFS=$save_IFS
253 local -a cont
254 for content in "${contents[@]}"; do
255 cont=($content)
256 f=${cont[1]}
257 f=${f#/}
258
259 test -r "${ROOT}${f}" || continue
260
261 if /usr/bin/file "${ROOT}${f}" | grep ' PE ' > /dev/null; then
262 # $f should be an absolute path to the installed file
263 rmstem="${f}.removedbyportage"
264
265 grep "^${rmstem}$" "${removedlist}" > /dev/null \
266 || echo "${rmstem}" >> "${removedlist}"
267
268 local n=$(windows_find_removed_slot ${ROOT}${rmstem})
269 ebegin "preparing ${ROOT}${f} for unmerge ($n)"
270 eend $(windows_prepare_file "${ROOT}${f}" "${ROOT}${rmstem}${n}")
271 fi
272 done
273 }
274
275 pre_pkg_postrm() {
276 local removedlist="${EROOT}var/lib/portage/files2bremoved"
277 windows_cleanup_removed_files $removedlist
278 }
279
280
281
282 1.1 profiles/prefix/windows/winnt/use.mask
283
284 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/use.mask?rev=1.1&view=markup
285 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/use.mask?rev=1.1&content-type=text/plain
286
287 Index: use.mask
288 ===================================================================
289 # Copyright 1999-2009 Gentoo Foundation
290 # Distributed under the terms of the GNU General Public License v2
291 # $Header: /var/cvsroot/gentoo-x86/profiles/prefix/windows/winnt/use.mask,v 1.1 2009/06/06 03:55:10 solar Exp $
292
293 # Re-add Interix libc
294 -elibc_Winnt
295 -kernel_Winnt
296
297 # these need a review, since they are just copied from interix
298 # these will more than likely never work on Windows
299 3dfx
300 acpi
301 alsa
302 altivec
303 apm
304 arts
305 aqua
306 bluetooth
307 cap
308 caps
309 cdr
310 coreaudio
311 dga
312 directfb
313 divx4linux
314 djbfft
315 dri
316 dvdr
317 emacs # missing implementation for unexec()
318 emul-linux-x86
319 fbcon
320 fdftk
321 fmod
322 ggi
323 glut
324 gpm
325 gps
326 hal
327 hardened
328 hddtemp
329 ibm
330 icc
331 icc-pgo
332 ieee1394
333 ifc
334 ipod
335 ipv6
336 lm_sensors
337 matrox
338 ncurses
339 netboot
340 old-linux
341 on-the-fly-crypt # requires device-mapper
342 opengl
343 oss
344 pcmcia
345 pda
346 rtc
347 selinux
348 scanner
349 smartcard
350 svga
351 uclibc
352 unicode # totally b0rked on interix
353 usb
354 voodoo3
355 pvm
356 v4l
357 v4l2
358 wifi
359
360 # these are USE flags that don't _currently_ work, but may will in the future.
361 ffmpeg
362 fftw
363 flac
364 jack
365 joystick
366 ladspa
367 openmp # not working yet on interix
368 portaudio
369 pulseaudio
370 qt3
371 qt4
372 tiff # libtiff only static, so avoid this!
373 timidity
374
375
376
377 1.1 profiles/prefix/windows/winnt/virtuals
378
379 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/virtuals?rev=1.1&view=markup
380 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/profiles/prefix/windows/winnt/virtuals?rev=1.1&content-type=text/plain
381
382 Index: virtuals
383 ===================================================================
384 # Copyright 1999-2009 Gentoo Foundation
385 # Distributed under the terms of the GNU General Public License v2
386 # $Header: /var/cvsroot/gentoo-x86/profiles/prefix/windows/winnt/virtuals,v 1.1 2009/06/06 03:55:10 solar Exp $
387
388 virtual/libc sys-winnt/libc
389 virtual/os-headers sys-winnt/libc