Re: Packaging newer wine-development versions?
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
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 <it9exm@gmail.com
> <mailto:it9exm@gmail.com>> 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 <mgilbert@debian.org>
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 <mgilbert@debian.org>
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 <mgilbert@debian.org>
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 &&
Reply to: