From owner-freebsd-ports@FreeBSD.ORG Wed Nov 7 17:48:10 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6F70FE49 for ; Wed, 7 Nov 2012 17:48:10 +0000 (UTC) (envelope-from utisoft@gmail.com) Received: from mail-bk0-f54.google.com (mail-bk0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id E68B08FC14 for ; Wed, 7 Nov 2012 17:48:09 +0000 (UTC) Received: by mail-bk0-f54.google.com with SMTP id jf20so986298bkc.13 for ; Wed, 07 Nov 2012 09:48:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=DmJt6VZBPeySwi6hEsNelqMXIAgNDXC3tEvzDOcg7d8=; b=QdmKr6u5L3lI5L+amjZZ1Nt5MhoNiLOFWynk0eq9uRq1Dyz7IZCxPUqiFfR7OFfmrJ B4f3UhYjtPvJfGeWfD+LoljLDijrJVBJv5glw2jQkDfzwzQhr0U4bMwb7NC8HUAYVnop k/Peq8vgb0Q0QxiSvjPZLhosYR3bI20RkI+ZMStd1pX1jwWNef8ys/gCqQTbvq7evxnn lM8wfIuC+kFSb9ChigS0QTtNjVRzG6yhLmTaR1XSWkEX15LdtHfMPuYIqrHhzk+dJSSl v687LBzhOD+53DTsmSiqtlz/v2hdahSXLkl2qnLZUm62ZYetlTVw9v+rntMzGM03axHJ GGZw== Received: by 10.204.7.213 with SMTP id e21mr1292751bke.32.1352310488476; Wed, 07 Nov 2012 09:48:08 -0800 (PST) MIME-Version: 1.0 Sender: utisoft@gmail.com Received: by 10.204.50.197 with HTTP; Wed, 7 Nov 2012 09:47:38 -0800 (PST) In-Reply-To: <509A68B8.2070700@astart.com> References: <58.E1.17144.7AD2A905@smtp01.insight.synacor.com> <509A68B8.2070700@astart.com> From: Chris Rees Date: Wed, 7 Nov 2012 17:47:38 +0000 X-Google-Sender-Auth: Lvj4Vp3i98dzxtX9sLzwf7lHwqo Message-ID: Subject: Re: wine/i386 for FreeBSD/amd64 port (aka wine-fbsd64) To: papowell@astart.com Content-Type: text/plain; charset=ISO-8859-1 Cc: FreeBSD Mailing List X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Nov 2012 17:48:10 -0000 On 7 November 2012 13:57, Patrick Powell wrote: > First, I want to thank the Wine developers for a job/life/sanity saving > piece of code. > > I need both 32 and 64 versions. It would be nice if the ports had a > wine-32 and wine-64 just to make > life simple for us non-intensive Ports users. Just a comment. Ports does have a wine-32 port-- it's called emulators/wine. This will be an *additional* port for amd64. Chris > On 11/07/12 01:45, Thomas Mueller wrote: >> >> from David Naylor : >> >>> Hi List, >>> # Executive Summary >>> Over the past years I have been maintaining the wine-fbsd64 port (see >>> http://mediafire.com/wine_fbsd64 for more). The port itself effectively >>> does >>> static linking (it bundles all the libraries wine needs) with scripts to >>> bootstrap the environment to easily use wine from FreeBSD/amd64. There >>> is >>> also a script to install the i386 nVidia graphic drivers so that wine has >>> access to nVidia accelerated graphics from FreeBSD/amd64. >>> I would like to propose this port gets included in the port's collection >>> and >>> would like to get feedback, your comments please :-). >>> P.S. I'm not subscribed to the list, so please ensure I'm cc'ed in the >>> discussion. >>> # Details of the Port >>> Please see attached for the actual port. >>> ## Port Preamble >>> This port is a slave port to emulators/wine(-devel). The master port >>> needed >>> to be modified (already done): >>> - to conditionally set USE_LDCONFIG (if USE_LDCONFIG32 was not set) >>> - to allow the library directory to be changed (see WINELIBDIR) >>> - to allow configure arguments to be appended >>> ## Port Targets >>> The port itself does the following in the preamble: >>> - specifies the pkg(de)install script to handle nVidia driver patching >>> - overrides ACTUAL-PACKAGE-DEPENDS (all depends are bundled with the >>> port) >>> - defined the library directory to ${PREFIX}/lib32 >>> - defined the binary directory to ${PREFIX}/bin32 >>> - patches the PLIST to refer to lib32 (not lib) >>> - defined USE_LDCONFIG32 appropriately >>> The post-install-script target: >>> - Installs the files/binbounce file in ${PREFIX}/bin for each >>> ${PREFIX}/bin32 >>> file (hard linked) >>> - Finds all linked library, copies them to ${PREFIX}/lib32, and added >>> them to >>> the plist >>> - Finds all dlopen'ed libraries, copies them to ${PREFIX}/lib32, and >>> added >>> them to the plist >>> - Installs the nVidia patch file >>> - Run the (PRE-|POST-)INSTALL script >>> The post-package-script (run only if WITH_PKGNG is defined): >>> - Amends the package so the arch label to 64bit >>> ## Port scripts (in files/) >>> The binbounce file does the following to transparently fix the >>> environment to >>> allow seamless running of the wine programs: >>> - determines the location of the TARGET (follows symbolic links to >>> itself) >>> - fixes LD_LIBRARY_PATH if in an i386 environment (so lib32, lib32/wine >>> is >>> found) >>> - fixes LD_32_LIBRARY_PATH if in an amd64 environment (so lib32, >>> lib32/wine, >>> /usr/lib32) >>> - fixes PATH (so bin32 is found) >>> - passes execution to the counterpart in bin32 >>> The patch-nvidia.sh file does the following: >>> - Downloads the nVidia distfile for i386 (iff nVidia amd64 driver is >>> installed) >>> - Installs the required libraries into ${PREFIX}/lib32 >>> - When run from the install script it does _not_ download the distfile, >>> only >>> installs the libraries iff the distfiles are already downloaded. >>> # Shortcomings of the port >>> The following are shortcomings that I am aware of: >>> - Can only be compiled in an i386 environment, but the resulting >>> package is >>> *intended* for amd64 (although works fine in an i386 environment) >>> - If, somehow, there is a recursive calling of wine programs then >>> LD_(32_)LIBRARY_PATH and PATH will continue to grow with every iteration. >>> - The pkgng ports cannot be installed in an i386 environment as they >>> are >>> labelled for amd64. >>> # Testing >>> The ports published on mediafire have been tested by many users. The >>> port >>> itself works flawlessly however there have been some reports about some >>> flaws >>> in the 32-bit compatibility layer of the kernel (although I cannot >>> remember >>> the specifics now). >>> To produce the package on an amd64 system do the following: >>> # (cd /usr/ports/emulators/; patch -p0 < /path/to/diff) >>> # make -C /usr/src world DESTDIR=/i386 TARGET=i386 >>> # mount -t devfs devfs /i386/dev >>> # mkdir /i386/usr/ports >>> # mount -t nullfs /usr/ports /i386/usr/ports >>> # chroot make -C /usr/ports/emulators/wine-fbsd64 package WITH_PKGNG=yes >>> The package wine-fbsd64-1.5.16,1.txz (in pkgng format) will be available >>> from >>> /usr/ports/packages/All/ >>> # Conclusion >>> "It is based completely off the main port and uses the hack to, >>> effectively, use static linking (or bundling of libraries). In a >>> sense it is a complete, yet quite stable and encompassing, hack. " >>> - David ;-) >> >> It would be nice to have wine-fbsd64 as a port, but that might >> unfortunately >> deprive the user of certain flexibility. >> >> Also, nVidia support should be an option, since users with other graphics >> cards might have no use for it. >> >> I would really prefer to build the i386 FreeBSD system as a separate part, >> including kernel, >> since some users, myself included, might want to run an actual FreeBSD >> i386, >> especially on an older computer. So one could build this FreeBSD i386 on >> a >> USB stick or USB hard drive, and then be able to run wine on an i386 >> system. >> >> Would wine-fbsd64 be a separate port, or would it be wine built on i386, >> as >> the page http://wiki.freebsd.org/Wine suggests? It would be nice to be >> able >> to run Wine on i386 as well as amd64. >> >> >> Tom >> _______________________________________________ >> freebsd-ports@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-ports >> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" >> > > > -- > Patrick Powell Astart Technologies > papowell@astart.com 1530 Jamacha Road, Suite X, > Network and System El Cajon, CA 92019 > Consulting 858-874-6543 > Web Site: www.astart.com > > > _______________________________________________ > freebsd-ports@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" >