update "racket/src/native-libs" scripts

Repairs for tool drift and over-specific patch rules.
This commit is contained in:
Matthew Flatt 2020-08-18 16:39:58 -06:00
parent afb68b29d4
commit 2742962988
7 changed files with 90 additions and 76 deletions

View File

@ -18,7 +18,7 @@ Currently, we use the following external packages and versions:
pkg-config-0.28
sed-4.2 (Windows only, to avoid non-GNU `sed`)
sqlite[-autoconf]-3220000 (Windows, Linux, and PPC Mac OS only)
openssl-1.1.0h
openssl-1.1.1g
libiconv-1.15 (Windows only)
zlib-1.2.11 (Windows and Linux only)
libffi-3.2.1

View File

@ -64,8 +64,8 @@
candidates))
(car candidates)]))
(define-runtime-path longdouble-c "../racket/src/longdouble/longdouble.c")
(define-runtime-path longdouble-h "../racket/src/longdouble/longdouble.h")
(define-runtime-path longdouble-c "../bc/src/longdouble/longdouble.c")
(define-runtime-path longdouble-h "../bc/src/longdouble/longdouble.h")
(unless skip-unpack?
(case package-name
@ -128,6 +128,10 @@
;; Avoid crash when CTFontCollectionCreateMatchingFontDescriptors fails:
(define-runtime-path coretext-nullarray "patches/coretext-nullarray.patch")
;; MinGW doesn't like `-Wp,-D_FORTIFY_SOURCE=2`, at least not without
;; linking extra libraries:
(define-runtime-path cairo-nofortfy-patch "patches/cairo-nofortify.patch")
;; Define some functions that aren't in Mac OS 10.5 (for the 32-bit build)
(define-runtime-path pango-surrogate-patch "patches/pango-surrogate.patch")
@ -156,6 +160,9 @@
;; strerror_s is not available in XP
(define-runtime-path glib-strerror-patch "patches/glib-strerror.patch")
;; avoid a print before NULL check
(define-runtime-path glib-debugprint-patch "patches/glib-debugprint.patch")
;; For now, disable glib functionality that depends on Mac OS 10.8:
(define-runtime-path gcocoanotify-patch "patches/gcocoanotify.patch")
@ -174,7 +181,6 @@
;; Disable libtool's management of standard libs so that
;; MinGW's -static-libstdc++ works:
(define-runtime-path libtool-link-patch "patches/libtool-link.patch")
(define-runtime-path libtool64-link-patch "patches/libtool64-link.patch")
;; Add FcSetFallbackDirs to set fallback directories dynamically:
(define-runtime-path fcdirs-patch "patches/fcdirs.patch")
@ -209,6 +215,8 @@
(define (sdk n)
(~a " -isysroot /Developer/SDKs/MacOSX10."n".sdk -mmacosx-version-min=10."n))
(define mac32-sdk 6)
(define mac64-sdk 9)
(define all-env
(cond
@ -229,12 +237,14 @@
[mac?
(cond
[m32?
(define sdk-flags (sdk 5))
(define sdk-flags (sdk mac32-sdk))
(list
(list "CPPFLAGS" (~a "-m32" sdk-flags))
(list "LDFLAGS" (~a "-m32" sdk-flags)))]
(list "LDFLAGS" (~a "-m32" sdk-flags
;; suppress deprecation warning:
" -Wl,-w")))]
[else
(define sdk-flags (sdk 9))
(define sdk-flags (sdk mac64-sdk))
(list
(list "CPPFLAGS" (~a "-m64" sdk-flags))
(list "LDFLAGS" (~a "-m64" sdk-flags)))])]
@ -470,11 +480,13 @@
;; Disable Valgrind support, which particularly
;; goes wrong for 64-bit Windows builds.
(list (list "CPPFLAGS" "-DNVALGRIND=1")))
#:patches (cond
[win? (list glib-win32-weekday-patch
glib-strerror-patch)]
[mac? (list gcocoanotify-patch)]
[else null]))]
#:patches (append
(cond
[win? (list glib-win32-weekday-patch
glib-strerror-patch)]
[mac? (list gcocoanotify-patch)]
[else null])
(list glib-debugprint-patch)))]
[("libpng") (config #:depends (if (or win? linux?) '("zlib") '())
#:env (if (or linux? win?)
(append
@ -493,11 +505,12 @@
"--without-libintl-prefix")
'()))
#:patches (list fcdirs-patch))]
[("pixman") (config #:patches (cond
[(and win? (not m32?)) (list noforceinline-patch)]
[ppc? (list pixman-altivec-patch)]
[else null])
#:post-patches (list pixman-notest-patch))]
[("pixman") (config #:patches (append
(cond
[(and win? (not m32?)) (list noforceinline-patch)]
[ppc? (list pixman-altivec-patch)]
[else null])
(list pixman-notest-patch)))]
[("cairo")
(when mac?
(define zlib.pc (build-path dest "lib" "pkgconfig" "zlib.pc"))
@ -518,9 +531,13 @@
(if mac?
'("CFLAGS=-include Kernel/uuid/uuid.h")
'()))
#:patches (list cairo-emptyglyph.patch
cairo-coretext-patch
courier-new-patch))]
#:patches (append
(list cairo-emptyglyph.patch
cairo-coretext-patch
courier-new-patch)
(if win?
(list cairo-nofortfy-patch)
null)))]
[("harfbuzz") (config #:depends '("fontconfig" "freetype" "cairo")
#:configure '("--without-icu")
#:env cxx-env
@ -549,7 +566,7 @@
(if mac?
(list pango-preferoblique-patch)
null)
(if (and mac? m32?)
(if (and mac? m32? (mac32-sdk . < . 6))
(list pango-surrogate-patch)
null)
(if (or mac? win?)
@ -576,9 +593,7 @@
cxx-env)
#:patches (list nonochecknew-patch)
#:post-patches (if win?
(list (if m32?
libtool-link-patch
libtool64-link-patch))
(list libtool-link-patch)
null)
#:configure '("--enable-zlib"
"--disable-splash-output"

View File

@ -0,0 +1,13 @@
diff -r -u old/cairo-1.14.12/configure new/cairo-1.14.12/configure
--- old/cairo-1.14.12/configure 2020-08-18 14:03:24.000000000 -0600
+++ new/cairo-1.14.12/configure 2020-08-18 14:03:55.000000000 -0600
@@ -19118,7 +19118,7 @@
MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
-MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2"
+# MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2"
# invalidate cached value if MAYBE_WARN has changed
if test "x$cairo_cv_warn_maybe" != "x$MAYBE_WARN"; then
Only in new/cairo-1.14.12: configure~

View File

@ -0,0 +1,27 @@
diff -r -u old/glib-2.56.0/gio/gdbusauth.c new/glib-2.56.0/gio/gdbusauth.c
--- old/glib-2.56.0/gio/gdbusauth.c 2020-08-18 13:43:21.000000000 -0600
+++ new/glib-2.56.0/gio/gdbusauth.c 2020-08-18 13:44:09.000000000 -0600
@@ -1299,9 +1299,9 @@
&line_length,
cancellable,
error);
- debug_print ("SERVER: WaitingForBegin, read '%s'", line);
if (line == NULL)
goto out;
+ debug_print ("SERVER: WaitingForBegin, read '%s'", line);
if (g_strcmp0 (line, "BEGIN") == 0)
{
/* YAY, done! */
Only in new/glib-2.56.0/gio: gdbusauth.c~
diff -r -u old/glib-2.56.0/gio/gdbusmessage.c new/glib-2.56.0/gio/gdbusmessage.c
--- old/glib-2.56.0/gio/gdbusmessage.c 2020-08-18 13:43:21.000000000 -0600
+++ new/glib-2.56.0/gio/gdbusmessage.c 2020-08-18 13:50:21.000000000 -0600
@@ -2699,6 +2699,7 @@
if (message->body != NULL)
{
gchar *tupled_signature_str;
+ if (signature_str == NULL) signature_str = "???";
tupled_signature_str = g_strdup_printf ("(%s)", signature_str);
if (signature == NULL)
{
Only in new/glib-2.56.0/gio: gdbusmessage.c~

View File

@ -1,6 +1,6 @@
diff -r -u old/poppler-0.24.5/libtool new/poppler-0.24.5/libtool
--- old/poppler-0.24.5/libtool 2014-04-01 07:00:21.000000000 -0600
+++ new/poppler-0.24.5/libtool 2014-04-01 07:00:07.000000000 -0600
--- old/poppler-0.24.5/libtool 2020-08-18 14:20:55.000000000 -0600
+++ new/poppler-0.24.5/libtool 2020-08-18 14:22:24.000000000 -0600
@@ -10167,14 +10167,14 @@
old_archive_from_expsyms_cmds=""
@ -18,17 +18,11 @@ diff -r -u old/poppler-0.24.5/libtool new/poppler-0.24.5/libtool
# Commands used to build a loadable module if different from building
# a shared archive.
@@ -10256,10 +10256,10 @@
@@ -10266,2 +10266,7 @@
# Dependencies to place before and after the objects being linked to
# create a shared library.
-predep_objects="/usr/local/mw32/bin/../lib/gcc/i686-w64-mingw32/4.9.0/../../../../i686-w64-mingw32/lib/../lib/dllcrt2.o /usr/local/mw32/bin/../lib/gcc/i686-w64-mingw32/4.9.0/crtbegin.o"
-postdep_objects="/usr/local/mw32/bin/../lib/gcc/i686-w64-mingw32/4.9.0/crtend.o"
+
+# Clear these back out:
+predep_objects=""
+postdep_objects=""
predeps=""
-postdeps="-lstdc++ -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt"
+postdeps=""
# The library search path used internally by the compiler when linking
# a shared library.
# ### END LIBTOOL TAG CONFIG: CXX

View File

@ -1,34 +0,0 @@
diff -r -u orig/poppler-0.24.5/libtool next/poppler-0.24.5/libtool
--- orig/poppler-0.24.5/libtool 2018-04-04 09:51:15.000000000 -0600
+++ next/poppler-0.24.5/libtool 2018-04-04 09:53:17.000000000 -0600
@@ -10167,14 +10167,14 @@
old_archive_from_expsyms_cmds=""
# Commands used to build a shared archive.
-archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib"
+archive_cmds="\$CC -shared \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib"
archive_expsym_cmds="if test \\\"x\\\`\$SED 1q \$export_symbols\\\`\\\" = xEXPORTS; then
cp \$export_symbols \$output_objdir/\$soname.def;
else
echo EXPORTS > \$output_objdir/\$soname.def;
cat \$export_symbols >> \$output_objdir/\$soname.def;
fi~
- \$CC -shared -nostdlib \$output_objdir/\$soname.def \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib"
+ \$CC -shared \$output_objdir/\$soname.def \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib"
# Commands used to build a loadable module if different from building
# a shared archive.
@@ -10256,10 +10256,10 @@
# Dependencies to place before and after the objects being linked to
# create a shared library.
-predep_objects="/usr/local/mw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.0/../../../../x86_64-w64-mingw32/lib/../lib/dllcrt2.o /usr/local/mw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.0/../../../../x86_64-w64-mingw32/lib/../lib/crtbegin.o"
-postdep_objects="/usr/local/mw64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.0/../../../../x86_64-w64-mingw32/lib/../lib/crtend.o"
+predep_objects=""
+postdep_objects=""
predeps=""
-postdeps="-lstdc++ -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt"
+postdeps=""
# The library search path used internally by the compiler when linking
# a shared library.

View File

@ -1,13 +1,12 @@
diff -u -r old/pixman-0.34.0/Makefile new/pixman-0.34.0/Makefile
--- old/pixman-0.34.0/Makefile 2018-09-22 20:18:54.000000000 -0600
+++ new/pixman-0.34.0/Makefile 2018-09-22 20:18:35.000000000 -0600
--- old/pixman-0.34.0/Makefile.in 2018-09-22 20:18:54.000000000 -0600
+++ new/pixman-0.34.0/Makefile.in 2018-09-22 20:18:35.000000000 -0600
@@ -380,7 +380,7 @@
top_build_prefix =
top_builddir = .
top_srcdir = /Users/mflatt/build/bl/m64/pixman-0.34.0/.
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = pixman demos test
+SUBDIRS = pixman
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = pixman-1.pc
GPGKEY = 3892336E
Only in old/pixman-0.34.0: Makefile~