Wine CVS

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index

Dieser Artikel ist ein Kurz-Artikel - Du kannst uns helfen, diesen zu erweitern. Klicke dazu auf bearbeiten.



Inhaltsverzeichnis

[Bearbeiten] Über Portage installieren

emerge =wine-9999

[Bearbeiten] ebuild für Wine CVS

Bitte in Portage Overlay kopieren und app-emulation/wine-cvs/wine-cvs-0.0.4.ebuild benennen:

# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: Exp $

ECVS_SERVER="rhlx01.fht-esslingen.de:/home/wine"
ECVS_MODULE="wine"
ECVS_USER="cvs"
ECVS_PASS="cvs"
ECVS_CVS_OPTIONS="-dP"

inherit cvs eutils base flag-o-matic multilib

S=${WORKDIR}/${ECVS_MODULE}

DESCRIPTION="free implementation of Windows(tm) on Unix - (sources from CVS)."
HOMEPAGE="http://www.winehq.com/"
SRC_URI=""

LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE="alsa arts cups debug doc esd gif glut jack jpeg lcms ldap nas ncurses opengl oss scanner tcltk truetype xml2 X"

RESTRICT="test" #72375

RDEPEND=">=media-libs/freetype-2.0.0
        media-fonts/corefonts
        ncurses? ( >=sys-libs/ncurses-5.2 )
        jack? ( media-sound/jack-audio-connection-kit )
        X? ( virtual/x11 )
        arts? ( kde-base/arts )
        alsa? ( media-libs/alsa-lib )
        esd? ( media-sound/esound )
        nas? ( media-libs/nas )
        cups? ( net-print/cups )
        opengl? ( virtual/opengl )
        gif? ( media-libs/giflib )
        jpeg? ( media-libs/jpeg )
        ldap? ( net-nds/openldap )
        glut? ( virtual/glut )
        lcms? ( media-libs/lcms )
        xml2? ( dev-libs/libxml2 dev-libs/libxslt )
        tcltk? ( dev-lang/tcl dev-lang/tk )
        truetype? ( media-libs/freetype )
        scanner? ( media-gfx/sane-backends )
        amd64? (
                >=app-emulation/emul-linux-x86-xlibs-2.1
                >=app-emulation/emul-linux-x86-soundlibs-2.1
                >=sys-kernel/linux-headers-2.6
        )"

DEPEND="${RDEPEND}
        >=sys-apps/sed-4
        sys-devel/bison
        sys-devel/gcc
        sys-devel/flex
        doc? ( app-text/docbook-sgml-utils app-text/jadetex )
        !app-emulation/wine"

pkg_setup() {
        eerror "This is a LIVE CVS ebuild."
        eerror "That means there are NO promises it will work."
        eerror "If it fails to build, FIX THE CODE YOURSELF"
        eerror "before reporting any issues."
        if use amd64 ; then
                if ! has_m32 ; then
                        eerror "Your compiler seems to be unable to compile 32bit code."
                        eerror "Make sure you compile gcc with:"
                        echo
                        eerror "    USE=multilib FEATURES=-sandbox"
                        die "Cannot produce 32bit code"
                fi
                if has_multilib_profile ; then
                        export ABI=x86
                else
                        append-flags -m32
                        append-ldflags -m32
                fi
        fi
}

src_unpack() {
        cvs_src_unpack
        cd "${S}"
        epatch "${FILESDIR}"/wine-20050524-alsa-headers.patch
        epatch "${FILESDIR}"/winearts-kdecvs-fix.patch
        sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in
}

config_cache() {
        local h ans="no"
        use ${1} && ans="yes"
        shift
        for h in "$@" ; do
                [[ ${h} == *.h ]] \
                        && h=header_${h} \
                        || h=lib_${h}
                export ac_cv_${h//[:\/.]/_}=${ans}
        done
}

src_compile() {
        local WINE_prefix="/usr"
        local WINE_bindir="/usr/bin"
        local WINE_datadir="/usr/share"
        local WINE_includedir="/usr/include/wine"
        local WINE_oldincludedir="/usr/include"
        local WINE_sysconfdir="/etc/wine"
        local WINE_mandir="/usr/share/man"
        local WINE_libdir="/usr/lib"
        local WINE_dlldir="/usr/lib/wine"

        local WINEMAKEOPTS="\
                prefix=${WINE_prefix} \
                bindir=${WINE_bindir} \
                datadir=${WINE_datadir} \
                includedir=${WINE_includedir} \
                oldincludedir=${WINE_oldincludedir} \
                sysconfdir=${WINE_sysconfdir} \
                mandir=${WINE_mandir} \
                libdir=${WINE_libdir} \
                dlldir=${WINE_dlldir}"

        export LDCONFIG=/bin/true
        use arts    || export ARTSCCONFIG=""
        use esd     || export ESDCONFIG=""
        use scanner || export sane_devel="no"
        config_cache jack jack/jack.h
        config_cache cups cups/cups.h
        config_cache alsa alsa/asoundlib.h sys/asoundlib.h asound:snd_pcm_open
        config_cache nas audio/audiolib.h audio/soundlib.h
        config_cache xml2 libxml/parser.h libxslt/pattern.h libxslt/transform.h
        config_cache ldap ldap.h lber.h
        config_cache gif gif_lib.h
        config_cache glut glut:glutMainLoop
        config_cache jpeg jpeglib.h
        config_cache oss sys/soundcard.h machine/soundcard.h soundcard.h
        config_cache lcms lcms.h
        use x86 && config_cache truetype freetype:FT_Init_FreeType

        strip-flags
        use lcms && append-flags -I"${ROOT}"/usr/include/lcms
        use gif && append-flags -I${ROOT}/usr/include
        #       $(use_enable amd64 win64)

        # We are crazy and we want to optimize wine!!
        ## unset CFLAGS CXXFLAGS

        econf \
                CC=$(tc-getCC) \
                ${WINEMAKEOPTS} \
                --host=${CHOST} \
                $(use_with ncurses curses) \
                $(use_with opengl) \
                $(use_with X x) \
                $(use_enable debug trace) \
                $(use_enable debug) \
                || die "configure failed"

        # create the dependencies
        emake -j1 depend || die "depend"

        # build wine
        emake all || die "all"

        # build programs
        cd ${S}/programs && emake || die "programs"

        if use doc ; then
                cd ${S}
                emake -j1 -C documentation everything || die "docs"
        fi
}

src_install() {
        local WINE_prefix="/usr"
        local WINE_bindir="/usr/bin"
        local WINE_datadir="/usr/share"
        local WINE_includedir="/usr/include/wine"
        local WINE_sysconfdir="/etc/wine"
        local WINE_mandir="/usr/share/man"
        local WINE_libdir="/usr/$(get_libdir)"
        local WINE_dlldir="/usr/$(get_libdir)/wine"

        local WINEMAKEOPTS="\
                prefix=${D}${WINE_prefix} \
                bindir=${D}${WINE_bindir} \
                datadir=${D}${WINE_datadir} \
                includedir=${D}${WINE_includedir} \
                sysconfdir=${D}${WINE_sysconfdir} \
                mandir=${D}${WINE_mandir} \
                libdir=${D}${WINE_libdir} \
                dlldir=${D}${WINE_dlldir}"

        cd ${S} && make ${WINEMAKEOPTS} install || die "install"
        cd ${S}/programs && make ${WINEMAKEOPTS} install || die "install programs"

        # installing documentation
        use doc && dodoc ${S}/documentation/*.pdf

        # installing sample configuration
        dodir ${WINE_datadir}/wine
        insinto ${WINE_datadir}/wine
        doins ${S}/documentation/samples/config || einfo "Could not install example config"

        # Setting up fake_windows
        dodir ${WINE_dlldir}/.data
        keepdir ${WINE_dlldir}/.data
        dodir ${WINE_dlldir}/.data/fake_windows
        keepdir ${WINE_dlldir}/.data/fake_windows
        for foo in \
                "My Documents/My Music" \
                "My Documents/My Pictures" \
                "My Documents/My Video" \
                "My Documents/My eBooks" \
                "Program Files/Common Files" \
                "Program Files/Accessoires" \
                "Recycled" \
                "Temp" \
                "windows/All Users/Desktop" \
                "windows/All Users/Start Menu/Programs/Startup" \
                "windows/Application Data" \
                "windows/Cookies" \
                "windows/Desktop" \
                "windows/Favorits" \
                "windows/History" \
                "windows/NetHood" \
                "windows/Recent" \
                "windows/SendTo" \
                "windows/ShellNew" \
                "windows/Temporary Internet Files" \
                "windows/command" \
                "windows/fonts" \
                "windows/inf" \
                "windows/profiles/Administrator" \
                "windows/Application Data" \
                "windows/Start Menu/Programs/Startup" \
                "windows/system" \
                "windows/system32" \
                "windows/temp" \
                "windows/web"
        do
                dodir "${WINE_dlldir}/.data/fake_windows/${foo}"
        done

        # Adding the wine config file from the documentation directory as an alternative
        cp ${S}/documentation/samples/config ${T}/config.sample
        dodir ${WINE_dlldir}/.data
        insinto ${WINE_dlldir}/.data
        doins ${T}/config.sample || einfo "Could not install config.sample"

        # copying the wine.inf into .data (used to be winedefault.reg)
        cd ${S}
        dodir ${WINE_dlldir}/.data
        insinto ${WINE_dlldir}/.data
        doins tools/wine.inf
        dodir ${WINE_dlldir}/.data/fake_windows/windows/system
        insinto ${WINE_dlldir}/.data/fake_windows/windows/system
        doins tools/wine.inf
        dodir ${WINE_dlldir}/.data/fake_windows/windows/inf
        insinto ${WINE_dlldir}/.data/fake_windows/windows/inf
        doins tools/wine.inf

        # do some symlinks to wine applications: Windows
        dodir ${WINE_dlldir}/.data/fake_windows/windows
        for foo in notepad.exe regedit.exe rundll32.exe winebrowser.exe winhelp.exe
        do
                einfo "Symlinking: ${foo}.so to C:\\\\windows\\\\${foo}"
                dosym ${WINE_dlldir}/${foo}.so ${WINE_dlldir}/.data/fake_windows/windows/${foo}
        done
        einfo "Symlinking: uninstaller.exe.so to C:\\\\windows\\\\uninstall.exe"
        dosym ${WINE_dlldir}/uninstaller.exe.so ${WINE_dlldir}/.data/fake_windows/windows/uninstall.exe
        einfo "Symlinking: winhelp.exe.so to C:\\\\windows\\\\winhelp32.exe"
        dosym ${WINE_dlldir}/winhelp.exe.so ${WINE_dlldir}/.data/fake_windows/windows/winhelp32.exe
        einfo "Symlinking: wineboot.exe.so to C:\\\\windows\\\\reboot.exe"
        dosym ${WINE_dlldir}/wineboot.exe.so ${WINE_dlldir}/.data/fake_windows/windows/reboot.exe

        # do some symlinks to wine applications: Windows/System
        dodir ${WINE_dlldir}/.data/fake_windows/windows/system
        for foo in \
                "control.exe" \
                "progman.exe" \
                "wcmd.exe" \
                "winver.exe" \
                "rundll32.exe" \
                "regsvr32.exe" \
                "wcmd.exe" \
                "ws2_32.dll"
        do
                einfo "Symlinking: ${foo}.so to C:\\\\windows\\\\system\\\\${foo}"
                dosym ${WINE_dlldir}/${foo}.so ${WINE_dlldir}/.data/fake_windows/windows/system/${foo}
        done
        einfo "Symlinking: winemine.exe.so to C:\\\\windows\\\\winmine.exe"
        dosym ${WINE_dlldir}/winemine.exe.so ${WINE_dlldir}/.data/fake_windows/windows/winmine.exe
        einfo "Symlinking: winhelp.exe.so to C:\\\\windows\\\\system\\\\help.exe"
        dosym ${WINE_dlldir}/winhelp.exe.so ${WINE_dlldir}/.data/fake_windows/windows/system/help.exe
        einfo "Symlinking: wineboot.exe.so to C:\\\\windows\\\\system\\\\reboot.exe"
        dosym ${WINE_dlldir}/wineboot.exe.so ${WINE_dlldir}/.data/fake_windows/windows/system/reboot.exe

        # do some symlinks to wine applications: windows/Command
        dodir ${WINE_dlldir}/.data/fake_windows/windows/command
        for foo in \
                "start.exe"
        do
                einfo "Symlinking: ${foo}.so to C:\\\\windows\\\\command\\\\${foo}"
                dosym ${WINE_dlldir}/${foo}.so ${WINE_dlldir}/.data/fake_windows/windows/command/${foo}
        done

        # MPlayer Win32 codecs
        for foo in \
                "ir41_32.dll" \
                "iccvid.dll" \
                "ir32_32.dll" \
                "ir50_32.dll" \
                "msvidc32.dll" \
                "msrle32.dll" \
                "tsd32.dll" \
                "imaadp32.acm" \
                "lhacm.acm" \
                "msadp32.acm" \
                "msgsm32.acm" \
                "tssoft32.acm"
        do
                if [[ -e "/usr/lib/win32/${foo}" ]]
                then
                        einfo "Symlinking: /usr/lib/win32/${foo} to C:\\\\windows\\\\system\\\\${foo}"
                        dosym /usr/lib/win32/${foo} ${WINE_dlldir}/.data/fake_windows/windows/system/${foo}
                fi
        done

        # Set up dynamic data
        cd ${S}
        dodir ${WINE_dlldir}/.data/fake_windows/windows
        insinto ${WINE_dlldir}/.data/fake_windows/windows
        [[ -f ${S}/documentation/samples/system.ini ]] && doins documentation/samples/system.ini || {
cat <<EOF >>${D}${WINE_dlldir}/.data/fake_windows/windows/system.ini
[mci]
MPEGVideo=mciqtz.drv
MPEGVideo2=mciqtz.drv
avivideo=mciavi.drv
cdaudio=mcicda.drv
sequencer=mciseq.drv
vcr=mcivisca.drv
; videodisc=mcipionr.drv
waveaudio=mciwave.drv

[drivers32]
MSACM.imaadpcm=imaadp32.acm
MSACM.msadpcm=msadp32.acm
VIDC.MRLE=msrle32.dll
; VIDC.IV50=ir50_32.dll
; VIDC.CVID=iccvid.dll
; VIDC.IV31=ir32_32.dll
; VIDC.IV32=ir32_32.dll
; VIDC.MSVC=msvidc32.dll
;; MPlayer win32 codecs
MSACM.lhacm=lhacm.acm
MSACM.trspch=tssoft32.acm
MSACM.msgsm610=msgsm32.acm
VIDC.IV41=ir41_32.dll
EOF
        }
        doins ${S}/dlls/wineps/generic.ppd || doins ${S}/documentation/samples/generic.ppd
        ## Setup of .data complete

        # Add 30wine to env.d
        echo -e "PATH=${WINE_libdir}\nROOTPATH=${WINE_libdir}\nLDPATH=${WINE_libdir}\n" > ${T}/30wine
        doenvd ${T}/30wine

        ### Misc tasks
        # Take care of the documentation
        cd ${S}
        dodoc ANNOUNCE AUTHORS BUGS ChangeLog DEVELOPERS-HINTS LICENSE README

        # Manpage setup
        if use doc
        then
                cp ${S}/documentation/wine.man ${T}/wine.1
                doman ${T}/wine.1
                cp ${S}/documentation/wine.conf.man ${T}/wine.conf.5
                doman ${T}/wine.conf.5
                dohtml ${S}/documentation/*.html
                dodoc ${S}/documentation/*.pdf
                dodoc ${S}/documentation/*.ps
                dodoc ${S}/documentation/*.txt
        fi

        # Remove the executable flag from those libraries.
        chmod a-x ${D}${WINE_dlldir}/*.so

        # Add desktop menu entry
        dodir /usr/share/pixmaps
        insinto /usr/share/pixmaps
        doins ${FILESDIR}/Windows.xpm
        make_desktop_entry "wine %f" "Wine CVS" Windows.xpm Emulator ""
        make_desktop_entry "wine wineboot" "Wine CVS Reboot" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine winecfg" "Wine CVS Configurator" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine uninstaller" "Wine CVS Application Uninstaller" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine regedit" "Wine CVS Registry Editor" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine winefile" "Wine CVS File Manager" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine winhelp" "Wine CVS Help" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine control" "Wine CVS Control Panel" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine progman" "Wine CVS Program Manager" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine taskmgr" "Wine CVS Task Manager" Windows.xpm Emulator "" "Wine Applications"
        make_desktop_entry "wine winver" "About Wine CVS" Windows.xpm Emulator "" "Wine Applications"
}

pkg_postinst() {
        local WINE_prefix="/usr"
        local WINE_bindir="/usr/bin"
        local WINE_datadir="/usr/share"
        local WINE_includedir="/usr/include/wine"
        local WINE_sysconfdir="/etc/wine"
        local WINE_mandir="/usr/share/man"
        local WINE_libdir="/usr/lib"
        local WINE_dlldir="/usr/lib/wine"
        einfo "Use ${WINE_bindir}/wine to start wine."
        einfo ""
        einfo "Use ${WINE_bindir}/regedit to import registry files into the"
        einfo "wine registry."
        einfo ""
        einfo "~/.wine/config is now deprecated.  For configuration either use"
        einfo "winecfg or regedit HKCU\\Software\\Wine"
}

[Bearbeiten] Windows.xpm

Bitte nach Portage Overlay kopieren und app-emulation/wine-cvs/files/Windows.xpm benennen:

 /* XPM */
 static char * Windows_xpm[] = {
 "65 59 63 1",
 "       c None",
 ".      c #F0F4D0",
 "+      c #E7E7A3",
 "@      c #E2DB7C",
 "#      c #E4C3A4",
 "$      c #E8B94C",
 "%      c #E6A559",
 "&      c #D09E78",
 "*      c #E0AB9A",
 "=      c #DDD1A9",
 "-      c #EEECE0",
 ";      c #E5E4DF",
 ">      c #E9A12D",
 ",      c #E68739",
 "'      c #E5722C",
 ")      c #DE632B",
 "!      c #DBDBD1",
 "~      c #D7542A",
 "{      c #E5B225",
 "]      c #E7BC1C",
 "^      c #CD432A",
 "/      c #7E85A6",
 "(      c #74A24A",
 "_      c #92B6DC",
 ":      c #B9BF93",
 "<      c #5B892E",
 "[      c #ADD287",
 "}      c #91A775",
 "|      c #D8D4D1",
 "1      c #628B3C",
 "2      c #5E9833",
 "3      c #82C639",
 "4      c #6FBC33",
 "5      c #5F8A44",
 "6      c #64A531",
 "7      c #84C342",
 "8      c #7CC537",
 "9      c #86C73A",
 "0      c #96C666",
 "a      c #A6C0DF",
 "b      c #CCC8CE",
 "c      c #97A9C5",
 "d      c #B4CEDE",
 "e      c #6E858B",
 "f      c #C68945",
 "g      c #505CA1",
 "h      c #86ACD9",
 "i      c #739CCE",
 "j      c #5D84BA",
 "k      c #576DAC",
 "l      c #464890",
 "m      c #C1BD7D",
 "n      c #B5A249",
 "o      c #9CA763",
 "p      c #AD8B4B",
 "q      c #C7A849",
 "r      c #C49A2A",
 "s      c #F1DC4D",
 "t      c #F9DF42",
 "u      c #F6D710",
 "v      c #E6C610",
 "w      c #F7DC35",
 "x      c #BCA84C",
 "                                                                 ",
 "                        ...                                      ",
 "                  .+@#$$%%&%*=-                                  ",
 "               ;@#$$$$%>,'''))'%!                                ",
 "             -$&,%>$$$>>,'')))~~)*;                              ",
 "             #,,>>{$]>>>,''')~~~~^)#                             ",
 "             *,,>>%$$>>,,''))~~^^^^/                             ",
 "            -&,,>{$]{>>,,'))~~~^^^^&  ..                         ",
 "            =,,>>%$${>>,''))~~~^^^^&-!(_.                        ",
 "            #,,>>{$]>>,,''))~~^^^^^# :<<([.              ..[};   ",
 "           -&,,>%{$${>>,''))~~^^^^)| }<<12}[+.       ...[34(5!   ",
 "           ;,,,>>$${>>,''))~~^^^^^&;+2<<226643[[[+[![[77444(1.   ",
 "           #,,>%{$$>>,,''))~~~^^^^* [1<<22464487389997744445}!!  ",
 "           *,,>>{]${>>,')))~~^^^^)# 0<<226644488899907744442a!;  ",
 "          -,,,>%$${>>,,'))~~~^^^^/;-(<<<26644488899997844425b|-  ",
 "          =,,>>>${{>>,''))~~^^^^^*-=1<<26644488399903884442(|!   ",
 "          *,,>>$${>>,,''))~~^^^^^# :1<<26644448879997784465c!!   ",
 "         -&,,>>{${>>>,')))~~^^^^'!.}<<226644488390908844461d|-   ",
 "         ;,,>>%$${>>,,'))~~~^^^^&;;2<<22664444839999888446e!|-   ",
 "         #,,>>{]${>,,''))~~^^^^^#-[<<<22464488899907884442}!!    ",
 "         %,,>>%$$>>,,'')~~~^^^^~b-:<<<26644488899993884465a!!    ",
 "        -,,,>>$$$%>>,,'))~^^^^^&!-2<<226644488399098844461d|-    ",
 "        =,,,%>,&&%**%&,,')~^^^^&;!1<<2266444888999988844((!!     ",
 "        *f,f&*###|#|||=#*f'^^^~#.0<<226644848899907844441c|!     ",
 "        #**b|||||!||!;;;;|*&~g'| }<<<26644488899993884465|!-     ",
 "         -|||ddda__hhhad; -|*&*;!2<<266644488399908444465!|-     ",
 "         da_adda__hhi/jj/_; -|!.[5<<22644488889999884442c!!      ",
 "       diiicaddaahhiiijjkkkc- - }<<22664444839909384446<:!;      ",
 "      ;ejih_ddaa_hhiiijjkgggk;  ;(55266444888999937444(e!|;      ",
 "      |jjicaadaahhhijjjkkglll|    :(2664448899903774h2(0||       ",
 "      _jiihadda__hiiijjkkglll; ;+ -!:((4474790904}(e}:d!|!       ",
 "      ijih_adaa_hhiiijjkglll/!-mn#- -;d:}o(}}(}}}c:=||!!;        ",
 "     !jjih_ddaa_hiiijjjkggllp;@qrrms...;!!=[=bb|!!@@@m|          ",
 "     ajjihadda__hiiijjkgglllb-#rfrrq$st....--+++@@@suq=          ",
 "     ijii_adda__hhijjjkkgllg! $pfr>{{vvsus@s+s+twuuuvr+-         ",
 "    ./jih_adaa_hiiiijjkgllli!+xfrrqq]vvuuuwwwtwtuuuuvr;!;        ",
 "    djjihaddaa_hhijjjkkggll*-@rfrr{{{vvuuuuwwttwuuuuqm=|         ",
 "    _jihhadda_hhhiijjkggllg|-$rrrrq{vvuuuuwwttwwuuuuxm!!         ",
 "    ijjhhadda__hiijjjkkgllk! qpfr>q]vvvuuuuttttuuuuvrb!-         ",
 "   ;jjih_ddaa_hiiiijkkglllc;+rrrr{q{vuuuuuwwttwuuuuvx||          ",
 "   ajiihadda__hiijjjkkglllb-=frrr{{]vvuuuuwtttwuuuvqm=!          ",
 "   hjjh_adda__hiiijjkggllk|.{pfrrq{vvuuuuuwtttwuuuun#!!          ",
 "  -jjih_ddaa_hhiijjjkggllp!.qfrr{{{vvuuuuwttttuuuuvn=!;          ",
 "  djjihaadd__hiiijjkkglll:;@rfrrqq]vvuuuuwttttuuuv]n|!           ",
 "  _jjihaa__hiiiijjjkkgllgb $pfrr{{]vuuuuwwtttwuuuuxm|!           ",
 "  ijii////c/cci/jjkkggll/!.qfrrr{{vvvuuuwtttwwuuuvnb!;           ",
 " ;jkk/cbb|||||||baikggllc;+qfr>r{{vuuuuuwwtttuuuu]n=!-           ",
 "  cab|||||;!;;;;;||bcgllb-#prrr{{]vvuuuuwttttuuuuqm!!            ",
 "   ;|;;--           ;b/&b-$pfrr{{vvuuuuwwttttuuuvnm|;            ",
 "                      ;|!+xfrrr{{vvvuuuuttttuuuuvr=|;            ",
 "                        -+qrrq{{]vuuuuuttttwwuuu]x!|c/c          ",
 "                          +mnrq{]vvvuuwwwtwwuwvvxm|!|pc          ",
 "                           +#qq{vvuuuuutttwuvmxxm!|;             ",
 "                            -+mmq{{v]vvvm]mxxm==|!|-             ",
 "                              -!=bmmmmmmmmm@==!||;-              ",
 "                                -;;!|===!!!!!!;-                 ",
 "                                     --;-;-                      ",
 "                                                                 ",
 "                                                                 "};

[Bearbeiten] Benötigte Patch Dateien

Bitte nach Portage Overlay kopieren und app-emulation/wine-cvs/files/winearts-kdecvs-fix.patch benennen:

--- tools/makedep.c     2003-06-20 21:31:13.000000000 +0000
+++ tools/makedepnew.c  2003-12-01 13:10:10.490498720 +0000
@@ -504,6 +504,8 @@
         if (opt[2]) SrcDir = opt + 2;
         else SrcDir = NULL;
         break;
+    case 'p':
+       break;
     case 'f':
         if (opt[2]) OutputFileName = opt + 2;
         break;

Bitte nach Portage Overlay kopieren und app-emulation/wine-cvs/files/wine-20050524-alsa-headers.patch benennen:

Reorder the alsa includes so the wine defines dont stomp
the alsa prototypes.

Patch by Ed Catmur

http://bugs.gentoo.org/94272

--- dlls/winmm/winealsa/audio.c
+++ dlls/winmm/winealsa/audio.c
@@ -45,6 +45,9 @@
 # include <sys/mman.h>
 #endif
 #include "windef.h"
+#define ALSA_PCM_NEW_HW_PARAMS_API
+#define ALSA_PCM_NEW_SW_PARAMS_API
+#include "alsa.h"
 #include "winbase.h"
 #include "wingdi.h"
 #include "winerror.h"
@@ -58,9 +61,6 @@
 #include "ks.h"
 #include "ksguid.h"
 #include "ksmedia.h"
-#define ALSA_PCM_NEW_HW_PARAMS_API
-#define ALSA_PCM_NEW_SW_PARAMS_API
-#include "alsa.h"
 #include "wine/library.h"
 #include "wine/unicode.h"
 #include "wine/debug.h"

[Bearbeiten] Digest erstellen

Danach mit ebuild app-emulation/wine-cvs/wine-cvs-0.0.4.ebuild digest den Digest erstellen.

ebuild $(sed -n "s:^PORTDIR_OVERLAY=[\"]*\(.*\)[\"]*.*:\1:gp" \
/etc/make.conf)/app-emulation/wine-cvs/wine-cvs-0.0.4.ebuild digest
'Persönliche Werkzeuge