source: trunk/dports/x11/wine-devel/Portfile @ 142886

Last change on this file since 142886 was 142886, checked in by jeremyhu@…, 3 years ago

wine*: Address a potential build failure

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 9.8 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 142886 2015-11-26 05:11:08Z jeremyhu@macports.org $
3
4PortSystem                  1.0
5PortGroup                   archcheck 1.0
6PortGroup                   compiler_blacklist_versions 1.0
7
8# Please keep the wine, wine-devel and wine-crossover ports as similar as possible.
9
10# When updating the version of wine, update wine_gecko to a compatible version
11# per the table at http://wiki.winehq.org/Gecko and update wine-mono as well;
12# see http://wiki.winehq.org/Mono and http://sourceforge.net/projects/wine/files/Wine%20Mono/
13
14name                        wine-devel
15conflicts                   wine wine-crossover
16set my_name                 wine
17version                     1.8-rc1
18license                     LGPL-2.1+
19categories                  x11
20maintainers                 ryandesign jwa openmaintainer
21homepage                    http://www.winehq.org/
22platforms                   darwin
23use_bzip2                   yes
24distname                    ${my_name}-${version}
25dist_subdir                 ${my_name}
26set wine_distfile           ${distname}${extract.suffix}
27set wine_gecko_version      2.40
28set wine_gecko_distfile     wine_gecko-${wine_gecko_version}-x86.msi
29set wine_mono_version       4.5.6
30set wine_mono_distfile      wine-mono-${wine_mono_version}.msi
31build.target                depend all
32use_parallel_build          yes
33
34description                 Wine Is Not an Emulator
35
36long_description            Wine is an implementation of the Windows APIs on top of X11.
37
38master_sites                http://www.ibiblio.org/pub/linux/system/emulators/wine/:winesource \
39                            sourceforge:project/wine/Source/:winesource \
40                            sourceforge:project/wine/Wine%20Gecko/${wine_gecko_version}/:winegecko \
41                            sourceforge:project/wine/Wine%20Mono/${wine_mono_version}/:winemono
42
43extract.only                ${wine_distfile}
44
45distfiles                   ${wine_distfile}:winesource \
46                            ${wine_gecko_distfile}:winegecko \
47                            ${wine_mono_distfile}:winemono
48
49checksums                   ${wine_distfile} \
50                            rmd160  08f10db27f4471f59df49f9903a0945bdcd48c5a \
51                            sha256  3b4684f62718db4348fbf022c6fd76b38587ce8aadadb633d9afecc90c0e1bf8 \
52                            ${wine_gecko_distfile} \
53                            rmd160  2b0e0b6c5cd7579579a27bf179f98b7a76f4f43c \
54                            sha256  1a29d17435a52b7663cea6f30a0771f74097962b07031947719bb7b46057d302 \
55                            ${wine_mono_distfile} \
56                            rmd160  440a0839e6067eb02b778cbb461606a7d498897b \
57                            sha256  ac681f737f83742d786706529eb85f4bc8d6bdddd8dcdfa9e2e336b71973bc25
58
59# Note: Most of the X11 libs are dlopen()'d
60depends_lib                 port:expat \
61                            port:fontconfig \
62                            port:freetype \
63                            port:gstreamer010 \
64                            port:gstreamer010-gst-plugins-base \
65                            port:jpeg \
66                            port:lcms2 \
67                            port:libiconv \
68                            port:libpng \
69                            port:libxml2 \
70                            port:libxslt \
71                            port:ncurses \
72                            port:gnutls \
73                            port:tiff \
74                            port:zlib \
75                            port:xorg-libsm \
76                            port:xorg-libXcomposite \
77                            port:xorg-libXcursor \
78                            port:xorg-libXi \
79                            port:xorg-libXinerama \
80                            port:xorg-libXrandr \
81                            port:xorg-libXxf86vm \
82                            port:xrender \
83                            port:libGLU \
84                            port:mesa
85
86archcheck.files             lib/libexpat.dylib \
87                            lib/libfontconfig.dylib \
88                            lib/libfreetype.dylib \
89                            lib/libjpeg.dylib \
90                            lib/liblcms2.dylib \
91                            lib/libiconv.dylib \
92                            lib/libpng.dylib \
93                            lib/libxml2.dylib \
94                            lib/libxslt.dylib \
95                            lib/libncurses.dylib \
96                            lib/libgnutls.dylib \
97                            lib/libtiff.dylib \
98                            lib/libz.dylib \
99                            lib/libSM.dylib \
100                            lib/libXcomposite.dylib \
101                            lib/libXcursor.dylib \
102                            lib/libXi.dylib \
103                            lib/libXinerama.dylib \
104                            lib/libXrandr.dylib \
105                            lib/libXxf86vm.dylib \
106                            lib/libXrender.dylib \
107                            lib/libGLU.dylib \
108                            lib/libGL.dylib
109
110depends_build               port:bison \
111                            port:flex \
112                            port:pkgconfig
113
114patchfiles                  BOOL.patch \
115                            mach_machine.patch \
116                            kVK_RightCommand_macro.patch \
117                            tiger-shell.patch
118
119# Wine requires the program specified in INSTALL to create intermediate
120# directories; /usr/bin/install doesn't.
121# http://bugs.winehq.org/show_bug.cgi?id=35310
122configure.install           ${worksrcpath}/tools/install-sh
123
124configure.ldflags-append    -framework CoreServices \
125                            -lz
126
127configure.args              --without-alsa \
128                            --without-capi \
129                            --with-cms \
130                            --with-coreaudio \
131                            --with-cups \
132                            --with-curses \
133                            --with-fontconfig \
134                            --with-freetype \
135                            --without-gphoto \
136                            --with-glu \
137                            --with-gnutls \
138                            --without-gsm \
139                            --without-hal \
140                            --with-jpeg \
141                            --without-ldap \
142                            --without-mpg123 \
143                            --without-openal \
144                            --with-opengl \
145                            --without-oss \
146                            --with-png \
147                            --with-pthread \
148                            --without-sane \
149                            --with-tiff \
150                            --without-v4l \
151                            --with-xcomposite \
152                            --with-xcursor \
153                            --with-xinerama \
154                            --with-xinput \
155                            --with-xml \
156                            --with-xrandr \
157                            --with-xrender \
158                            --with-xshape \
159                            --with-xslt \
160                            --with-xxf86vm \
161                            --with-x \
162                            --x-include=${prefix}/include \
163                            --x-lib=${prefix}/lib
164
165# 64-bit Wine exists for Linux, but does not work on OS X.
166# http://www.winehq.org/pipermail/wine-devel/2014-February/103074.html
167supported_archs             i386
168
169# llvm-gcc-4.2 doesn't respect force_align_arg_pointer; wine builds but fails to run
170# http://bugs.winehq.org/show_bug.cgi?id=28030
171compiler.blacklist-append   *llvm-gcc-4.2
172
173# clang < 3.1 fails to build wine with "error: invalid operand for instruction lretw"
174# http://bugs.winehq.org/show_bug.cgi?id=32872
175# clang < 3.2 have code generation problems:
176# http://llvm.org/bugs/show_bug.cgi?id=9707
177compiler.blacklist-append   {clang < 500}
178
179# FSF GCC cannot compile code using Apple's "blocks" language extensions
180compiler.blacklist-append   macports-gcc-*
181
182platform darwin {
183    if {${os.major} == 9} {
184        # Fix "Xcode 3.x cannot build 16-bit code correctly. Use --disable-win16 if you don't need 16-bit support."
185        # Only affects Xcode 3.0.x and 3.1.x, not 3.2.x.
186        # See http://bugs.winehq.org/show_bug.cgi?id=14920
187        configure.args-append --disable-win16
188    }
189
190    if {${os.major} >= 11} {
191        # Needed or wine will SIGBUS
192        configure.ldflags-append -Wl,-no_pie
193    }
194}
195
196pre-fetch {
197    if {${os.endian} eq "big"} {
198        ui_error "${name} can only be used on an Intel Mac or other computer with a little-endian processor."
199        return -code error "incompatible processor"
200    }
201
202    if {${os.platform} eq "darwin" && ${os.major} < 9} {
203        ui_error "${name} ${version} requires OS X 10.5 or greater."
204        return -code error "incompatible OS X version"
205    }
206}
207
208post-destroot {
209    xinstall -d ${destroot}${prefix}/libexec/wine
210    file rename ${destroot}${prefix}/bin/wine ${destroot}${prefix}/libexec/wine/wine
211
212    xinstall ${filespath}/wine.in ${destroot}${prefix}/bin/wine
213    reinplace s|@PREFIX@|${prefix}|g ${destroot}${prefix}/bin/wine
214
215    xinstall -d ${destroot}${prefix}/share/wine/gecko
216    xinstall -m 644 ${distpath}/${wine_gecko_distfile} ${destroot}${prefix}/share/wine/gecko
217
218    xinstall -d ${destroot}${prefix}/share/wine/mono
219    xinstall -m 644 ${distpath}/${wine_mono_distfile} ${destroot}${prefix}/share/wine/mono
220
221    set docdir ${prefix}/share/doc/${my_name}
222    xinstall -d ${destroot}${docdir}
223    xinstall -m 644 -W ${worksrcpath} \
224        ANNOUNCE \
225        AUTHORS \
226        COPYING.LIB \
227        LICENSE \
228        README \
229        ${destroot}${docdir}
230}
231
232livecheck.type              regex
233livecheck.regex             {"/announce/([0-9]+\.[0-9]*([13579]|[02468]-rc\d+)(\.[0-9]+)*)"}
Note: See TracBrowser for help on using the repository browser.