* [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: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 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 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 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 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 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 宋文武
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 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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.