-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
21 changed files
with
2,247 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
PORTNAME= wine-proton | ||
DISTVERSION= 9.0-2 | ||
PORTREVISION= 0 | ||
CATEGORIES= emulators | ||
|
||
MAINTAINER= iwtcex@gmail.com | ||
COMMENT= Wine with a bit of extra spice | ||
WWW= https://github.com/ValveSoftware/wine | ||
|
||
LICENSE= LGPL21 LGPL3 | ||
LICENSE_COMB= dual | ||
LICENSE_FILE= ${WRKSRC}/LICENSE | ||
|
||
ONLY_FOR_ARCHS= amd64 i386 | ||
|
||
BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex \ | ||
${LOCALBASE}/include/linux/input.h:devel/evdev-proto | ||
|
||
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ | ||
libfreetype.so:print/freetype2 \ | ||
libgnutls.so:security/gnutls \ | ||
libvulkan.so:graphics/vulkan-loader | ||
|
||
# amd_ags_x64.so | ||
LIB_DEPENDS+= libdrm.so:graphics/libdrm \ | ||
libdrm_amdgpu.so:graphics/libdrm | ||
|
||
# winewayland.so | ||
LIB_DEPENDS+= libwayland-client.so:graphics/wayland \ | ||
libxkbcommon.so:x11/libxkbcommon \ | ||
libxkbregistry.so:x11/libxkbcommon | ||
|
||
USES= autoreconf bison desktop-file-utils gl gmake gnome gstreamer llvm:${_LLVM_VERSION},build localbase perl5 pkgconfig python:build sdl shebangfix tar:xz xorg | ||
USE_GCC= yes | ||
|
||
USE_GITHUB= yes | ||
GH_ACCOUNT= ValveSoftware | ||
GH_PROJECT= wine | ||
GH_TAGNAME= a030525189d082348d0015a71f969a12438b2639 | ||
|
||
USE_GL= gl | ||
USE_GNOME= glib20 | ||
USE_GSTREAMER= gl good mpeg2dec x264 # https://github.com/ValveSoftware/wine/commit/8cdd506d7e68c27cd564c317320bfc8d3a999eda | ||
USE_PERL5= build | ||
USE_SDL= sdl2 | ||
USE_XORG= x11 xext xcomposite xcursor xi xinerama xrandr xrender | ||
|
||
SHEBANG_FILES= tools/make_requests tools/winemaker/winemaker \ | ||
tools/winedump/function_grep.pl | ||
|
||
GNU_CONFIGURE= yes | ||
GNU_CONFIGURE_PREFIX= ${PREFIX}/${PORTNAME} | ||
|
||
CONFIGURE_ARGS= --verbose \ | ||
--enable-archs=${ARCH:S|amd64|x86_64|} \ | ||
--with-mingw CROSSCC="clang" CROSSCFLAGS="-isystem ${FILESDIR}/clang" \ | ||
--libdir=${PREFIX}/${PORTNAME}/lib \ | ||
--disable-kerberos \ | ||
--disable-tests \ | ||
--with-fontconfig \ | ||
--with-freetype \ | ||
--with-gnutls \ | ||
--with-gstreamer \ | ||
--with-opengl \ | ||
--with-oss \ | ||
--with-pthread \ | ||
--with-sdl \ | ||
--with-vulkan \ | ||
--with-wayland \ | ||
--with-x \ | ||
--with-xinerama \ | ||
--with-xinput2 \ | ||
--with-xrandr \ | ||
--with-xrender \ | ||
--without-alsa \ | ||
--without-capi \ | ||
--without-coreaudio \ | ||
--without-cups \ | ||
--without-dbus \ | ||
--without-gettext \ | ||
--without-gettextpo \ | ||
--without-gphoto \ | ||
--without-gssapi \ | ||
--without-inotify \ | ||
--without-krb5 \ | ||
--without-netapi \ | ||
--without-opencl \ | ||
--without-osmesa \ | ||
--without-pcap \ | ||
--without-pcsclite \ | ||
--without-sane \ | ||
--without-udev \ | ||
--without-unwind \ | ||
--without-usb \ | ||
--without-v4l2 | ||
|
||
CONFIGURE_ENV= CPPBIN="false" CPPFLAGS="" FLEX="${LOCALBASE}/bin/flex" JXRLIB_CFLAGS="-I${LOCALBASE}/include/jxrlib" | ||
|
||
CFLAGS+= -D__NR_futex="-1" -Werror=implicit-function-declaration | ||
CFLAGS_i386+= -mpreferred-stack-boundary=4 -mstackrealign | ||
PIE_UNSAFE= yes | ||
|
||
BINARY_ALIAS+= clang=${LOCALBASE}/bin/clang${_LLVM_VERSION} \ | ||
lld-link=${LOCALBASE}/bin/lld-link${_LLVM_VERSION} | ||
|
||
OPTIONS_DEFINE= PULSEAUDIO | ||
OPTIONS_DEFAULT=PULSEAUDIO | ||
OPTIONS_SUB= yes | ||
|
||
PULSEAUDIO_DESC= Build winepulse.drv | ||
|
||
PULSEAUDIO_BUILD_DEPENDS= ${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio | ||
PULSEAUDIO_CONFIGURE_ON= --with-pulse | ||
PULSEAUDIO_CONFIGURE_OFF= --without-pulse | ||
|
||
.include <bsd.port.pre.mk> | ||
|
||
.if ${LLVM_DEFAULT} == 11 | ||
_LLVM_VERSION= 15 | ||
.else | ||
_LLVM_VERSION= ${LLVM_DEFAULT} | ||
.endif | ||
|
||
.if ${ARCH} == amd64 | ||
PLIST_SUB+= WINE32="@comment " WINE64="" WINEARCH="x86_64" | ||
CONFIGURE_ARGS+=--enable-win64 | ||
.else | ||
PLIST_SUB+= WINE32="" WINE64="@comment " WINEARCH="i386" | ||
.endif | ||
|
||
post-patch: | ||
${REINPLACE_CMD} 's/CFLAGS="$$llvm_extra_cflags $$llvm_cflags"/CFLAGS="$$CROSSCFLAGS $$llvm_extra_cflags $$llvm_cflags"/g' ${WRKSRC}/configure.ac | ||
|
||
pre-configure: | ||
cd ${WRKSRC} && ${PYTHON_CMD} dlls/winevulkan/make_vulkan --xml vk.xml | ||
cd ${WRKSRC} && ${PERL5} tools/make_specfiles | ||
|
||
pre-build: | ||
cd ${WRKSRC} && ${MAKE_CMD} depend | ||
cd ${WRKSRC} && ${PERL5} tools/make_requests | ||
|
||
post-install: | ||
.if ${ARCH} == i386 | ||
${MV} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wineserver ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wineserver32 | ||
${MV} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine.bin | ||
-${ELFCTL} -e +noaslr ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine.bin | ||
${INSTALL_SCRIPT} ${FILESDIR}/wine.sh ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine | ||
.else | ||
${INSTALL_SCRIPT} ${FILESDIR}/pkg32.sh ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/pkg32.sh | ||
${MV} ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine64 ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine64.bin | ||
${INSTALL_SCRIPT} ${FILESDIR}/wine.sh ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine64 | ||
${INSTALL_SCRIPT} ${FILESDIR}/wine-wow64.sh ${STAGEDIR}${PREFIX}/${PORTNAME}/bin/wine | ||
.endif | ||
${RM} -r ${STAGEDIR}${PREFIX}/${PORTNAME}/include | ||
${RM} -r ${STAGEDIR}${PREFIX}/share/man | ||
${MKDIR} ${STAGEDIR}${DOCSDIR} | ||
.for i in README.md ANNOUNCE.md AUTHORS | ||
${INSTALL_DATA} ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR} | ||
.endfor | ||
|
||
.include <bsd.port.post.mk> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1726639041 | ||
SHA256 (ValveSoftware-wine-9.0-2-a030525189d082348d0015a71f969a12438b2639_GH0.tar.gz) = 72c1932ed86e22ea0cbcfb3dbcba435958807ba5d0b529874895ae33746af6a8 | ||
SIZE (ValveSoftware-wine-9.0-2-a030525189d082348d0015a71f969a12438b2639_GH0.tar.gz) = 49166503 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
/*===---- stdarg.h - Variable argument handling ----------------------------=== | ||
* | ||
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
* See https://llvm.org/LICENSE.txt for license information. | ||
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
* | ||
*===-----------------------------------------------------------------------=== | ||
*/ | ||
|
||
#ifndef __STDARG_H | ||
|
||
#ifndef __GNUC_VA_LIST | ||
#define __GNUC_VA_LIST | ||
typedef __builtin_va_list __gnuc_va_list; | ||
#endif | ||
|
||
#ifdef __need___va_list | ||
#undef __need___va_list | ||
#else | ||
#define __STDARG_H | ||
#ifndef _VA_LIST | ||
typedef __builtin_va_list va_list; | ||
#define _VA_LIST | ||
#endif | ||
|
||
/* FIXME: This is using the placeholder dates Clang produces for these macros | ||
in C2x mode; switch to the correct values once they've been published. */ | ||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L | ||
/* C2x does not require the second parameter for va_start. */ | ||
#define va_start(ap, ...) __builtin_va_start(ap, 0) | ||
#else | ||
/* Versions before C2x do require the second parameter. */ | ||
#define va_start(ap, param) __builtin_va_start(ap, param) | ||
#endif | ||
#define va_end(ap) __builtin_va_end(ap) | ||
#define va_arg(ap, type) __builtin_va_arg(ap, type) | ||
|
||
/* GCC always defines __va_copy, but does not define va_copy unless in c99 mode | ||
* or -ansi is not specified, since it was not part of C90. | ||
*/ | ||
#define __va_copy(d,s) __builtin_va_copy(d,s) | ||
|
||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \ | ||
(defined(__cplusplus) && __cplusplus >= 201103L) || \ | ||
!defined(__STRICT_ANSI__) | ||
#define va_copy(dest, src) __builtin_va_copy(dest, src) | ||
#endif | ||
|
||
#endif /* __STDARG_H */ | ||
|
||
#endif /* not __STDARG_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
/*===---- stdbool.h - Standard header for booleans -------------------------=== | ||
* | ||
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
* See https://llvm.org/LICENSE.txt for license information. | ||
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
* | ||
*===-----------------------------------------------------------------------=== | ||
*/ | ||
|
||
#ifndef __STDBOOL_H | ||
#define __STDBOOL_H | ||
|
||
#define __bool_true_false_are_defined 1 | ||
|
||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ > 201710L | ||
/* FIXME: We should be issuing a deprecation warning here, but cannot yet due | ||
* to system headers which include this header file unconditionally. | ||
*/ | ||
#elif !defined(__cplusplus) | ||
#define bool _Bool | ||
#define true 1 | ||
#define false 0 | ||
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) | ||
/* Define _Bool as a GNU extension. */ | ||
#define _Bool bool | ||
#if defined(__cplusplus) && __cplusplus < 201103L | ||
/* For C++98, define bool, false, true as a GNU extension. */ | ||
#define bool bool | ||
#define false false | ||
#define true true | ||
#endif | ||
#endif | ||
|
||
#endif /* __STDBOOL_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
/*===---- stddef.h - Basic type definitions --------------------------------=== | ||
* | ||
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
* See https://llvm.org/LICENSE.txt for license information. | ||
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
* | ||
*===-----------------------------------------------------------------------=== | ||
*/ | ||
|
||
#if !defined(__STDDEF_H) || defined(__need_ptrdiff_t) || \ | ||
defined(__need_size_t) || defined(__need_wchar_t) || \ | ||
defined(__need_NULL) || defined(__need_wint_t) | ||
|
||
#if !defined(__need_ptrdiff_t) && !defined(__need_size_t) && \ | ||
!defined(__need_wchar_t) && !defined(__need_NULL) && \ | ||
!defined(__need_wint_t) | ||
/* Always define miscellaneous pieces when modules are available. */ | ||
#if !__has_feature(modules) | ||
#define __STDDEF_H | ||
#endif | ||
#define __need_ptrdiff_t | ||
#define __need_size_t | ||
#define __need_wchar_t | ||
#define __need_NULL | ||
#define __need_STDDEF_H_misc | ||
/* __need_wint_t is intentionally not defined here. */ | ||
#endif | ||
|
||
#if defined(__need_ptrdiff_t) | ||
#if !defined(_PTRDIFF_T) || __has_feature(modules) | ||
/* Always define ptrdiff_t when modules are available. */ | ||
#if !__has_feature(modules) | ||
#define _PTRDIFF_T | ||
#endif | ||
typedef __PTRDIFF_TYPE__ ptrdiff_t; | ||
#endif | ||
#undef __need_ptrdiff_t | ||
#endif /* defined(__need_ptrdiff_t) */ | ||
|
||
#if defined(__need_size_t) | ||
#if !defined(_SIZE_T) || __has_feature(modules) | ||
/* Always define size_t when modules are available. */ | ||
#if !__has_feature(modules) | ||
#define _SIZE_T | ||
#endif | ||
typedef __SIZE_TYPE__ size_t; | ||
#endif | ||
#undef __need_size_t | ||
#endif /*defined(__need_size_t) */ | ||
|
||
#if defined(__need_STDDEF_H_misc) | ||
/* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is | ||
* enabled. */ | ||
#if (defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1 && \ | ||
!defined(_RSIZE_T)) || __has_feature(modules) | ||
/* Always define rsize_t when modules are available. */ | ||
#if !__has_feature(modules) | ||
#define _RSIZE_T | ||
#endif | ||
typedef __SIZE_TYPE__ rsize_t; | ||
#endif | ||
#endif /* defined(__need_STDDEF_H_misc) */ | ||
|
||
#if defined(__need_wchar_t) | ||
#if !defined(__cplusplus) || (defined(_MSC_VER) && !_NATIVE_WCHAR_T_DEFINED) | ||
/* Always define wchar_t when modules are available. */ | ||
#if !defined(_WCHAR_T) || __has_feature(modules) | ||
#if !__has_feature(modules) | ||
#define _WCHAR_T | ||
#if defined(_MSC_EXTENSIONS) | ||
#define _WCHAR_T_DEFINED | ||
#endif | ||
#endif | ||
typedef __WCHAR_TYPE__ wchar_t; | ||
#endif | ||
#endif | ||
#undef __need_wchar_t | ||
#endif /* defined(__need_wchar_t) */ | ||
|
||
#if defined(__need_NULL) | ||
#undef NULL | ||
#ifdef __cplusplus | ||
# if !defined(__MINGW32__) && !defined(_MSC_VER) | ||
# define NULL __null | ||
# else | ||
# define NULL 0 | ||
# endif | ||
#else | ||
# define NULL ((void*)0) | ||
#endif | ||
#ifdef __cplusplus | ||
#if defined(_MSC_EXTENSIONS) && defined(_NATIVE_NULLPTR_SUPPORTED) | ||
namespace std { typedef decltype(nullptr) nullptr_t; } | ||
using ::std::nullptr_t; | ||
#endif | ||
#endif | ||
#undef __need_NULL | ||
#endif /* defined(__need_NULL) */ | ||
|
||
/* FIXME: This is using the placeholder dates Clang produces for these macros | ||
in C2x mode; switch to the correct values once they've been published. */ | ||
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L | ||
typedef typeof(nullptr) nullptr_t; | ||
#endif /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L */ | ||
|
||
#if defined(__need_STDDEF_H_misc) | ||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \ | ||
(defined(__cplusplus) && __cplusplus >= 201103L) | ||
#include "__stddef_max_align_t.h" | ||
#endif | ||
#define offsetof(t, d) __builtin_offsetof(t, d) | ||
#undef __need_STDDEF_H_misc | ||
#endif /* defined(__need_STDDEF_H_misc) */ | ||
|
||
/* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use | ||
__WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */ | ||
#if defined(__need_wint_t) | ||
/* Always define wint_t when modules are available. */ | ||
#if !defined(_WINT_T) || __has_feature(modules) | ||
#if !__has_feature(modules) | ||
#define _WINT_T | ||
#endif | ||
typedef __WINT_TYPE__ wint_t; | ||
#endif | ||
#undef __need_wint_t | ||
#endif /* __need_wint_t */ | ||
|
||
#endif |
Oops, something went wrong.