unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add Wine.
@ 2014-11-15 14:41 宋文武
  2014-11-15 14:45 ` John Darrington
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: 宋文武 @ 2014-11-15 14:41 UTC (permalink / raw)
  To: guix-devel; +Cc: 宋文武

* gnu/packages/wine.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am         |   1 +
 gnu/packages/wine.scm | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 136 insertions(+)
 create mode 100644 gnu/packages/wine.scm

diff --git a/gnu-system.am b/gnu-system.am
index 1af1aa5..f7c819d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -263,6 +263,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/weechat.scm			\
   gnu/packages/wget.scm				\
   gnu/packages/which.scm			\
+  gnu/packages/wine.scm				\
   gnu/packages/wordnet.scm			\
   gnu/packages/wv.scm				\
   gnu/packages/xfig.scm				\
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
new file mode 100644
index 0000000..a7bd963
--- /dev/null
+++ b/gnu/packages/wine.scm
@@ -0,0 +1,135 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages wine)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages openldap)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages mp3)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages photo)
+  #:use-module (gnu packages samba)
+  #:use-module (gnu packages scanner)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
+
+(define-public wine
+  (package
+    (name "wine")
+    (version "1.7.31")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/wine/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "14747ihmyanxvv8mnrafbj3l6807h7zf1gcwidgm1f7s7g5n4viw"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "Make.vars.in"
+                              (("/bin/sh") "@SHELL@")))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("gettext" ,gnu-gettext)
+                     ("flex" ,flex)
+                     ("bison" ,bison)
+                     ("perl" ,perl)
+                     ("xorg-server" ,xorg-server)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("dbus" ,dbus)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("gnutls" ,gnutls)
+       ("lcms" ,lcms)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("libgphoto2" ,libgphoto2)
+       ("libmpg123" ,mpg123)
+       ("libldap" ,openldap)
+;       ("libnetapi" ,samba) ; too big
+       ("libsane" ,sane-backends)
+       ("libpng" ,libpng)
+       ("libjpeg" ,libjpeg)
+       ("libtiff" ,libtiff)
+       ("libICE" ,libice)
+       ("libX11" ,libx11)
+       ("libXi" ,libxi)
+       ("libXext" ,libxext)
+       ("libXcursor" ,libxcursor)
+       ("libXrender" ,libxrender)
+       ("libXrandr" ,libxrandr)
+       ("libXinerama" ,libxinerama)
+       ("libXxf86vm" ,libxxf86vm)
+       ("libXcomposite" ,libxcomposite)
+       ("compositeproto" ,compositeproto)
+       ("mesa" ,mesa)
+       ("ncurses" ,ncurses)
+       ("unixodbc" ,unixodbc)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:system "i686-linux"
+       #:tests? #t ; failed
+       #:phases
+       (alist-cons-after
+        'configure 'patch-dlopen-paths
+        ;; Hardcode dlopened sonames to absolute paths.
+        (lambda _
+          (let* ((library-path (search-path-as-string->list
+                                (getenv "LIBRARY_PATH")))
+                 (find-so (lambda (soname)
+                            (search-path library-path soname))))
+            (substitute* "include/config.h"
+              (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
+               (format #f "~a\"~a\"" defso (find-so soname))))))
+        (alist-cons-before
+         'check 'pre-check
+         (lambda (#:key inputs #:allow-other-key)
+           (let ((xorg-server (assoc-ref inputs "xorg-server")))
+             (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
+             (setenv "DISPLAY" ":1")
+             (setenv "HOME" (getenv "TMPDIR"))))
+         %standard-phases))))
+    (home-page "http://www.winehq.org/")
+    (synopsis "Implementation of the Windows API")
+    (description
+     "Wine (originally an acronym for \"Wine Is Not an Emulator\") is a
+compatibility layer capable of running Windows applications on several
+POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD.  Instead of
+simulating internal Windows logic like a virtual machine or emulator, Wine
+translates Windows API calls into POSIX calls on-the-fly, eliminating the
+performance and memory penalties of other methods and allowing you to cleanly
+integrate Windows applications into your desktop.")
+    (license license:lgpl2.1+)))
-- 
1.9.2

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 14:41 [PATCH] gnu: Add Wine 宋文武
@ 2014-11-15 14:45 ` John Darrington
  2014-11-15 15:05   ` Bruno Félix Rezende Ribeiro
  2014-11-15 15:10   ` 宋文武
  2014-11-15 15:02 ` 宋文武
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 17+ messages in thread
From: John Darrington @ 2014-11-15 14:45 UTC (permalink / raw)
  To: ?????????; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

On Sat, Nov 15, 2014 at 10:41:19PM +0800, ????????? wrote:

     +     "Wine (originally an acronym for \"Wine Is Not an Emulator\") is a
     +compatibility layer capable of running Windows applications on several
     +POSIX-compliant operating systems, such as Linux, 

	"Linux" is not an operating system.

J'

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 14:41 [PATCH] gnu: Add Wine 宋文武
  2014-11-15 14:45 ` John Darrington
@ 2014-11-15 15:02 ` 宋文武
  2014-11-15 18:15   ` Ludovic Courtès
  2014-11-15 16:39 ` 宋文武
  2014-11-15 18:21 ` Ludovic Courtès
  3 siblings, 1 reply; 17+ messages in thread
From: 宋文武 @ 2014-11-15 15:02 UTC (permalink / raw)
  To: guix-devel

I have once reached at 'check phase without X, and failed.
Now more inputs (samba, openldap, xorg-server) are added,
And I just find that my network is too slow..

So, I hope someone could pick it up :)


I'm not familiar with 64bit wine(not needed IMO) and cross-build in Guix,
but just set #:system to "i686-linux" seem to work on my x86_64 machine.

compositeproto should be propagated by libxcomposite.

freetype should be propagated by fontconfig?

libxml2 should be propagated by libxslt?

cups, openal, osmesa, and gstreamer are not enabled.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 14:45 ` John Darrington
@ 2014-11-15 15:05   ` Bruno Félix Rezende Ribeiro
  2014-11-15 15:48     ` John Darrington
  2014-11-15 15:10   ` 宋文武
  1 sibling, 1 reply; 17+ messages in thread
From: Bruno Félix Rezende Ribeiro @ 2014-11-15 15:05 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, ?????????

[-- Attachment #1: Type: text/plain, Size: 988 bytes --]

Em Sat, 15 Nov 2014 15:45:01 +0100
John Darrington <john@darrington.wattle.id.au> escreveu:

> On Sat, Nov 15, 2014 at 10:41:19PM +0800, ????????? wrote:
> 
>      +     "Wine (originally an acronym for \"Wine Is Not an
> Emulator\") is a +compatibility layer capable of running Windows
> applications on several +POSIX-compliant operating systems, such as
> Linux, 
> 
> 	"Linux" is not an operating system.

On the other hand, GNU can be regarded as a POSIX-compliant operating
system.

By the way, what's the Guix packaging policy about "GNU" vs "GNU+Linux"
vs "GNU+Linux-libre" vs "Linux" nomenclature in package descriptions?

Exceptional cases aside, I think the healthiest way is to make every
reference go to "GNU" alone.

-- 
 ,= ,-_-. =.  Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
((_/)o o(\_)) There is no system but GNU;
 `-'(. .)`-'  GNU Linux-Libre is one of its official kernels;
     \_/      All software must be free as in freedom;

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 14:45 ` John Darrington
  2014-11-15 15:05   ` Bruno Félix Rezende Ribeiro
@ 2014-11-15 15:10   ` 宋文武
  1 sibling, 0 replies; 17+ messages in thread
From: 宋文武 @ 2014-11-15 15:10 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <john@darrington.wattle.id.au> writes:

> On Sat, Nov 15, 2014 at 10:41:19PM +0800, ????????? wrote:
>
>      +     "Wine (originally an acronym for \"Wine Is Not an Emulator\") is a
>      +compatibility layer capable of running Windows applications on several
>      +POSIX-compliant operating systems, such as Linux, 
>
> 	"Linux" is not an operating system.
Oh, I copy it from https://www.winehq.org/about/

Feel free to modify the sypopsis/description.

Thanks.
>
> J'
>
> -- 
> PGP Public key ID: 1024D/2DE827B3 
> fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
> See http://sks-keyservers.net or any PGP keyserver for public key.
>
> [attachment]
>
> signature.asc
> download: http://u.163.com/t/5wwWGG
>
> preview: http://u.163.com/t/HLNK7c

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 15:05   ` Bruno Félix Rezende Ribeiro
@ 2014-11-15 15:48     ` John Darrington
  2014-11-15 16:47       ` Bruno Félix Rezende Ribeiro
  0 siblings, 1 reply; 17+ messages in thread
From: John Darrington @ 2014-11-15 15:48 UTC (permalink / raw)
  To: Bruno F??lix Rezende Ribeiro; +Cc: guix-devel, ?????????

[-- Attachment #1: Type: text/plain, Size: 990 bytes --]

On Sat, Nov 15, 2014 at 01:05:58PM -0200, Bruno F??lix Rezende Ribeiro wrote:
     Em Sat, 15 Nov 2014 15:45:01 +0100
     John Darrington <john@darrington.wattle.id.au> escreveu:
     
     > On Sat, Nov 15, 2014 at 10:41:19PM +0800, ????????? wrote:
     > 
     >      +     "Wine (originally an acronym for \"Wine Is Not an
     > Emulator\") is a +compatibility layer capable of running Windows
     > applications on several +POSIX-compliant operating systems, such as
     > Linux, 
     > 
     > 	"Linux" is not an operating system.
     
     On the other hand, GNU can be regarded as a POSIX-compliant operating
     system.
     

As I understand it, it only even comes close, if the POSIXLY_CORRECT environment variable
is set.  Even then there are some differences.

J'




-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 14:41 [PATCH] gnu: Add Wine 宋文武
  2014-11-15 14:45 ` John Darrington
  2014-11-15 15:02 ` 宋文武
@ 2014-11-15 16:39 ` 宋文武
  2014-11-15 18:21 ` Ludovic Courtès
  3 siblings, 0 replies; 17+ messages in thread
From: 宋文武 @ 2014-11-15 16:39 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 35 bytes --]

Oh, sorry, this one should build.


[-- Attachment #2: 0001-gnu-Add-Wine.patch --]
[-- Type: text/x-patch, Size: 6555 bytes --]

From 93723829109c48db430eb28c3e5b9d7a301a7c1d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
Date: Sat, 15 Nov 2014 21:02:30 +0800
Subject: [PATCH] gnu: Add Wine.

* gnu/packages/wine.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am         |   1 +
 gnu/packages/wine.scm | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 136 insertions(+)
 create mode 100644 gnu/packages/wine.scm

diff --git a/gnu-system.am b/gnu-system.am
index 1af1aa5..f7c819d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -263,6 +263,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/weechat.scm			\
   gnu/packages/wget.scm				\
   gnu/packages/which.scm			\
+  gnu/packages/wine.scm				\
   gnu/packages/wordnet.scm			\
   gnu/packages/wv.scm				\
   gnu/packages/xfig.scm				\
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
new file mode 100644
index 0000000..1c8b6c5
--- /dev/null
+++ b/gnu/packages/wine.scm
@@ -0,0 +1,135 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages wine)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages openldap)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages mp3)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages photo)
+  #:use-module (gnu packages samba)
+  #:use-module (gnu packages scanner)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
+
+(define-public wine
+  (package
+    (name "wine")
+    (version "1.7.31")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/wine/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "14747ihmyanxvv8mnrafbj3l6807h7zf1gcwidgm1f7s7g5n4viw"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "Make.vars.in"
+                              (("/bin/sh") "@SHELL@")))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("gettext" ,gnu-gettext)
+                     ("flex" ,flex)
+                     ("bison" ,bison)
+                     ("perl" ,perl)
+                     ("xorg-server" ,xorg-server)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("dbus" ,dbus)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("gnutls" ,gnutls)
+       ("lcms" ,lcms)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("libgphoto2" ,libgphoto2)
+       ("libmpg123" ,mpg123)
+       ("libldap" ,openldap)
+;       ("libnetapi" ,samba) ; too big
+       ("libsane" ,sane-backends)
+       ("libpng" ,libpng)
+       ("libjpeg" ,libjpeg)
+       ("libtiff" ,libtiff)
+       ("libICE" ,libice)
+       ("libX11" ,libx11)
+       ("libXi" ,libxi)
+       ("libXext" ,libxext)
+       ("libXcursor" ,libxcursor)
+       ("libXrender" ,libxrender)
+       ("libXrandr" ,libxrandr)
+       ("libXinerama" ,libxinerama)
+       ("libXxf86vm" ,libxxf86vm)
+       ("libXcomposite" ,libxcomposite)
+       ("compositeproto" ,compositeproto)
+       ("mesa" ,mesa)
+       ("ncurses" ,ncurses)
+       ("unixodbc" ,unixodbc)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:system "i686-linux"
+       #:tests? #t ; failed
+       #:phases
+       (alist-cons-after
+        'configure 'patch-dlopen-paths
+        ;; Hardcode dlopened sonames to absolute paths.
+        (lambda _
+          (let* ((library-path (search-path-as-string->list
+                                (getenv "LIBRARY_PATH")))
+                 (find-so (lambda (soname)
+                            (search-path library-path soname))))
+            (substitute* "include/config.h"
+              (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
+               (format #f "~a\"~a\"" defso (find-so soname))))))
+        (alist-cons-before
+         'check 'pre-check
+         (lambda* (#:key inputs #:allow-other-keys)
+           (let ((xorg-server (assoc-ref inputs "xorg-server")))
+             (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
+             (setenv "DISPLAY" ":1")
+             (setenv "HOME" (getenv "TMPDIR"))))
+         %standard-phases))))
+    (home-page "http://www.winehq.org/")
+    (synopsis "Implementation of the Windows API")
+    (description
+     "Wine (originally an acronym for \"Wine Is Not an Emulator\") is a
+compatibility layer capable of running Windows applications on several
+POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD.  Instead of
+simulating internal Windows logic like a virtual machine or emulator, Wine
+translates Windows API calls into POSIX calls on-the-fly, eliminating the
+performance and memory penalties of other methods and allowing you to cleanly
+integrate Windows applications into your desktop.")
+    (license license:lgpl2.1+)))
-- 
1.9.2


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 15:48     ` John Darrington
@ 2014-11-15 16:47       ` Bruno Félix Rezende Ribeiro
  2014-11-15 17:01         ` John Darrington
  0 siblings, 1 reply; 17+ messages in thread
From: Bruno Félix Rezende Ribeiro @ 2014-11-15 16:47 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, ?????????

Em Sat, 15 Nov 2014 16:48:15 +0100
John Darrington <john@darrington.wattle.id.au> escreveu:

> As I understand it, it only even comes close, if the POSIXLY_CORRECT
> environment variable is set.  Even then there are some differences.

I think you are right.  However, they often use "POSIX-compliant"
loosely. Something that would be better described as "POSIX-like" or
"almost POSIX-compliant for our practical needs", or even

"Unix-like-like-the-one-we-used-to-build-and-run-our-code-successfully".

Absolute and strict compliance to a given standard, with almost
mathematical certainty, is something rather theoretical.  I'm not an
expert, but I think that, even without 'POSIXLY_CORRECT' set, GNU
is a quite good "POSIX-compliant" OS in the vulgar sense, given that it
satisfies the majority of programs intended to run under
"POSIX-compliant" operating systems.  And, IMHO, that's what they
usually mean.

-- 
 ,= ,-_-. =.  Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
((_/)o o(\_)) There is no system but GNU;
 `-'(. .)`-'  GNU Linux-Libre is one of its official kernels;
     \_/      All software must be free as in freedom;

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 16:47       ` Bruno Félix Rezende Ribeiro
@ 2014-11-15 17:01         ` John Darrington
  0 siblings, 0 replies; 17+ messages in thread
From: John Darrington @ 2014-11-15 17:01 UTC (permalink / raw)
  To: Bruno F??lix Rezende Ribeiro; +Cc: guix-devel, ?????????

[-- Attachment #1: Type: text/plain, Size: 1619 bytes --]

I think you are right.  POSIX-like would be a better word.

J'

On Sat, Nov 15, 2014 at 02:47:15PM -0200, Bruno F??lix Rezende Ribeiro wrote:
     Em Sat, 15 Nov 2014 16:48:15 +0100
     John Darrington <john@darrington.wattle.id.au> escreveu:
     
     > As I understand it, it only even comes close, if the POSIXLY_CORRECT
     > environment variable is set.  Even then there are some differences.
     
     I think you are right.  However, they often use "POSIX-compliant"
     loosely. Something that would be better described as "POSIX-like" or
     "almost POSIX-compliant for our practical needs", or even
     
     "Unix-like-like-the-one-we-used-to-build-and-run-our-code-successfully".
     
     Absolute and strict compliance to a given standard, with almost
     mathematical certainty, is something rather theoretical.  I'm not an
     expert, but I think that, even without 'POSIXLY_CORRECT' set, GNU
     is a quite good "POSIX-compliant" OS in the vulgar sense, given that it
     satisfies the majority of programs intended to run under
     "POSIX-compliant" operating systems.  And, IMHO, that's what they
     usually mean.
     
     -- 
      ,= ,-_-. =.  Bruno F??lix Rezende Ribeiro (oitofelix) [0x28D618AF]
     ((_/)o o(\_)) There is no system but GNU;
      `-'(. .)`-'  GNU Linux-Libre is one of its official kernels;
          \_/      All software must be free as in freedom;

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 15:02 ` 宋文武
@ 2014-11-15 18:15   ` Ludovic Courtès
  0 siblings, 0 replies; 17+ messages in thread
From: Ludovic Courtès @ 2014-11-15 18:15 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

宋文武 <iyzsong@gmail.com> skribis:

> I have once reached at 'check phase without X, and failed.
> Now more inputs (samba, openldap, xorg-server) are added,
> And I just find that my network is too slow..
>
> So, I hope someone could pick it up :)

[...]

> Oh, sorry, this one should build.

I’m confused.  Does it work (build and run) or not?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 14:41 [PATCH] gnu: Add Wine 宋文武
                   ` (2 preceding siblings ...)
  2014-11-15 16:39 ` 宋文武
@ 2014-11-15 18:21 ` Ludovic Courtès
  2014-11-16  3:00   ` 宋文武
  3 siblings, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2014-11-15 18:21 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

宋文武 <iyzsong@gmail.com> skribis:

> +               '(substitute* "Make.vars.in"
> +                              (("/bin/sh") "@SHELL@")))))

Indent second line under the ‘u’ (see examples in other files.)

> +    (description
> +     "Wine (originally an acronym for \"Wine Is Not an Emulator\") is a
> +compatibility layer capable of running Windows applications on several
> +POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD.  Instead of

Please just remove “on several POSIX-compliant operating systems, such
as Linux, Mac OSX, & BSD”.  (In addition to what John noted, that it
runs on other OSes is not relevant for Guix users.)

I was wondering whether it made sense to include Wine at all in the
distribution.  But I know that it’s used notably by free software
developers who test for portability (Simon Joseffson mentioned using it
notably, see <http://josefsson.org/gnutls4win/README.html>), so that’s
one reason.

Ludo’.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-15 18:21 ` Ludovic Courtès
@ 2014-11-16  3:00   ` 宋文武
  2014-11-16 17:27     ` Ludovic Courtès
  2014-11-18 21:32     ` Ludovic Courtès
  0 siblings, 2 replies; 17+ messages in thread
From: 宋文武 @ 2014-11-16  3:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1147 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> 宋文武 <iyzsong@gmail.com> skribis:
>
>> +               '(substitute* "Make.vars.in"
>> +                              (("/bin/sh") "@SHELL@")))))
>
> Indent second line under the ‘u’ (see examples in other files.)
>
>> +    (description
>> +     "Wine (originally an acronym for \"Wine Is Not an Emulator\") is a
>> +compatibility layer capable of running Windows applications on several
>> +POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD.  Instead of
>
> Please just remove “on several POSIX-compliant operating systems, such
> as Linux, Mac OSX, & BSD”.  (In addition to what John noted, that it
> runs on other OSes is not relevant for Guix users.)
>
> I was wondering whether it made sense to include Wine at all in the
> distribution.  But I know that it’s used notably by free software
> developers who test for portability (Simon Joseffson mentioned using it
> notably, see <http://josefsson.org/gnutls4win/README.html>), so that’s
> one reason.

Ok, adjusted, thanks for reviewing.
I can't get tests working, so leave them disabled.


[-- Attachment #2: 0001-gnu-Add-Wine.patch --]
[-- Type: text/x-patch, Size: 6055 bytes --]

From ff676fcd6a5086b700186751c0745e08769dbd4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
Date: Sat, 15 Nov 2014 21:02:30 +0800
Subject: [PATCH] gnu: Add Wine.

* gnu/packages/wine.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am         |   1 +
 gnu/packages/wine.scm | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 127 insertions(+)
 create mode 100644 gnu/packages/wine.scm

diff --git a/gnu-system.am b/gnu-system.am
index 1af1aa5..f7c819d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -263,6 +263,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/weechat.scm			\
   gnu/packages/wget.scm				\
   gnu/packages/which.scm			\
+  gnu/packages/wine.scm				\
   gnu/packages/wordnet.scm			\
   gnu/packages/wv.scm				\
   gnu/packages/xfig.scm				\
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
new file mode 100644
index 0000000..2671a73
--- /dev/null
+++ b/gnu/packages/wine.scm
@@ -0,0 +1,126 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages wine)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages openldap)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages mp3)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages photo)
+  #:use-module (gnu packages samba)
+  #:use-module (gnu packages scanner)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg))
+
+(define-public wine
+  (package
+    (name "wine")
+    (version "1.7.31")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/wine/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "14747ihmyanxvv8mnrafbj3l6807h7zf1gcwidgm1f7s7g5n4viw"))
+              (modules '((guix build utils)))
+              (snippet
+               '(substitute* "Make.vars.in"
+                  (("/bin/sh") "@SHELL@")))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)
+                     ("gettext" ,gnu-gettext)
+                     ("flex" ,flex)
+                     ("bison" ,bison)
+                     ("perl" ,perl)))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("dbus" ,dbus)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("gnutls" ,gnutls)
+       ("lcms" ,lcms)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)
+       ("libgphoto2" ,libgphoto2)
+       ("libmpg123" ,mpg123)
+       ("libldap" ,openldap)
+       ("libnetapi" ,samba)
+       ("libsane" ,sane-backends)
+       ("libpng" ,libpng)
+       ("libjpeg" ,libjpeg)
+       ("libtiff" ,libtiff)
+       ("libICE" ,libice)
+       ("libX11" ,libx11)
+       ("libXi" ,libxi)
+       ("libXext" ,libxext)
+       ("libXcursor" ,libxcursor)
+       ("libXrender" ,libxrender)
+       ("libXrandr" ,libxrandr)
+       ("libXinerama" ,libxinerama)
+       ("libXxf86vm" ,libxxf86vm)
+       ("libXcomposite" ,libxcomposite)
+       ("compositeproto" ,compositeproto)
+       ("mesa" ,mesa)
+       ("ncurses" ,ncurses)
+       ("unixodbc" ,unixodbc)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:system "i686-linux"
+       #:tests? #f
+       #:phases
+       (alist-cons-after
+        'configure 'patch-dlopen-paths
+        ;; Hardcode dlopened sonames to absolute paths.
+        (lambda _
+          (let* ((library-path (search-path-as-string->list
+                                (getenv "LIBRARY_PATH")))
+                 (find-so (lambda (soname)
+                            (search-path library-path soname))))
+            (substitute* "include/config.h"
+              (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
+               (format #f "~a\"~a\"" defso (find-so soname))))))
+        %standard-phases)))
+    (home-page "http://www.winehq.org/")
+    (synopsis "Implementation of the Windows API")
+    (description
+     "Wine (originally an acronym for \"Wine Is Not an Emulator\") is a
+compatibility layer capable of running Windows applications.  Instead of
+simulating internal Windows logic like a virtual machine or emulator, Wine
+translates Windows API calls into POSIX calls on-the-fly, eliminating the
+performance and memory penalties of other methods and allowing you to cleanly
+integrate Windows applications into your desktop.")
+    (license license:lgpl2.1+)))
-- 
1.9.2


[-- Attachment #3: Type: text/plain, Size: 17 bytes --]


>
> Ludo’.

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-16  3:00   ` 宋文武
@ 2014-11-16 17:27     ` Ludovic Courtès
  2014-11-17 12:34       ` 宋文武
  2014-11-18 21:32     ` Ludovic Courtès
  1 sibling, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2014-11-16 17:27 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

宋文武 <iyzsong@gmail.com> skribis:

> I can't get tests working, so leave them disabled.

It’s OK to do that so we can move forward, but please leave a comment
that explains the situation, above #:tests? #f.  The goal remains to
have tests running, eventually.

> +    (arguments
> +     `(#:system "i686-linux"

No, that’s not possible.  :-)
People should be able to use Wine regardless of their platform.

What is the reason behind it?

If some platforms are inherently not supported by Wine, then please add
a ‘supported-platforms’ field (there are examples in other files.)

The rest looks good to me.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-16 17:27     ` Ludovic Courtès
@ 2014-11-17 12:34       ` 宋文武
  2014-11-17 13:30         ` Ludovic Courtès
  0 siblings, 1 reply; 17+ messages in thread
From: 宋文武 @ 2014-11-17 12:34 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès <ludo@gnu.org> writes:

> 宋文武 <iyzsong@gmail.com> skribis:
>
>> I can't get tests working, so leave them disabled.
>
> It’s OK to do that so we can move forward, but please leave a comment
> that explains the situation, above #:tests? #f.  The goal remains to
> have tests running, eventually.
By run it manually, it seem to me that many tests of wine are known to failed.
>
>> +    (arguments
>> +     `(#:system "i686-linux"
>
> No, that’s not possible.  :-)
> People should be able to use Wine regardless of their platform.
>
> What is the reason behind it?
The goal is to have 32bit version wine for x86_64-linux.
IMO, it's what most people want: to run 32bit windows applications.

Yeah, for pure 64bit system `x86_64-linux', we can add wine64, which can run
64bit windows applications.

I have not try `mips64el-linux', but it sound mostly not working to me.
>
> If some platforms are inherently not supported by Wine, then please add
> a ‘supported-platforms’ field (there are examples in other files.)
By set #:system to `i686-linux', I assume it's same as:
  `(supported-systems '("i686-linux" "x86_64-linux"))'
>
> The rest looks good to me.
>
> Thanks,
> Ludo’.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-17 12:34       ` 宋文武
@ 2014-11-17 13:30         ` Ludovic Courtès
  0 siblings, 0 replies; 17+ messages in thread
From: Ludovic Courtès @ 2014-11-17 13:30 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

宋文武 <iyzsong@gmail.com> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> 宋文武 <iyzsong@gmail.com> skribis:
>>
>>> I can't get tests working, so leave them disabled.
>>
>> It’s OK to do that so we can move forward, but please leave a comment
>> that explains the situation, above #:tests? #f.  The goal remains to
>> have tests running, eventually.
> By run it manually, it seem to me that many tests of wine are known to failed.

OK, well leave this as a comment.

>>> +    (arguments
>>> +     `(#:system "i686-linux"
>>
>> No, that’s not possible.  :-)
>> People should be able to use Wine regardless of their platform.
>>
>> What is the reason behind it?
> The goal is to have 32bit version wine for x86_64-linux.
> IMO, it's what most people want: to run 32bit windows applications.
>
> Yeah, for pure 64bit system `x86_64-linux', we can add wine64, which can run
> 64bit windows applications.

But can’t the 64-bit Wine run 32-bit Windows applications?  Is there any
loss of functionality by building it as x86_64 code?

> I have not try `mips64el-linux', but it sound mostly not working to me.

Yeah it probably doesn’t make much sense.

>> If some platforms are inherently not supported by Wine, then please add
>> a ‘supported-platforms’ field (there are examples in other files.)
> By set #:system to `i686-linux', I assunme it's same as:
>   `(supported-systems '("i686-linux" "x86_64-linux"))'

It’s not the same.  ‘supported-systems’ is required if we assume that
Wine only runs on Intel.  #:system is only needed if there’s a strong
reason to force i686 builds.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-16  3:00   ` 宋文武
  2014-11-16 17:27     ` Ludovic Courtès
@ 2014-11-18 21:32     ` Ludovic Courtès
  2014-11-19 11:38       ` 宋文武
  1 sibling, 1 reply; 17+ messages in thread
From: Ludovic Courtès @ 2014-11-18 21:32 UTC (permalink / raw)
  To: 宋文武; +Cc: guix-devel

宋文武 <iyzsong@gmail.com> skribis:

> From ff676fcd6a5086b700186751c0745e08769dbd4c Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
> Date: Sat, 15 Nov 2014 21:02:30 +0800
> Subject: [PATCH] gnu: Add Wine.
>
> * gnu/packages/wine.scm: New file.
> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.

In light of our discussion yesterday on #guix and in an effort to move
forward, I went ahead and pushed that commit, with an additional
‘supported-systems’ field and more comments.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH] gnu: Add Wine.
  2014-11-18 21:32     ` Ludovic Courtès
@ 2014-11-19 11:38       ` 宋文武
  0 siblings, 0 replies; 17+ messages in thread
From: 宋文武 @ 2014-11-19 11:38 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

Ludovic Courtès <ludo@gnu.org> writes:

> 宋文武 <iyzsong@gmail.com> skribis:
>
>> From ff676fcd6a5086b700186751c0745e08769dbd4c Mon Sep 17 00:00:00 2001
>> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com>
>> Date: Sat, 15 Nov 2014 21:02:30 +0800
>> Subject: [PATCH] gnu: Add Wine.
>>
>> * gnu/packages/wine.scm: New file.
>> * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
>
> In light of our discussion yesterday on #guix and in an effort to move
> forward, I went ahead and pushed that commit, with an additional
> ‘supported-systems’ field and more comments.
Thanks!
>
> Thanks,
> Ludo’.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2014-11-19 11:38 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-15 14:41 [PATCH] gnu: Add Wine 宋文武
2014-11-15 14:45 ` John Darrington
2014-11-15 15:05   ` Bruno Félix Rezende Ribeiro
2014-11-15 15:48     ` John Darrington
2014-11-15 16:47       ` Bruno Félix Rezende Ribeiro
2014-11-15 17:01         ` John Darrington
2014-11-15 15:10   ` 宋文武
2014-11-15 15:02 ` 宋文武
2014-11-15 18:15   ` Ludovic Courtès
2014-11-15 16:39 ` 宋文武
2014-11-15 18:21 ` Ludovic Courtès
2014-11-16  3:00   ` 宋文武
2014-11-16 17:27     ` Ludovic Courtès
2014-11-17 12:34       ` 宋文武
2014-11-17 13:30         ` Ludovic Courtès
2014-11-18 21:32     ` Ludovic Courtès
2014-11-19 11:38       ` 宋文武

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).