diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2017-03-21 16:27:28 +0800 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2017-03-21 16:27:28 +0800 |
commit | c869d2c52967311e0bc05dd5fef30158aaa49680 (patch) | |
tree | ce54aa79ca7bdfbd7a415c5790e0839ea8034ab3 /emulators | |
parent | 7982d4ecade18ef98ef9747cc9d171a1a3e3d117 (diff) | |
download | freebsd-ports-gnome-c869d2c52967311e0bc05dd5fef30158aaa49680.tar.gz freebsd-ports-gnome-c869d2c52967311e0bc05dd5fef30158aaa49680.tar.zst freebsd-ports-gnome-c869d2c52967311e0bc05dd5fef30158aaa49680.zip |
Make it compilable on FreeBSD 12 after struct inpcb and struct tcpcb were
stopped being exported.
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/wine/Makefile | 1 | ||||
-rw-r--r-- | emulators/wine/files/patch-dlls_iphlpapi_ipstats.c | 46 |
2 files changed, 47 insertions, 0 deletions
diff --git a/emulators/wine/Makefile b/emulators/wine/Makefile index 041f1f382dc6..d1eb70dbcf11 100644 --- a/emulators/wine/Makefile +++ b/emulators/wine/Makefile @@ -3,6 +3,7 @@ PORTNAME= wine DISTVERSION= 2.0 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= emulators MASTER_SITES= SF/${PORTNAME}/Source \ diff --git a/emulators/wine/files/patch-dlls_iphlpapi_ipstats.c b/emulators/wine/files/patch-dlls_iphlpapi_ipstats.c new file mode 100644 index 000000000000..c702152e8fef --- /dev/null +++ b/emulators/wine/files/patch-dlls_iphlpapi_ipstats.c @@ -0,0 +1,46 @@ +--- dlls/iphlpapi/ipstats.c.orig 2017-03-21 00:03:25.304042000 -0700 ++++ dlls/iphlpapi/ipstats.c 2017-03-21 00:09:42.312023000 -0700 +@@ -2233,6 +2233,15 @@ + pXIG->xig_len > sizeof (struct xinpgen); + pXIG = (struct xinpgen *)((char *)pXIG + pXIG->xig_len)) + { ++#if __FreeBSD_version >= 1200026 ++ struct xtcpcb *pTCPData; ++ struct xinpcb *pINData; ++ struct xsocket *pSockData; ++ ++ pTCPData = (struct xtcpcb *)pXIG; ++ pINData = &pTCPData->xt_inp; ++ pSockData = &pINData->xi_socket; ++#else + struct tcpcb *pTCPData = NULL; + struct inpcb *pINData; + struct xsocket *pSockData; +@@ -2240,6 +2249,7 @@ + pTCPData = &((struct xtcpcb *)pXIG)->xt_tp; + pINData = &((struct xtcpcb *)pXIG)->xt_inp; + pSockData = &((struct xtcpcb *)pXIG)->xt_socket; ++#endif + + /* Ignore sockets for other protocols */ + if (pSockData->xso_protocol != IPPROTO_TCP) +@@ -2509,11 +2519,19 @@ + pXIG->xig_len > sizeof (struct xinpgen); + pXIG = (struct xinpgen *)((char *)pXIG + pXIG->xig_len)) + { ++#if __FreeBSD_version >= 1200026 ++ struct xinpcb *pINData; ++ struct xsocket *pSockData; ++ ++ pINData = (struct xinpcb *)pXIG; ++ pSockData = &pINData->xi_socket; ++#else + struct inpcb *pINData; + struct xsocket *pSockData; + + pINData = &((struct xinpcb *)pXIG)->xi_inp; + pSockData = &((struct xinpcb *)pXIG)->xi_socket; ++#endif + + /* Ignore sockets for other protocols */ + if (pSockData->xso_protocol != IPPROTO_UDP) |