diff options
Diffstat (limited to 'profiles/prefix/windows/winnt')
29 files changed, 334 insertions, 0 deletions
diff --git a/profiles/prefix/windows/winnt/3.5/eapi b/profiles/prefix/windows/winnt/3.5/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/3.5/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/3.5/parent b/profiles/prefix/windows/winnt/3.5/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/3.5/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/3.5/x86/eapi b/profiles/prefix/windows/winnt/3.5/x86/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/3.5/x86/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/3.5/x86/make.defaults b/profiles/prefix/windows/winnt/3.5/x86/make.defaults new file mode 100644 index 000000000000..21cc6becd407 --- /dev/null +++ b/profiles/prefix/windows/winnt/3.5/x86/make.defaults @@ -0,0 +1,6 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +ARCH="x86-winnt" +CHOST="i586-pc-winnt3.5" +ACCEPT_KEYWORDS="~x86-winnt" diff --git a/profiles/prefix/windows/winnt/3.5/x86/parent b/profiles/prefix/windows/winnt/3.5/x86/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/3.5/x86/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/5.2/eapi b/profiles/prefix/windows/winnt/5.2/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/5.2/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/5.2/parent b/profiles/prefix/windows/winnt/5.2/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/5.2/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/5.2/x86/eapi b/profiles/prefix/windows/winnt/5.2/x86/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/5.2/x86/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/5.2/x86/make.defaults b/profiles/prefix/windows/winnt/5.2/x86/make.defaults new file mode 100644 index 000000000000..6196da2d7a5c --- /dev/null +++ b/profiles/prefix/windows/winnt/5.2/x86/make.defaults @@ -0,0 +1,6 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +ARCH="x86-winnt" +CHOST="i586-pc-winnt5.2" +ACCEPT_KEYWORDS="~x86-winnt" diff --git a/profiles/prefix/windows/winnt/5.2/x86/parent b/profiles/prefix/windows/winnt/5.2/x86/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/5.2/x86/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/6.0/eapi b/profiles/prefix/windows/winnt/6.0/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/6.0/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/6.0/parent b/profiles/prefix/windows/winnt/6.0/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/6.0/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/6.0/x86/eapi b/profiles/prefix/windows/winnt/6.0/x86/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/6.0/x86/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/6.0/x86/make.defaults b/profiles/prefix/windows/winnt/6.0/x86/make.defaults new file mode 100644 index 000000000000..c28e21320203 --- /dev/null +++ b/profiles/prefix/windows/winnt/6.0/x86/make.defaults @@ -0,0 +1,6 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +ARCH="x86-winnt" +CHOST="i586-pc-winnt6.0" +ACCEPT_KEYWORDS="~x86-winnt" diff --git a/profiles/prefix/windows/winnt/6.0/x86/parent b/profiles/prefix/windows/winnt/6.0/x86/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/6.0/x86/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/6.1/eapi b/profiles/prefix/windows/winnt/6.1/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/6.1/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/6.1/parent b/profiles/prefix/windows/winnt/6.1/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/6.1/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/6.1/x86/eapi b/profiles/prefix/windows/winnt/6.1/x86/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/6.1/x86/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/6.1/x86/make.defaults b/profiles/prefix/windows/winnt/6.1/x86/make.defaults new file mode 100644 index 000000000000..9dcc06845d96 --- /dev/null +++ b/profiles/prefix/windows/winnt/6.1/x86/make.defaults @@ -0,0 +1,6 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +ARCH="x86-winnt" +CHOST="i586-pc-winnt6.1" +ACCEPT_KEYWORDS="~x86-winnt" diff --git a/profiles/prefix/windows/winnt/6.1/x86/parent b/profiles/prefix/windows/winnt/6.1/x86/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/6.1/x86/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/eapi b/profiles/prefix/windows/winnt/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/prefix/windows/winnt/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/prefix/windows/winnt/make.defaults b/profiles/prefix/windows/winnt/make.defaults new file mode 100644 index 000000000000..bd1924d2c0ef --- /dev/null +++ b/profiles/prefix/windows/winnt/make.defaults @@ -0,0 +1,10 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# System-wide defaults for all Windows profiles +# This file should rarely need to be changed + +# 'Sane' defaults +ELIBC="Winnt" + +FEATURES="nostrip" diff --git a/profiles/prefix/windows/winnt/package.mask b/profiles/prefix/windows/winnt/package.mask new file mode 100644 index 000000000000..0af713753d95 --- /dev/null +++ b/profiles/prefix/windows/winnt/package.mask @@ -0,0 +1,8 @@ + +# Distributed under the terms of the GNU General Public License v2 + + +# Markus Duft <mduft@gentoo.org> (30 Sep 2009) +# the patch does not currently apply, and needs some work. +>=x11-proto/xproto-7.0.16 + diff --git a/profiles/prefix/windows/winnt/package.use.mask b/profiles/prefix/windows/winnt/package.use.mask new file mode 100644 index 000000000000..51b019b65f26 --- /dev/null +++ b/profiles/prefix/windows/winnt/package.use.mask @@ -0,0 +1,6 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Michael Haubenwallner <haubi@gentoo.org> (02 Oct 2017) +# requires nasm, which is hard to use via parity atm +dev-libs/openssl asm diff --git a/profiles/prefix/windows/winnt/packages b/profiles/prefix/windows/winnt/packages new file mode 100644 index 000000000000..7ffc61e1574f --- /dev/null +++ b/profiles/prefix/windows/winnt/packages @@ -0,0 +1,37 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# those are packages not available/required on winnt, since +# winnt can be a child EPREFIX only, which tears it's DEPENDS +# from a parent (e.g. x86-cygwin) prefix. + +-*sys-apps/grep +-*app-arch/gzip +-*sys-devel/libtool +-*virtual/man +-*sys-devel/patch +-*sys-devel/flex +-*sys-apps/gawk +-*app-arch/tar +-*sys-apps/sed +-*sys-devel/bison +-*sys-apps/file +-*app-arch/bzip2 +-*net-misc/rsync +-*sys-devel/automake +-*virtual/editor +-*sys-apps/coreutils +-*sys-devel/make +-*sys-apps/findutils +-*sys-devel/m4 +-*net-misc/wget +-*sys-apps/which +-*virtual/pager +-*sys-apps/diffutils +-*sys-apps/baselayout-prefix +-*app-shells/bash:0 +-*virtual/package-manager +-*virtual/ssh +-*sys-devel/autoconf +-*sys-devel/gnuconfig +-*sys-devel/gcc diff --git a/profiles/prefix/windows/winnt/parent b/profiles/prefix/windows/winnt/parent new file mode 100644 index 000000000000..f3229c5b9876 --- /dev/null +++ b/profiles/prefix/windows/winnt/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/prefix/windows/winnt/profile.bashrc b/profiles/prefix/windows/winnt/profile.bashrc new file mode 100644 index 000000000000..f1c5c365338b --- /dev/null +++ b/profiles/prefix/windows/winnt/profile.bashrc @@ -0,0 +1,151 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# On windows, binary files (executables, shared libraries) in use +# cannot be replaced during merge. +# But it is possible to rename them and remove lateron when they are +# not used any more by any running program. +# +# This is a workaround for portage bug#199868, +# and should be dropped once portage does sth. like this itself. +# + +# Need to explicitly set PKG_CONFIG_PATH for cross EPREFIX. +export PKG_CONFIG_PATH="${EPREFIX}/lib/pkgconfig:${EPREFIX}/usr/lib/pkgconfig" + +windows_cleanup_removed_files() { + local removedlist=$1 + rm -f "${removedlist}".new + + if [[ -r ${removedlist} ]]; then + rm -f "${removedlist}".old + fi + # restore in case of system fault + if [[ -r ${removedlist}.old ]]; then + mv "${removedlist}"{.old,} + fi + + touch "${removedlist}"{,.new} # ensure they exist + + while read rmstem; do + # try to remove previously recorded files + for f in "${ROOT}${rmstem}"*; do + ebegin "trying to remove ${f}" + rm -f "${f}" > /dev/null 2>&1 + eend $? + done + # but keep it in list if still exists + for f in "${ROOT}${rmstem}"*; do + [[ -f ${f} ]] && echo "${rmstem}" >> "${removedlist}".new + break + done + done < "${removedlist}" + + # update the list + mv "${removedlist}"{,.old} + mv "${removedlist}"{.new,} + rm "${removedlist}".old +} + +windows_find_removed_slot() { + local f=$1 + local n=0 + while [[ ${n} -lt 100 && -f "${f}${n}" ]]; do + n=$((n=n+1)) + done + + if [[ ${n} -ge 100 ]]; then + echo "too many (>=100) old text files busy of '${f}'" >&2 + exit 1 + fi + + echo $n +} + +windows_prepare_file() { + local failed=0 + my_mv=mv + + [[ "${1}" == */mv ]] && my_mv="${1}.new" + [[ -f "${1}.new" ]] && rm -f "${1}.new" + + cp -p "${1}" "${1}.new" || failed=1 + ${my_mv} "${1}" "${2}" || failed=1 + ${my_mv} "${1}.new" "${1}" || failed=1 + + echo $failed +} + +post_src_install() { + cd "${ED}" + find . -name '*.exe' | while read f; do + if file "${f}" | grep "GUI" > /dev/null 2>&1; then + if test ! -f "${f%.exe}"; then + einfo "Windows GUI Executable $f will have no symlink." + fi + else + if test ! -f "${f%.exe}"; then + ebegin "creating ${f%.exe} -> ${f} for console accessibility." + eend $(ln -sf "$(basename "${f}")" "${f%.exe}" && echo 0 || echo 1) + fi + fi + done +} + +post_pkg_preinst() { + local removedlist="${EROOT}var/lib/portage/files2bremoved" + windows_cleanup_removed_files $removedlist + + # now go for current package + cd "${D}" + find ".${EROOT}" -type f | xargs -r /usr/bin/file | grep ' PE ' | while read f t + do + f=${f#./} # find prints: "./path/to/file" + f=${f%:} # file prints: "file-argument: type-of-file" + test -r "${ROOT}${f}" || continue + rmstem="${f}.removedbyportage" + # keep list of old busy text files unique + grep "^${rmstem}$" "${removedlist}" >/dev/null \ + || echo "${rmstem}" >> "${removedlist}" + + local n=$(windows_find_removed_slot ${ROOT}${rmstem}) + ebegin "backing up text file ${ROOT}${f} (${n})" + eend $(windows_prepare_file "${ROOT}${f}" "${ROOT}${rmstem}${n}") + done +} + +post_pkg_prerm() { + local removedlist="${EROOT}var/lib/portage/files2bremoved" + save_IFS=$IFS + IFS=' +'; + local MY_PR=${PR} + [[ ${MY_PR} == r0 ]] && MY_PR= + local -a contents=($(<"${EROOT}var/db/pkg/${CATEGORY}/${P}${MY_PR:+-}${MY_PR}/CONTENTS")); + IFS=$save_IFS + local -a cont + for content in "${contents[@]}"; do + cont=($content) + f=${cont[1]} + f=${f#/} + + test -r "${ROOT}${f}" || continue + + if /usr/bin/file "${ROOT}${f}" | grep ' PE ' > /dev/null; then + # $f should be an absolute path to the installed file + rmstem="${f}.removedbyportage" + + grep "^${rmstem}$" "${removedlist}" > /dev/null \ + || echo "${rmstem}" >> "${removedlist}" + + local n=$(windows_find_removed_slot ${ROOT}${rmstem}) + ebegin "preparing ${ROOT}${f} for unmerge ($n)" + eend $(windows_prepare_file "${ROOT}${f}" "${ROOT}${rmstem}${n}") + fi + done +} + +pre_pkg_postrm() { + local removedlist="${EROOT}var/lib/portage/files2bremoved" + windows_cleanup_removed_files $removedlist +} diff --git a/profiles/prefix/windows/winnt/use.force b/profiles/prefix/windows/winnt/use.force new file mode 100644 index 000000000000..4dbfdde651d7 --- /dev/null +++ b/profiles/prefix/windows/winnt/use.force @@ -0,0 +1,5 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Re-add Winnt libc +elibc_Winnt diff --git a/profiles/prefix/windows/winnt/use.mask b/profiles/prefix/windows/winnt/use.mask new file mode 100644 index 000000000000..eb0c49f36f14 --- /dev/null +++ b/profiles/prefix/windows/winnt/use.mask @@ -0,0 +1,75 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# Re-add Winnt libc +-elibc_Winnt + +# CURL_SSL=winssl is allowd on Winnt libc +-curl_ssl_winssl + +# these need a review, since they are just copied from interix +# these will more than likely never work on Windows +3dfx +acpi +alsa +altivec +apm +bluetooth +caps +cdr +coreaudio +dga +directfb +djbfft +dri +dvdr +# emacs USE flag is masked because of missing implementation for unexec() +emacs +fbcon +fmod +ggi +glut +gpm +gps +hardened +hddtemp +ibm +ieee1394 +ifc +ipod +ipv6 +lm_sensors +ncurses +netboot +opengl +oss +pcmcia +pda +rtc +selinux +scanner +smartcard +svga +uclibc +# unicode is totally b0rked on interix +unicode +usb +v4l +wifi + +# these are USE flags that don't _currently_ work, but may will in the future. +ffmpeg +fftw +flac +jack +joystick +ladspa +# opennmp is not working yet on interix +openmp +portaudio +pulseaudio +qt4 +readline +# libtiff only static, so avoid the tiff USE flag! +tiff +timidity |