Hi,
Thank you for the answer,
I took the opportunity and tried to package wine-development-4.12.1 for
debian, i updated the patches with quilt,
those who were changed are attached to this mail for review. The following
debianization/addons.patch
warnings/arm64-dword.patch
fixes/temporary-directory.patch
are those who require more attention, as the impacted upstream code
changed. I had to exclude
temporary-directory.patch from series as it produces a building error,
i guess it must be important.
Building for i386 is not successful, i had to remove this line from
addons.c (which is covered in addons.patch)
package_dir = "/usr/share/wine-";
and this other error comes up:
query.c: In function 'dns_do_query.constprop':
query.c:76:26: error: '%02x' directive writing between 2 and 8 bytes into a
region of size 3 [-Werror=format-overflow=]
sprintf( tmp, "0x%02x", section );
^~~~
query.c:76:23: note: directive argument in the range [4, 4294967295]
sprintf( tmp, "0x%02x", section );
^~~~~~~~
query.c:76:9: note: 'sprintf' output between 5 and 11 bytes into a
destination of size 5
sprintf( tmp, "0x%02x", section );
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
perhaps it needs further patching.
Hope this can be helpful
Il giorno gio 18 lug 2019 alle ore 20:50 James Lu <
[email protected]> ha scritto:
> Hi everyone,
>
> New versions have been slow lately because we've just exited freeze for
> the Buster release. While Debian is in the process of making a release,
> unstable is generally used as a staging ground for bug fixes instead of
> pushing new releases[1].
>
> Now that the freeze is over, we'll hopefully get new versions soon :)
>
> [1]: https://release.debian.org/buster/freeze_policy.html
>
> On 2019-07-18 11:40 a.m., Berillions wrote:
> > Because it's debian and even on Unstable, the packages are as old as on
> > Stable. Do not expect to have Wine-development 4.12.1 in the official
> > repository before about 3 months.
> >
> > Le jeu. 18 juil. 2019 à 19:18, Arnaldo Pirrone <[email protected]
> > <mailto:[email protected]>> a écrit :
> >
> > Hello wine maintainers,
> > I was wondering why every wine version since 4.4 has been skipped
> > from being packaged. I just tried to build 4.12.1 and it was
> > successful, despite the notification of missing libhal during the
> > configure phase. Was there something that slowed down the process
> > other than the new faudio dep, which is currently featured in sid?
> >
> > Thank you
> >
>
>
description: add Makefile rules for building just the manpages
author: Michael Gilbert <[email protected]>
Index: wine-development-4.12.1/tools/makedep.c
===================================================================
--- wine-development-4.12.1.orig/tools/makedep.c
+++ wine-development-4.12.1/tools/makedep.c
@@ -3851,6 +3851,7 @@ static void output_sources( struct makef
output_filenames_obj_dir( make, make->all_targets );
output( "\n" );
}
+ output( "install-man:: $(shell echo ${MANPAGES} | sed s/\\\\.in//g)\n" );
output_install_rules( make, INSTALL_LIB, "install-lib" );
output_install_rules( make, INSTALL_DEV, "install-dev" );
output_uninstall_rules( make );
Index: wine-development-4.12.1/loader/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/loader/Makefile.in
+++ wine-development-4.12.1/loader/Makefile.in
@@ -3,15 +3,17 @@ SOURCES = \
main.c \
preloader.c \
preloader_mac.c \
- wine.de.UTF-8.man.in \
wine.desktop \
- wine.fr.UTF-8.man.in \
wine.inf.in \
- wine.man.in \
- wine.pl.UTF-8.man.in \
wine_info.plist.in \
winehid.inf.in
+MANPAGES = \
+ wine.man.in \
+ wine.de.UTF-8.man.in \
+ wine.fr.UTF-8.man.in \
+ wine.pl.UTF-8.man.in
+
PROGRAMS = $(WINELOADER_PROGRAMS)
INSTALL_LIB = $(WINELOADER_PROGRAMS)
Index: wine-development-4.12.1/dlls/appwiz.cpl/addons.c
===================================================================
--- wine-development-4.12.1.orig/dlls/appwiz.cpl/addons.c
+++ wine-development-4.12.1/dlls/appwiz.cpl/addons.c
@@ -212,8 +212,6 @@ static enum install_res install_from_dos
lstrcpyW( path, dir );
if (!wcsncmp( path, ntprefixW, wcslen(ntprefixW) )) path[1] = '\\'; /* change \??\ into \\?\ */
- if (len && path[len-1] != '/' && path[len-1] != '\\') path[len++] = '\\';
-
if (*subdir)
{
len += MultiByteToWideChar( CP_UNIXCP, 0, subdir, -1, path + len, size - len );
@@ -290,6 +288,7 @@ static enum install_res install_from_reg
return INSTALL_FAILED;
}
+ package_dir = "/usr/share/wine-";
ret = install_from_unix_file(package_dir, "", addon->file_name);
heap_free(package_dir);
@@ -319,7 +318,7 @@ static enum install_res install_from_def
}
if (ret == INSTALL_NEXT)
- ret = install_from_unix_file(INSTALL_DATADIR "/wine/", addon->subdir_name, addon->file_name);
+ ret = install_from_unix_file(INSTALL_DATADIR "/", addon->subdir_name, addon->file_name);
if (ret == INSTALL_NEXT && strcmp(INSTALL_DATADIR, "/usr/share"))
ret = install_from_unix_file("/usr/share/wine/", addon->subdir_name, addon->file_name);
if (ret == INSTALL_NEXT)
Index: wine-development-4.12.1/tools/winebuild/winebuild.man.in
===================================================================
--- wine-development-4.12.1.orig/tools/winebuild/winebuild.man.in
+++ wine-development-4.12.1/tools/winebuild/winebuild.man.in
@@ -157,7 +157,10 @@ option.
.B \-m16, -m32, -m64
Generate respectively 16-bit, 32-bit or 64-bit code.
.TP
-.BI \-marm,\ \-mthumb,\ \-march= option ,\ \-mcpu= option ,\ \-mfpu= option ,\ \-mfloat-abi= option
+.BI \-marm,\ \-mthumb
+Select between generating code that executes in ARM and Thumb states.
+.TP
+.BI \-march= option ,\ \-mcpu= option ,\ \-mfpu= option ,\ \-mfloat-abi= option
Set code generation options for the assembler.
.TP
.B \-munix
Index: wine-development-4.12.1/dlls/appwiz.cpl/addons.c
===================================================================
--- wine-development-4.12.1.orig/dlls/appwiz.cpl/addons.c
+++ wine-development-4.12.1/dlls/appwiz.cpl/addons.c
@@ -612,6 +612,7 @@ static const IInternetBindInfoVtbl Insta
static IInternetBindInfo InstallCallbackBindInfo = { &InstallCallbackBindInfoVtbl };
+/*
static void append_url_params( WCHAR *url )
{
static const WCHAR arch_formatW[] = {'?','a','r','c','h','='};
@@ -763,6 +764,7 @@ static INT_PTR CALLBACK installer_proc(H
return FALSE;
}
+*/
BOOL install_addon(addon_t addon_type)
{
@@ -780,13 +782,11 @@ BOOL install_addon(addon_t addon_type)
* - $INSTALL_DATADIR/wine/$addon_subdir/
* - /usr/share/wine/$addon_subdir/
* - /opt/wine/$addon_subdir/
- * - download from URL stored in $url_config_key value of HKCU/Software/Wine/$config_key key
*/
if (install_from_registered_dir() == INSTALL_NEXT
&& install_from_default_dir() == INSTALL_NEXT
- && install_from_cache() == INSTALL_NEXT
- && (url = get_url()))
- DialogBoxW(hInst, addon->dialog_template, 0, installer_proc);
+ && install_from_cache() == INSTALL_NEXT)
+ {};
heap_free(url);
url = NULL;
Index: wine-development-4.12.1/dlls/gdi32/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/gdi32/tests/Makefile.in
+++ wine-development-4.12.1/dlls/gdi32/tests/Makefile.in
@@ -10,7 +10,6 @@ C_SRCS = \
driver.c \
font.c \
gdiobj.c \
- generated.c \
icm.c \
mapping.c \
metafile.c \
Index: wine-development-4.12.1/dlls/itss/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/itss/tests/Makefile.in
+++ wine-development-4.12.1/dlls/itss/tests/Makefile.in
@@ -3,5 +3,3 @@ IMPORTS = ole32
C_SRCS = \
protocol.c
-
-RC_SRCS = rsrc.rc
Index: wine-development-4.12.1/dlls/kernel32/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/kernel32/tests/Makefile.in
+++ wine-development-4.12.1/dlls/kernel32/tests/Makefile.in
@@ -17,7 +17,6 @@ SOURCES = \
fiber.c \
file.c \
format_msg.c \
- generated.c \
heap.c \
loader.c \
locale.c \
Index: wine-development-4.12.1/dlls/ntdll/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/ntdll/tests/Makefile.in
+++ wine-development-4.12.1/dlls/ntdll/tests/Makefile.in
@@ -9,7 +9,6 @@ C_SRCS = \
error.c \
exception.c \
file.c \
- generated.c \
info.c \
large_int.c \
om.c \
Index: wine-development-4.12.1/dlls/rpcrt4/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/rpcrt4/tests/Makefile.in
+++ wine-development-4.12.1/dlls/rpcrt4/tests/Makefile.in
@@ -8,7 +8,6 @@ server_interp_EXTRAIDLFLAGS = -Oicf --pr
C_SRCS = \
cstub.c \
- generated.c \
ndr_marshall.c \
rpc.c \
rpc_async.c \
Index: wine-development-4.12.1/dlls/shell32/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/shell32/tests/Makefile.in
+++ wine-development-4.12.1/dlls/shell32/tests/Makefile.in
@@ -7,7 +7,6 @@ C_SRCS = \
autocomplete.c \
brsfolder.c \
ebrowser.c \
- generated.c \
progman_dde.c \
recyclebin.c \
shelldispatch.c \
Index: wine-development-4.12.1/dlls/shlwapi/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/shlwapi/tests/Makefile.in
+++ wine-development-4.12.1/dlls/shlwapi/tests/Makefile.in
@@ -5,7 +5,6 @@ C_SRCS = \
assoc.c \
clist.c \
clsid.c \
- generated.c \
istream.c \
ordinal.c \
path.c \
Index: wine-development-4.12.1/dlls/urlmon/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/urlmon/tests/Makefile.in
+++ wine-development-4.12.1/dlls/urlmon/tests/Makefile.in
@@ -2,7 +2,6 @@ TESTDLL = urlmon.dll
IMPORTS = urlmon wininet ole32 oleaut32 shlwapi user32 advapi32
C_SRCS = \
- generated.c \
misc.c \
protocol.c \
sec_mgr.c \
Index: wine-development-4.12.1/dlls/user32/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/user32/tests/Makefile.in
+++ wine-development-4.12.1/dlls/user32/tests/Makefile.in
@@ -11,7 +11,6 @@ C_SRCS = \
dde.c \
dialog.c \
edit.c \
- generated.c \
input.c \
listbox.c \
menu.c \
Index: wine-development-4.12.1/dlls/wininet/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/wininet/tests/Makefile.in
+++ wine-development-4.12.1/dlls/wininet/tests/Makefile.in
@@ -3,7 +3,6 @@ IMPORTS = wininet crypt32 ws2_32 user3
C_SRCS = \
ftp.c \
- generated.c \
http.c \
internet.c \
url.c \
Index: wine-development-4.12.1/dlls/winmm/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/winmm/tests/Makefile.in
+++ wine-development-4.12.1/dlls/winmm/tests/Makefile.in
@@ -3,7 +3,6 @@ IMPORTS = winmm ole32 user32 advapi32
C_SRCS = \
capture.c \
- generated.c \
joystick.c \
mci.c \
mcicda.c \
Index: wine-development-4.12.1/libs/wine/config.c
===================================================================
--- wine-development-4.12.1.orig/libs/wine/config.c
+++ wine-development-4.12.1/libs/wine/config.c
@@ -25,6 +25,7 @@
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
+#include <dirent.h>
#include <errno.h>
#include <sys/stat.h>
#ifdef HAVE_UNISTD_H
@@ -43,7 +44,7 @@
#include "wine/library.h"
static const char server_config_dir[] = "/.wine"; /* config dir relative to $HOME */
-static const char server_root_prefix[] = "/tmp/.wine"; /* prefix for server root dir */
+static const char server_root_prefix[] = "/run/user"; /* prefix for server root dir */
static const char server_dir_prefix[] = "/server-"; /* prefix for server dir */
static char *bindir;
@@ -242,13 +243,113 @@ static char *get_runtime_argvdir( const
/* initialize the server directory value */
static void init_server_dir( dev_t dev, ino_t ino )
{
- char *p, *root;
+ char *p, *prefix = NULL, *root = NULL;
#ifdef __ANDROID__ /* there's no /tmp dir on Android */
root = build_path( config_dir, ".wineserver" );
#else
- root = xmalloc( sizeof(server_root_prefix) + 12 );
- sprintf( root, "%s-%u", server_root_prefix, getuid() );
+
+#if defined(HAVE_GETUID)
+ /* use /run/user/$uid as wineserver's tmpdir if possible */
+ prefix = xmalloc( sizeof(server_root_prefix) + 12 );
+ sprintf( prefix, "%s/%u", server_root_prefix, getuid() );
+ if (opendir( prefix ))
+ {
+ root = xmalloc( sizeof(server_root_prefix) + 17 );
+ sprintf( root, "%s/wine", prefix);
+ }
+ free( prefix );
+#endif
+
+ /* otherwise, use a randomly named directory under TMPDIR */
+ if (!root)
+ {
+ int error;
+ FILE *stream;
+ char *wineserver_file, *tmp_env, *tmp_dir;
+ mode_t mode = S_IRUSR;
+
+ /* determine the temporary directory */
+ tmp_env = secure_getenv("TMPDIR");
+ if (tmp_env)
+ {
+ tmp_dir = xmalloc( strlen(tmp_env) + 1 );
+ strcpy( tmp_dir, tmp_env );
+ }
+ else
+ {
+ const char tmp_default[] = "/tmp";
+ tmp_dir = xmalloc( sizeof(tmp_default) );
+ strcpy( tmp_dir, tmp_default );
+ }
+
+ /* remove existing wineserver tmpdir file if permissions are wrong */
+ wineserver_file = build_path( config_dir, "wineserver" );
+ if ( access( wineserver_file, F_OK ) != -1 )
+ {
+ struct stat statbuf;
+ mode_t mode_mask = S_IRWXU | S_IRWXG | S_IRWXO;
+ error = stat( wineserver_file, &statbuf );
+ if (error != 0)
+ fatal_error("error reading wineserver tmpdir file permissions\n");
+ if ((statbuf.st_mode & mode_mask) != mode)
+ {
+ error = remove( wineserver_file );
+ if (error != 0)
+ fatal_error("error removing wineserver tmpdir file\n");
+ }
+ }
+
+ /* create or read the name of the directory */
+ stream = fopen( wineserver_file, "r" );
+ if (!stream)
+ {
+ int n, fd;
+
+ /* create a new randomized name for the directory */
+ root = mkdtemp( build_path( tmp_dir, "wine-XXXXXX" ) );
+ if (!root)
+ fatal_error("unable to create wineserver tmpdir\n");
+
+ /* save location of the chosen temporary directory */
+ fd = creat( wineserver_file, mode );
+ if (fd < 0)
+ fatal_error("error opening file descriptor for wineserver tmpdir file\n");
+ stream = fdopen( fd, "w" );
+ if (!stream)
+ fatal_error("error opening wineserver tmpdir file\n");
+ n = fputs( root + strlen(tmp_dir) + 1, stream );
+ if (n < 0)
+ fatal_error("error writing to wineserver tmpdir file\n");
+ error = fclose( stream );
+ if (error != 0)
+ fatal_error("error closing wineserver tmpdir file\n");
+ }
+ else
+ {
+ char *tmp_wineserver;
+ size_t length = 0;
+ ssize_t nread;
+
+ /* try to read a previously generated wineserver tmpdir */
+ nread = getline( &tmp_wineserver, &length, stream );
+ error = fclose( stream );
+ if (error != 0)
+ fatal_error("error closing wineserver tmpdir file\n");
+
+ /* if something went wrong, remove the broken file */
+ if (nread < 0)
+ {
+ remove( wineserver_file );
+ fatal_error("fixed a temporary directory error, please try running the same command again\n");
+ }
+
+ /* build the full path to the temporary directory */
+ root = build_path( tmp_dir, tmp_wineserver );
+ }
+ free( tmp_dir );
+ free( wineserver_file );
+ }
#endif
server_dir = xmalloc( strlen(root) + sizeof(server_dir_prefix) + 2*sizeof(dev) + 2*sizeof(ino) + 2 );
description: regenerate all icon files
author: Michael Gilbert <[email protected]>
Index: wine-development-4.12.1/tools/makedep.c
===================================================================
--- wine-development-4.12.1.orig/tools/makedep.c
+++ wine-development-4.12.1/tools/makedep.c
@@ -1550,6 +1550,9 @@ static struct file *open_include_file( c
if (pFile->type == INCL_SYSTEM) return NULL; /* ignore system files we cannot find */
+ /* no reason to check that files exist here, may be built later */
+ return file;
+
/* try in src file directory */
if ((file = open_file_same_dir( pFile->included_by, pFile->name, &pFile->filename ))) return file;
@@ -2876,6 +2879,14 @@ static void output_source_svg( struct ma
if (images[i])
{
+ struct incl_file *src;
+ LIST_FOR_EACH_ENTRY( src, &make->sources, struct incl_file, entry )
+ {
+ if (strendswith( src->name, ".rc" ))
+ {
+ output( "%s: %s.%s\n", replace_extension( src->name, "rc", "res" ), src_dir_path( make, obj ), images[i] );
+ }
+ }
output( "%s.%s: %s\n", src_dir_path( make, obj ), images[i], source->filename );
output( "\tCONVERT=\"%s\" ICOTOOL=\"%s\" RSVG=\"%s\" %s %s $@\n", convert, icotool, rsvg,
top_src_dir_path( make, "tools/buildimage" ), source->filename );
Index: wine-development-4.12.1/programs/regedit/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/programs/regedit/Makefile.in
+++ wine-development-4.12.1/programs/regedit/Makefile.in
@@ -20,4 +20,4 @@ RC_SRCS = regedit.rc
MANPAGES = regedit.man.in
-SVG_SRCS = regedit.svg
+SVG_SRCS = regedit.svg folderopen.svg folder.svg computer.svg string.svg bin.svg
Index: wine-development-4.12.1/dlls/display.drv16/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/display.drv16/Makefile.in
+++ wine-development-4.12.1/dlls/display.drv16/Makefile.in
@@ -6,3 +6,5 @@ EXTRADLLFLAGS = -m16 -mno-cygwin
C_SRCS = display.c
RC_SRCS = display.rc
+
+SVG_SRCS = oic_hand.svg
Index: wine-development-4.12.1/dlls/comdlg32/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/comdlg32/Makefile.in
+++ wine-development-4.12.1/dlls/comdlg32/Makefile.in
@@ -22,6 +22,12 @@ SVG_SRCS = \
pd32_collate.svg \
pd32_landscape.svg \
pd32_nocollate.svg \
- pd32_portrait.svg
+ pd32_portrait.svg \
+ cdrom.svg \
+ hdisk.svg \
+ floppy.svg \
+ folder.svg \
+ folder2.svg \
+ network.svg
IDL_SRCS = comdlg32_classes.idl
Index: wine-development-4.12.1/dlls/comctl32/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/comctl32/Makefile.in
+++ wine-development-4.12.1/dlls/comctl32/Makefile.in
@@ -59,4 +59,8 @@ SVG_SRCS = \
idc_copy.svg \
idc_divider.svg \
idc_divideropen.svg \
- idc_movebutton.svg
+ idc_movebutton.svg \
+ idi_dragarrow.svg \
+ idi_tt_info_sm.svg \
+ idi_tt_warn_sm.svg \
+ idi_tt_error_sm.svg
Index: wine-development-4.12.1/programs/taskmgr/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/programs/taskmgr/Makefile.in
+++ wine-development-4.12.1/programs/taskmgr/Makefile.in
@@ -26,4 +26,6 @@ C_SRCS = \
RC_SRCS = taskmgr.rc
SVG_SRCS = \
- taskmgr.svg
+ taskmgr.svg \
+ window.svg \
+ windowsm.svg
Index: wine-development-4.12.1/server/request.h
===================================================================
--- wine-development-4.12.1.orig/server/request.h
+++ wine-development-4.12.1/server/request.h
@@ -108,9 +108,9 @@ static inline void set_reply_data_ptr( v
current->reply_data = data;
}
+#include "request.generated"
-/* Everything below this line is generated automatically by tools/make_requests */
-/* ### make_requests begin ### */
+/*
DECL_HANDLER(new_process);
DECL_HANDLER(exec_process);
@@ -2438,9 +2438,8 @@ C_ASSERT( sizeof(struct suspend_process_
C_ASSERT( FIELD_OFFSET(struct resume_process_request, handle) == 12 );
C_ASSERT( sizeof(struct resume_process_request) == 16 );
-#endif /* WANT_REQUEST_HANDLERS */
+#endif
-/* ### make_requests end ### */
-/* Everything above this line is generated automatically by tools/make_requests */
+*/
#endif /* __WINE_SERVER_REQUEST_H */
Index: wine-development-4.12.1/server/trace.c
===================================================================
--- wine-development-4.12.1.orig/server/trace.c
+++ wine-development-4.12.1/server/trace.c
@@ -1237,8 +1237,9 @@ static void dump_varargs_handle_infos( c
typedef void (*dump_func)( const void *req );
-/* Everything below this line is generated automatically by tools/make_requests */
-/* ### make_requests begin ### */
+#include "trace.generated"
+
+/*
static void dump_new_process_request( const struct new_process_request *req )
{
@@ -5667,8 +5668,7 @@ static const struct
{ NULL, 0 }
};
-/* ### make_requests end ### */
-/* Everything above this line is generated automatically by tools/make_requests */
+*/
static const char *get_status_name( unsigned int status )
{
Index: wine-development-4.12.1/tools/make_requests
===================================================================
--- wine-development-4.12.1.orig/tools/make_requests
+++ wine-development-4.12.1/tools/make_requests
@@ -265,17 +265,11 @@ sub PARSE_REQUESTS()
close PROTOCOL;
}
-### Retrieve the server protocol version from the existing server_protocol.h file
+# Modified by -1, see debian/scripts/import
sub GET_PROTOCOL_VERSION()
{
- my $protocol = 0;
- open SERVER_PROT, "include/wine/server_protocol.h" or return 0;
- while (<SERVER_PROT>)
- {
- if (/^\#define SERVER_PROTOCOL_VERSION (\d+)/) { $protocol = $1; last; }
- }
- close SERVER_PROT;
+ my $protocol = 572;
return $protocol;
}
@@ -440,7 +434,7 @@ foreach my $err (sort keys %errors)
push @trace_lines, " { NULL, 0 }\n";
push @trace_lines, "};\n";
-replace_in_file( "server/trace.c",
+replace_in_file( "server/trace.generated",
"### make_requests begin ###",
"### make_requests end ###",
@trace_lines );
@@ -467,7 +461,7 @@ foreach my $type (sort keys %formats)
push @request_lines, @asserts;
push @request_lines, "\n#endif /* WANT_REQUEST_HANDLERS */\n";
-replace_in_file( "server/request.h",
+replace_in_file( "server/request.generated",
"### make_requests begin ###",
"### make_requests end ###",
@request_lines );
Index: wine-development-4.12.1/libs/port/cptable.c
===================================================================
--- wine-development-4.12.1.orig/libs/port/cptable.c
+++ wine-development-4.12.1/libs/port/cptable.c
@@ -22,8 +22,9 @@
#include "wine/unicode.h"
-/* Everything below this line is generated automatically by make_unicode */
-/* ### cpmap begin ### */
+#include "cptable.generated"
+
+/*
extern union cptable cptable_037;
extern union cptable cptable_424;
extern union cptable cptable_437;
@@ -172,9 +173,7 @@ static const union cptable * const cptab
&cptable_28605,
&cptable_28606,
};
-/* ### cpmap end ### */
-/* Everything above this line is generated automatically by make_unicode */
-
+*/
static int cmp_codepage( const void *codepage, const void *entry )
{
Index: wine-development-4.12.1/tools/make_unicode
===================================================================
--- wine-development-4.12.1.orig/tools/make_unicode
+++ wine-development-4.12.1/tools/make_unicode
@@ -23,9 +23,9 @@ use strict;
# base URLs for www.unicode.org files
my $MAPPINGS = "http://www.unicode.org/Public/MAPPINGS";
-my $UNIDATA = "http://www.unicode.org/Public/12.0.0/ucd";
-my $REPORTS = "http://www.unicode.org/reports";
-my $RFCS = "http://www.rfc-editor.org/rfc";
+my $UNIDATA = "/usr/share/unicode";
+my $REPORTS = "debian/unicode";
+my $RFCS = "debian";
# Sort keys file
my $SORTKEYS = "tr10/allkeys.txt";
@@ -432,15 +432,8 @@ my %joining_forms =
sub open_data_file($$)
{
my ($base, $name) = @_;
- (my $dir = "data/$name") =~ s/\/[^\/]+$//;
local *FILE;
- unless (-f "data/$name")
- {
- print "Fetching $base/$name...\n";
- system "mkdir", "-p", $dir;
- !system "wget", "-q", "-O", "data/$name", "$base/$name" or die "cannot fetch $base/$name";
- }
- open FILE, "<data/$name" or die "cannot open data/$name";
+ open FILE, "<$base/$name" or die "cannot open $base/$name";
return *FILE;
}
@@ -2900,9 +2893,10 @@ dump_vertical( "dlls/gdi32/vertical.c" )
dump_vertical( "dlls/wineps.drv/vertical.c" );
dump_nameprep( "dlls/kernel32/nameprep.c" );
-foreach my $file (@allfiles) { HANDLE_FILE( @{$file} ); }
+# Skipping: unicode-data currently has no MAPPING files
+# foreach my $file (@allfiles) { HANDLE_FILE( @{$file} ); }
-output_cptable("libs/port/cptable.c");
+output_cptable("libs/port/cptable.generated");
exit 0;
Index: wine-development-4.12.1/configure.ac
===================================================================
--- wine-development-4.12.1.orig/configure.ac
+++ wine-development-4.12.1/configure.ac
@@ -1973,6 +1973,11 @@ then
dnl Check for some compiler flags
WINE_TRY_CFLAGS([-fno-strict-aliasing])
WINE_TRY_CFLAGS([-fexcess-precision=standard],[AC_SUBST(EXCESS_PRECISION_CFLAGS,"-fexcess-precision=standard")])
+
+case $host_cpu in
+ *aarch64*) EXCESS_PRECISION_CFLAGS="" ;;
+esac
+
dnl clang needs to be told to fail on unknown options
saved_CFLAGS=$CFLAGS
WINE_TRY_CFLAGS([-Werror=unknown-warning-option],[CFLAGS="$CFLAGS -Werror=unknown-warning-option"])
description: fix gcc argument promotion warning
author: Michael Gilbert <[email protected]>
Index: wine-development-4.12.1/include/evntrace.h
===================================================================
--- wine-development-4.12.1.orig/include/evntrace.h
+++ wine-development-4.12.1/include/evntrace.h
@@ -308,7 +308,7 @@ ULONG WINAPI StartTraceA(PTRACEHANDLE,LP
ULONG WINAPI StartTraceW(PTRACEHANDLE,LPCWSTR,PEVENT_TRACE_PROPERTIES);
#define StartTrace WINELIB_NAME_AW(StartTrace)
ULONG WINAPI TraceEvent(TRACEHANDLE,PEVENT_TRACE_HEADER);
-ULONG WINAPIV TraceMessage(TRACEHANDLE,ULONG,LPGUID,USHORT,...);
+ULONG WINAPIV TraceMessage(TRACEHANDLE,ULONG,LPGUID,UINT,...);
ULONG WINAPI TraceMessageVa(TRACEHANDLE,ULONG,LPGUID,USHORT,__ms_va_list);
ULONG WINAPI UnregisterTraceGuids(TRACEHANDLE);
Index: wine-development-4.12.1/dlls/ntdll/signal_arm64.c
===================================================================
--- wine-development-4.12.1.orig/dlls/ntdll/signal_arm64.c
+++ wine-development-4.12.1/dlls/ntdll/signal_arm64.c
@@ -611,9 +611,8 @@ static NTSTATUS raise_exception( EXCEPTI
return STATUS_SUCCESS;
}
-static inline DWORD is_write_fault( DWORD *pc )
+static inline DWORD is_write_fault( DWORD64 inst )
{
- DWORD inst = *pc;
if ((inst & 0xbfff0000) == 0x0c000000 /* C3.3.1 */ ||
(inst & 0xbfe00000) == 0x0c800000 /* C3.3.2 */ ||
(inst & 0xbfdf0000) == 0x0d000000 /* C3.3.3 */ ||
@@ -637,7 +636,7 @@ static void segv_handler( int signal, si
{
EXCEPTION_RECORD *rec;
ucontext_t *context = ucontext;
- DWORD *orig_pc = (DWORD *)PC_sig(context);
+ DWORD64 orig_pc = (DWORD64 *)PC_sig(context);
/* check for page fault inside the thread stack */
if (signal == SIGSEGV &&