Ludovic Courtès <[email protected]> writes:

> 宋文武 <[email protected]> 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.

>From ff676fcd6a5086b700186751c0745e08769dbd4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <[email protected]>
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 <[email protected]>
+;;;
+;;; 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

>
> Ludo’.

Reply via email to