This file was deleted.

This file was deleted.

@@ -6,6 +6,10 @@
# PortGroup qmake 1.0

PortGroup qt4 1.0
PortGroup active_variants 1.1

options qt4.debug_variant
default qt4.debug_variant yes

pre-configure {
configure.cmd ${qt_qmake_cmd}
@@ -28,8 +32,17 @@ pre-configure {
}
}

variant debug description "Enable debug binaries" {
configure.pre_args-append "CONFIG+=debug"
# add debug variant if one does not exist and one is requested via qt4.debug_variant
# variant is added in eval_variants so that qt4.debug_variant can be set anywhere in the Portfile
rename ::eval_variants ::real_qmake_eval_variants
proc eval_variants {variations} {
global qt4.debug_variant
if { ![variant_exists debug] && [tbool qt4.debug_variant] } {
variant debug description {Build both release and debug binaries and libraries} {
configure.pre_args-append "CONFIG+=debug"
}
}
uplevel ::real_qmake_eval_variants $variations
}

# check for +debug variant of this port, and make sure Qt was
@@ -39,10 +52,22 @@ platform darwin {
if {[variant_exists debug] && \
[variant_isset debug] && \
![info exists building_qt4]} {
if {![file exists ${qt_frameworks_dir}/QtCore.framework/QtCore_debug]} {
if {![catch {set result [active_variants "qt4-mac" "debug" ""]}]} {
if {$result} {
# code to be executed if $depspec is active with at least all variants in
# $required and none from $forbidden
} else {
# code to be executed if $depspec is active, but either not with all
# variants in $required or any variant in $forbidden
return -code error "\n\nERROR:\n\
In order to install this port with variant +debug,\
qt4-mac must also be installed with variant +debug.\n"
}
} else {
# code to be executed if $depspec isn't active
return -code error "\n\nERROR:\n\
In order to install this port as +debug,
Qt4 must also be installed with +debug.\n"
Requested to install this port with variant +debug,\
but qt4-mac is not installed or installed but not active.\n"
}
}
}
@@ -165,6 +165,13 @@ pre-configure {
puts ${cache} QMAKE_LFLAGS+="${qmake5_l_flags}"
}

if {${os.platform} eq "darwin" && ${os.major} < 11} {
# use newer cctools on older platforms to handle output from newer clang versions
depends_build-append port:cctools
puts ${cache} QMAKE_AR="${prefix}/bin/ar\ cq"
puts ${cache} QMAKE_RANLIB="${prefix}/bin/ranlib"
}

# accommodating variant request varies depending on how qtbase was built
set base_debug false
foreach {qt_test_name qt_test_info} [array get available_qt_versions] {
@@ -14,6 +14,7 @@ array set available_qt_versions {
qt57 {qt57-qtbase 5.7}
qt56 {qt56-qtbase 5.6}
qt55 {qt55-qtbase 5.5}
qt53 {qt53-qtbase 5.3}
}
#qt5-kde {qt5-kde 5.8}

@@ -50,7 +51,7 @@ proc qt5.get_default_name {} {
# Qt 5.3: Deployment only
# Qt 5.0-5.2: Occasionally tested
#
return qt55
return qt53
#
} elseif { ${os.major} == 11 } {
#
@@ -1,6 +1,7 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem 1.0
PortGroup compiler_blacklist_versions 1.0
PortGroup cxx11 1.1

name LyX
@@ -20,14 +21,14 @@ long_description LyX is an advanced open source document processor \

platforms darwin

depends_build-append port:bison port:gawk port:cctools \
port:aspell port:hunspell
depends_build-append port:bison port:gawk port:cctools
depends_lib-append port:enchant \
bin:latex:texlive \
port:ImageMagick \
port:boost \
port:hunspell \
port:libmagic
port:libmagic \
port:aspell

use_xz yes
distname lyx-${version}
@@ -43,6 +44,9 @@ checksums rmd160 369d5f0be707436ccafe0d454db95de0a4744449 \

configure.args --disable-silent-rules

compiler.blacklist-append { clang < 800 }
patchfiles-append patch-lyx-applescriptproxy-add-stringh.diff

post-configure {
reinplace \
"s|\$(MKDIR_P) \$(pkgdatadir)|\
@@ -0,0 +1,10 @@
--- src/support/AppleScriptProxy.cpp.orig 2019-04-20 11:01:31.000000000 -0700
+++ src/support/AppleScriptProxy.cpp 2019-04-20 11:09:34.000000000 -0700
@@ -23,6 +23,7 @@
#include "support/debug.h"

#include <stdlib.h>
+#include <string.h>

using namespace std;
using namespace lyx;
@@ -1,27 +1,40 @@
PortSystem 1.0
PortGroup xcode 1.0
#-*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

name MailtoMutt
version 0.4.1
revision 1
categories aqua mail
license GPL-2
platforms darwin
maintainers nomaintainer
description MailtoMutt is a very simple application which handles\
mailto URLs, and hands them off to the Mutt MUA.
PortSystem 1.0
PortGroup xcode 1.0
PortGroup deprecated 1.0

name MailtoMutt
version 0.4.1
revision 1
categories aqua mail
license GPL-2
platforms darwin
maintainers nomaintainer
description MailtoMutt is a very simple application which handles \
mailto URLs, and hands them off to the Mutt MUA.
long_description ${description}

homepage http://mailtomutt.sourceforge.net/
master_sites sourceforge:project/mailtomutt/${name}/v${version}
distname mailtomutt-${version}
checksums md5 6754e9065e2c82fb21e192c89b287c19 \
sha1 887155f0a24dfa3bf2915c69e38a92bd934b4ad0
homepage http://mailtomutt.sourceforge.net/
master_sites sourceforge:project/mailtomutt/${name}/v${version}
distname mailtomutt-${version}
checksums rmd160 3e70d7d609afc5c000e9aefb07e13e6abbbb392a \
sha256 2a0dd170e381d0a2cd9ab2304f96c162c817cd88edbf8dd593f801e87a743f0c \
size 55829

# last update was 2004-05-31
deprecated.upstream_support no

if {[vercmp $xcodeversion 4.0] >= 0} {
post-patch {
file copy -force ${filespath}/project.pbxproj ${worksrcpath}/${name}.xcode/
}
}

# see https://trac.macports.org/ticket/57137
if {${os.platform} eq "darwin" && ([vercmp $xcodeversion 10.0] > 0)} {
build.pre_args-append -UseModernBuildSystem=NO
destroot.pre_args-append -UseModernBuildSystem=NO
}

livecheck.regex mailtomutt-(\[0-9.\]+)${extract.suffix}
@@ -5,7 +5,7 @@ PortGroup java 1.0

name OmegaT
set name_lower [string tolower ${name}]
version 4.1.5_04
version 4.2.0
categories aqua textproc java
license GPL-3
maintainers {amake @amake} openmaintainer
@@ -21,7 +21,7 @@ platforms darwin
supported_archs noarch
universal_variant no

java.version 1.8
java.version 1.8+

set flavor Latest
set dist_platform Beta_Without_JRE
@@ -30,9 +30,9 @@ set flavor_dir ${name}%20-%20${flavor}
set version_dir ${name}%20[string map {_0 "%20update%20" _ "%20update%20"} $version]
master_sites sourceforge:project/${name_lower}/${flavor_dir}/${version_dir}

checksums rmd160 71bc91fff242c4b37f8861781cb1facb764877c5 \
sha256 535d06ab6e47ee91408c4adca370b6e7665ff25014f733ea0811d34889904f07 \
size 142951571
checksums rmd160 ab4bb21ca7899c65340f62f8b72c692057996998 \
sha256 eba30bad179b19f818e0130625ef073726fdaabe461cf780b02d9e0898ef17eb \
size 151110061

use_configure no

@@ -1,11 +1,13 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem 1.0
PortGroup xcode 1.0

name Platypus
version 4.7
version 5.3
license GPL-2
categories aqua devel
maintainers nomaintainer
maintainers {amake @amake} openmaintainer
conflicts Platypus44
description Program for creating application wrappers around scripts.

@@ -21,46 +23,62 @@ master_sites http://www.sveinbjorn.org/files/software/platypus/
distname platypus${version}.src
use_zip yes

checksums md5 a2a24f6d4cd3da850bbfc54175e3332e \
sha1 87b959b96df9221caacccba3e843558d6800ebec \
rmd160 54dc72eb2af47523561d5140d0cbad842bcfd38c

checksums md5 a597ec7a6706dd0514d0d5ece1787a44 \
sha1 10ab73718cb995322becd0860d004954e94a60ac \
rmd160 f0bd84eb5349ca74f434bf05056578d1070e4184 \
sha256 b5b707d4f664ab6f60eed545d49a7d38da7557ce8268cc4791886eee7b3ca571 \
size 17401194

supported_archs i386 x86_64

build.target platypus ScriptExec Platypus
destroot.target Platypus
xcode.target Platypus

if {${os.platform} eq "darwin" && ${os.major} >= 10} {
universal_variant no
}

set extracted_dir "${name} ${version} Source Code"
set target_dir [string map {" " _} "$extracted_dir"]
worksrcdir $target_dir
worksrcdir .

post-extract {
file rename ${workpath}/${extracted_dir} ${workpath}/${target_dir}
post-patch {
reinplace "s|/usr/local|${prefix}|" ${worksrcpath}/CLT/man/platypus.1 ${worksrcpath}/Common.h
reinplace "s|CODE_SIGN_IDENTITY = \".*\";|CODE_SIGN_IDENTITY = \"\";|g" ${worksrcpath}/Platypus.xcodeproj/project.pbxproj
}


post-patch {
reinplace "s|/usr/local|${prefix}|" ${worksrcpath}/CommandLineTool/platypus.1 ${worksrcpath}/Common.h
reinplace "s|build/Platypus/Build/Products/Development|build/Deployment|" ${worksrcpath}/Platypus.xcodeproj/project.pbxproj
# This is a temporary kludge. The new Xcode build system fails to destroot this
# for reasons that are poorly understood. Remove this when a better fix is
# known.
# See https://trac.macports.org/ticket/57234
if {[vercmp ${xcodeversion} 10.0] >= 0} {
destroot.pre_args -UseNewBuildSystem=NO
}

post-destroot {
reinplace "s|/usr/local|${destroot}${prefix}|g" ${worksrcpath}/Scripts/InstallCommandLineTool.sh

# there is no English.lproj when building on Tiger and Leopard but there is one on SL
if {${os.platform} eq "darwin" && 10 > ${os.major}} {
reinplace "s|English.lproj/||g" ${worksrcpath}/Scripts/InstallCommandLineTool.sh
}

system -W ${worksrcpath}/Scripts "./InstallCommandLineTool.sh ${destroot}${applications_dir}/Platypus.app/Contents/Resources"
# The destroot target installs these as well, but they are unwanted as they
# are also gzipped as resources inside Platypus.app
delete ${destroot}${applications_dir}/ScriptExec.app \
${destroot}${applications_dir}/platypus_clt

file copy ${worksrcpath}/Application/Resources/InstallCommandLineTool.sh ${worksrcpath}
set cli_install_script ${worksrcpath}/InstallCommandLineTool.sh
reinplace "s|^chown|#chown|g" ${cli_install_script}
# The program dynamically replaces these template placeholders on invocation.
# See Common.h and InstallCommandLineTool.sh
reinplace "s|%%CMDLINE_PROGNAME_BUNDLE%%|platypus_clt.gz|g" ${cli_install_script}
reinplace "s|%%CMDLINE_SCRIPTEXEC_GZIP_NAME%%|ScriptExec.gz|g" ${cli_install_script}
reinplace "s|%%CMDLINE_MANPAGE_GZIP_NAME%%|platypus.1.gz|g" ${cli_install_script}
reinplace "s|%%CMDLINE_DEFAULT_ICON_NAME%%|PlatypusDefault.icns|g" ${cli_install_script}
reinplace "s|%%CMDLINE_NIB_NAME%%|MainMenu.nib|g" ${cli_install_script}
reinplace "s|%%CMDLINE_BIN_PATH%%|${destroot}${prefix}/bin|g" ${cli_install_script}
reinplace "s|%%CMDLINE_TOOL_PATH%%|${destroot}${prefix}/bin/platypus|g" ${cli_install_script}
reinplace "s|%%CMDLINE_SHARE_PATH%%|${destroot}${prefix}/share/platypus|g" ${cli_install_script}
reinplace "s|%%CMDLINE_MANDIR_PATH%%|${destroot}${prefix}/share/man/man1|g" ${cli_install_script}
reinplace "s|%%CMDLINE_MANPAGE_PATH%%|${destroot}${prefix}/share/man/man1/platypus.1.gz|g" ${cli_install_script}
reinplace "s|%%CMDLINE_SCRIPT_EXEC_PATH%%|${destroot}${prefix}/share/platypus/ScriptExec|g" ${cli_install_script}
reinplace "s|%%CMDLINE_ICON_PATH%%|${destroot}${prefix}/share/platypus/PlatypusDefault.icns|g" ${cli_install_script}

system -W ${worksrcpath} "./InstallCommandLineTool.sh ${destroot}${applications_dir}/Platypus.app/Contents/Resources"
}

livecheck.type regex
livecheck.url ${homepage}
livecheck.regex "${name} (\\d+(?:\\.\\d+)*)"

This file was deleted.

@@ -5,7 +5,7 @@ PortGroup cmake 1.1
PortGroup github 1.0
PortGroup qt5 1.0

github.setup whoozle android-file-transfer-linux 3.7 v
github.setup whoozle android-file-transfer-linux 3.8 v
categories aqua fuse sysutils
platforms darwin
maintainers {yan12125 @yan12125} openmaintainer
@@ -17,9 +17,9 @@ long_description ${description}

homepage https://whoozle.github.io/android-file-transfer-linux/

checksums rmd160 bc263c0fee7505a9d9ddddecf257c425249078d9 \
sha256 6cfce32e98d6b3aee745fcc7d5aec5689234e9a4d331b36a7af5a04a3b3f44c8 \
size 779614
checksums rmd160 56177800e18477911b98537392cd6ca2a29d52b5 \
sha256 da2ca43ee331d7813cd85051a980c6d7813764dda2dfbafed00c3c34bb8c238b \
size 780923

depends_lib port:osxfuse \
port:libmagic
@@ -51,11 +51,11 @@ if {${subport} eq ${name}} {
long_description ${long_description} \
This port provides the snapshot released of FLTK, typically updated a few times a month.

github.setup fltk fltk 63b86bd8f76f7d1881b1d0a60183c9d4a9ee786b
version 20190404
checksums rmd160 2739cbb710818c232110479a38b41711021fc6e9 \
sha256 bf537292269581409e0c50d20beed543c645d3f0de8800454984a49082c0d8ec \
size 5946015
github.setup fltk fltk 357dad1e519fdd39f3af2d07fff4d70415ceec8a
version 20190518-[string range ${github.version} 0 7]
checksums rmd160 349f0a4fd6dda68c09c946eab56d8878d68448b0 \
sha256 421d21bc761d5bcabfd2d6f14f213415107eb3ea68b08e65df25fba9efa12607 \
size 5944809
revision 0

patchfiles-append \
@@ -4,7 +4,7 @@ PortSystem 1.0

name gimp2-launcher
# should match gimp2 version
version 2.10.6
version 2.10.10
categories aqua graphics
platforms darwin
license GPL-3+
@@ -18,9 +18,9 @@ master_sites gimp:gimp/v${branch}/osx
# name has an architecture in it, but we delete architecture dependent components
distfiles gimp-${version}-x86_64.dmg

checksums rmd160 d08ec28078b6cbba353b0ce96eba19ea1f00b2bc \
sha256 52fe241b69d5353c546ffac008d89328fa3126d8f2557642c4661ba68e4ad6c8 \
size 181707140
checksums rmd160 a4c55034cd0dff93a81cdbc3810a8faff039fb8d \
sha256 343beabe02de11b1988c13d1157a732fbb6edf32f7f10b3654c780a75b729bed \
size 165633962

use_configure no
supported_archs noarch
@@ -12,18 +12,18 @@ if {[vercmp ${os.version} 17.0.0] < 0} {
size 11969144
patchfiles patch-Makefile.diff
} else {
version 3.2.8
version 3.2.9
checksums \
rmd160 4e8b5378f184c3342964ed3e2e90144135bc3f44 \
sha256 2bf18d30c5e56e2433a1110be4f0ec1f42ad7e26862ac424e9706293ce45aabf \
size 11857802
rmd160 cf2e314a168a7d06214580dfb52433b1780cafab \
sha256 57f7910182a60e2c25827191e37a0db71f62732f51b42deae9efeb27e01847e1 \
size 11865387
patchfiles patch-Makefile-XC10.diff
}

github.setup gnachman iTerm2 ${version} v
categories aqua shells
platforms darwin
maintainers {emer.net:emer @markemer} openmaintainer
maintainers {mark @markemer} openmaintainer
license GPL-2+
supported_archs x86_64

@@ -1,67 +1,71 @@
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem 1.0
PortGroup cmake 1.1
PortGroup qt5 1.0

name luminance-hdr
version 2.5.1
revision 4
categories aqua graphics
license GPL-2+
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
description GUI for HDR imaging workflow
long_description Qtpfsgui is an open source graphical user interface \
application that aims to provide a workflow for HDR imaging.
platforms darwin
homepage http://qtpfsgui.sourceforge.net/
master_sites sourceforge:project/qtpfsgui/luminance/${version}

use_bzip2 yes

depends_lib-append \
port:exiv2 \
port:openexr \
port:ilmbase \
port:fftw-3 \
port:fftw-3-single \
port:tiff \
port:libraw \
port:gsl \
port:jpeg \
port:lcms2 \
port:boost \
port:libpng \
port:cfitsio \
port:ccfits

qt5.depends_component qtwebengine qttools

checksums \
rmd160 ab0546bf779f801ea88283d47943bf00299ff4c5 \
sha256 a8986e0afba434a2e9da7e8aed19cdb763fedc8de2655bdb496c4ee9d3f41696 \
size 10238826
PortSystem 1.0
PortGroup cmake 1.1
PortGroup qt5 1.0

name luminance-hdr
version 2.5.1
revision 4
categories aqua graphics
license GPL-2+
maintainers {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
description GUI for HDR imaging workflow
long_description Qtpfsgui is an open source graphical user interface \
application that aims to provide a workflow for HDR imaging.
platforms darwin
homepage http://qtpfsgui.sourceforge.net/
master_sites sourceforge:project/qtpfsgui/luminance/${version}

use_bzip2 yes

depends_lib-append port:exiv2 \
port:openexr \
port:ilmbase \
port:fftw-3 \
port:fftw-3-single \
port:tiff \
port:libraw \
port:gsl \
port:jpeg \
port:lcms2 \
port:boost \
port:libpng \
port:cfitsio \
port:ccfits

qt5.depends_component \
qtwebengine \
qttools

checksums rmd160 ab0546bf779f801ea88283d47943bf00299ff4c5 \
sha256 a8986e0afba434a2e9da7e8aed19cdb763fedc8de2655bdb496c4ee9d3f41696 \
size 10238826

# allow Portfile to set install location
patchfiles-append patch-CMakeLists.txt.diff
patchfiles-append patch-CMakeLists.txt.diff

# do not attempt to copy any Qt component into application directory
patchfiles-append patch-PackagingApple.cmake_01.diff
patchfiles-append patch-PackagingApple.cmake_01.diff

# fix for exiv2 0.27
patchfiles-append patch-src-TransplantExif-TransplantExifDialog.cpp.diff
patchfiles-append patch-src-TransplantExif-TransplantExifDialog.cpp.diff

# at some point, exiv2 restructured header files
# avoid "no type named 'AnyError' in namespace 'Exiv2'"
patchfiles-append patch-exiv2_error.diff

# see ${worksrcpath}/cmake/Version.cmake for LHDR_NAME and LHDR_OSX_EXECUTABLE_NAME values
set ldhr_name "Luminance HDR"
# do not put version in name
patchfiles-append patch-Version.cmake.diff
patchfiles-append patch-Version.cmake.diff
set executable_name ${ldhr_name}

# ensure that installed file has correct file permissions
patchfiles-append patch-PackagingApple.cmake_02.diff
patchfiles-append patch-PackagingApple.cmake_02.diff

configure.args-append \
-DCMAKE_INSTALL_PREFIX=${applications_dir}
-DCMAKE_INSTALL_PREFIX=${applications_dir}

variant external description {use external programs provided by MacPorts instead of packaged binaries} {
depends_run-append port:hugin-app
@@ -0,0 +1,20 @@
--- src/Exif/ExifOperations.cpp.orig 2017-05-10 12:14:06.000000000 -0700
+++ src/Exif/ExifOperations.cpp 2019-05-11 08:42:22.000000000 -0700
@@ -35,6 +35,7 @@
#include <boost/assign/list_of.hpp>

#include <exif.hpp>
+#include <error.hpp>
#include <image.hpp>

#include "ExifOperations.h"
--- src/TransplantExif/TransplantExifDialog.cpp.orig 2019-05-11 08:40:02.000000000 -0700
+++ src/TransplantExif/TransplantExifDialog.cpp 2019-05-11 08:44:23.000000000 -0700
@@ -27,6 +27,7 @@
#include <image.hpp>
#include <exif.hpp>
#include <exiv2/version.hpp>
+#include <exiv2/error.hpp>

#include "Common/global.h"
#include "Common/config.h"
@@ -42,6 +42,11 @@ patchfiles-append patch-name.diff \
patch-Info.plist.in.diff \
patch-CMakeLists.txt.diff

#ImageLounge/src/DkCore/DkMetaData.cpp:1267:7: error: no member named 'cout' in namespace 'std'
# std::cout << xmpPacket << "\n";
# ~~~~~^
patchfiles-append patch-nomacs-iostream-missing.diff

post-destroot {
move {*}[glob ${destroot}${applications_dir}/*.dylib ${destroot}${prefix}/lib]
xinstall -d -m 0755 ${destroot}${applications_dir}/Nomacs.app/Contents/Resources
@@ -0,0 +1,26 @@
diff --git src/DkCore/DkMetaData.cpp src/DkCore/DkMetaData.cpp
index d195757..affec7b 100644
--- src/DkCore/DkMetaData.cpp
+++ src/DkCore/DkMetaData.cpp
@@ -42,6 +42,8 @@
#include <QApplication>
#pragma warning(pop) // no warnings from includes - end

+#include <iostream>
+
namespace nmc {

// DkMetaDataT --------------------------------------------------------------------
diff --git src/DkGui/DkNoMacs.cpp src/DkGui/DkNoMacs.cpp
index 6a412f7..bbfba23 100644
--- src/DkGui/DkNoMacs.cpp
+++ src/DkGui/DkNoMacs.cpp
@@ -96,6 +96,8 @@
#include <QWinTaskbarButton>
#endif

+#include <iostream>
+
namespace nmc {

DkNomacsOSXEventFilter::DkNomacsOSXEventFilter(QObject *parent) : QObject(parent) {
@@ -18,8 +18,9 @@ checksums rmd160 a8c700ca72e71889a0f84bc75c7d6ba5d983e6b0 \
sha256 fbace1f9575c3b65de44c4abac6bad7d1ae2a2228c5c14f5e4950d03f9d55a1b \
size 101398

qt5.depends_component qtbase \
qttools
qt5.depends_component qttools
qt5.min_version 5.6.0


# on next rev change to use cmake.install_prefix ${applications_dir}
configure.args-append -DCMAKE_INSTALL_PREFIX=${applications_dir}
@@ -30,6 +30,8 @@ dist_subdir qt4-mac
# when using 'building_qt4' and qmake, have to include dependency on qt4-mac
depends_lib-append port:qt4-mac

qt4.debug_variant no

set DB mysql
set DRIVER src/sql/drivers/${DB}
set PLUGIN src/plugins/sqldrivers/${DB}
@@ -30,6 +30,8 @@ dist_subdir qt4-mac
# when using 'building_qt4' and qmake, have to include dependency on qt4-mac
depends_lib-append port:qt4-mac

qt4.debug_variant no

set DB psql
set DRIVER src/sql/drivers/${DB}
set PLUGIN src/plugins/sqldrivers/${DB}
@@ -30,6 +30,8 @@ dist_subdir qt4-mac
# when using 'building_qt4' and qmake, have to include dependency on qt4-mac
depends_lib-append port:qt4-mac

qt4.debug_variant no

if {${name} == ${subport}} {

set DB sqlite2

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -0,0 +1,33 @@
From dd5bed5198bda65930d4ea406e29006f0deb6018 Mon Sep 17 00:00:00 2001
From: Marcus Calhoun-Lopez <marcuscalhounlopez@gmail.com>
Date: Sun, 22 Nov 2015 10:24:04 -0700
Subject: [PATCH] OS X: resolve SDK version of QMAKE_LINK_C and
QMAKE_LINK_C_SHLIB

On OS X, both compilers and linkers are given an absolute path.
For consistency, the same should be done with the C linkers.
The change is also a convenience to the MacPorts project,
which actively discourages ambiguous compiler names.
(https://trac.macports.org/wiki/UsingTheRightCompiler).

Change-Id: Ic1885aed825340696e9fde766788eebf51de3ff6
---
mkspecs/features/mac/sdk.prf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
index e238f8e..624366a 100644
--- mkspecs/features/mac/sdk.prf
+++ mkspecs/features/mac/sdk.prf
@@ -43,7 +43,7 @@ QMAKE_INCDIR_OPENGL = $$sysrootified
QMAKESPEC_NAME = $$basename(QMAKESPEC)

# Resolve SDK version of various tools
-for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB)) {
+for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) {
tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
!isEmpty($$tool_variable) {
$$tool = $$eval($$tool_variable)
--
2.6.2.2.g1b5ffa3

@@ -0,0 +1,11 @@
--- mkspecs/features/c++11.prf.orig 2019-04-14 17:43:58.000000000 -0700
+++ mkspecs/features/c++11.prf 2019-04-14 17:44:12.000000000 -0700
@@ -4,7 +4,7 @@

contains(QMAKE_LFLAGS, -stdlib=libc++) {
equals(QMAKE_MACOSX_DEPLOYMENT_TARGET, 10.6): \
- QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
+ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
contains(QMAKE_IOS_DEPLOYMENT_TARGET, ^4.*): \
QMAKE_IOS_DEPLOYMENT_TARGET = 5.0
}
@@ -0,0 +1,10 @@
--- src/3rdparty/chromium/printing/backend/print_backend_cups.cc.orig 2015-10-12 21:36:42.000000000 -0700
+++ src/3rdparty/chromium/printing/backend/print_backend_cups.cc 2016-10-25 05:50:33.000000000 -0700
@@ -6,6 +6,7 @@

#include "build/build_config.h"

+#include <cups/ppd.h>
#include <dlfcn.h>
#include <errno.h>
#include <pthread.h>
@@ -0,0 +1,24 @@
--- Source/JavaScriptCore/API/JSBase.h.orig 2015-10-12 21:37:10.000000000 -0700
+++ Source/JavaScriptCore/API/JSBase.h 2016-11-13 06:22:44.000000000 -0700
@@ -141,7 +141,7 @@

/* Enable the Objective-C API for platforms with a modern runtime. */
#if !defined(JSC_OBJC_API_ENABLED)
-#define JSC_OBJC_API_ENABLED (defined(__clang__) && defined(__APPLE__) && defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 && !defined(__i386__))
+#define JSC_OBJC_API_ENABLED 0
#endif

#endif /* JSBase_h */
--- Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp.orig 2015-10-12 21:37:14.000000000 -0700
+++ Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp 2016-11-13 08:00:01.000000000 -0700
@@ -423,10 +419,6 @@
OwnPtr<MessageDecoder> decoder = createMessageDecoder(header);
ASSERT(decoder);

-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- decoder->setImportanceAssertion(ImportanceAssertion::create(header));
-#endif
-
if (decoder->messageReceiverName() == "IPC" && decoder->messageName() == "InitializeConnection") {
ASSERT(m_isServer);
ASSERT(!m_isConnected);
@@ -0,0 +1,22 @@
--- mkspecs/common/mac.conf.orig 2015-10-12 21:35:32.000000000 -0700
+++ mkspecs/common/mac.conf 2017-11-04 22:43:45.000000000 -0700
@@ -6,7 +6,7 @@

QMAKE_PLATFORM += mac darwin

-QMAKE_RESOURCE = /Developer/Tools/Rez
+QMAKE_RESOURCE = __MACPORTS_Rez__
QMAKE_EXTENSION_SHLIB = dylib
QMAKE_LIBDIR =

--- mkspecs/features/mac/rez.prf.orig 2015-10-12 21:35:32.000000000 -0700
+++ mkspecs/features/mac/rez.prf 2017-11-04 22:44:49.000000000 -0700
@@ -1,7 +1,7 @@

#global defaults
isEmpty(QMAKE_REZ) {
- QMAKE_REZ = /Developer/Tools/Rez
+ QMAKE_REZ = __MACPORTS_Rez__
}
isEmpty(REZ_DIR):REZ_DIR = .
isEmpty(QMAKE_EXT_REZ):QMAKE_EXT_REZ = .rsrc
@@ -0,0 +1,53 @@
From cf63c63d558227fdbef09699c261560e7474f5ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
Date: Wed, 15 Jul 2015 15:52:53 +0200
Subject: [PATCH] Fix build with clang 3.7

_Nullable is a language extension in clang 3.7 (indicating whether or
not a pointer can be null).
http://clang.llvm.org/docs/AttributeReference.html#nullable

Using it as a class name breaks building with this compiler.

Change-Id: I0c838dac872ca2c00bf57c95df17d24edb48007b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
---
src/tools/qlalr/lalr.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git src/tools/qlalr/lalr.cpp src/tools/qlalr/lalr.cpp
index 3d0d5de19b..3d780cd618 100644
--- src/tools/qlalr/lalr.cpp
+++ src/tools/qlalr/lalr.cpp
@@ -238,11 +238,11 @@ void Grammar::buildExtendedGrammar ()
non_terminals.insert (accept_symbol);
}

-struct _Nullable: public std::unary_function<Name, bool>
+struct Nullable: public std::unary_function<Name, bool>
{
Automaton *_M_automaton;

- _Nullable (Automaton *aut):
+ Nullable (Automaton *aut):
_M_automaton (aut) {}

bool operator () (Name name) const
@@ -300,7 +300,7 @@ void Automaton::buildNullables ()

for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule)
{
- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this)));
+ NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (Nullable (this)));

if (nn == rule->rhs.end ())
changed |= nullables.insert (rule->lhs).second;
@@ -635,7 +635,7 @@ void Automaton::buildIncludesDigraph ()
if (! _M_grammar->isNonTerminal (*A))
continue;

- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this)));
+ NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (Nullable (this)));
if (first_not_nullable != rule->rhs.end ())
continue;

@@ -0,0 +1,60 @@
From 146ebe26dce3289eb440bed7d5d0a7988ff5f5c9 Mon Sep 17 00:00:00 2001
From: Sylvain Defresne <sdefresne@chromium.org>
Date: Fri, 18 Sep 2015 22:18:57 +0200
Subject: [PATCH] <tools/gyp> [Backport] Fallback to '.tbd' for system missing
'.dylib'.

With Xcode 7 the '.dylib' for system libraries are no longer present
but instead only '.tbd' are shipped maybe in an effort to reduce the
size of the SDK download.

Change XcodeSettings._AdjustLibrary() to look for a '.tbd' file for
system libraries (those whose path starts by "$(SDKROOT)"). Only do
the substitution if the '.dylib' cannot be found and a '.tbd' file
with the same path exists.

BUG=517914
R=justincohen@chromium.org, mark@chromium.org

Review URL: https://codereview.chromium.org/1275133004 .

Patch from Sylvain Defresne <sdefresne@chromium.org>.

Change-Id: I8e81340b1258501a2e5f4952c606ae7204b0d74f
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
---
chromium/tools/gyp/pylib/gyp/xcode_emulation.py | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/chromium/tools/gyp/pylib/gyp/xcode_emulation.py b/chromium/tools/gyp/pylib/gyp/xcode_emulation.py
index ac5ffea..14bd7a9 100644
--- src/3rdparty/chromium/tools/gyp/pylib/gyp/xcode_emulation.py
+++ src/3rdparty/chromium/tools/gyp/pylib/gyp/xcode_emulation.py
@@ -1006,7 +1006,23 @@ class XcodeSettings(object):
sdk_root = self._SdkPath(config_name)
if not sdk_root:
sdk_root = ''
- return l.replace('$(SDKROOT)', sdk_root)
+ # Xcode 7 started shipping with ".tbd" (text based stubs) files instead of
+ # ".dylib" without providing a real support for them. What it does, for
+ # "/usr/lib" libraries, is do "-L/usr/lib -lname" which is dependent on the
+ # library order and cause collision when building Chrome.
+ #
+ # Instead substitude ".tbd" to ".dylib" in the generated project when the
+ # following conditions are both true:
+ # - library is referenced in the gyp file as "$(SDKROOT)/**/*.dylib",
+ # - the ".dylib" file does not exists but a ".tbd" file do.
+ library = l.replace('$(SDKROOT)', sdk_root)
+ if l.startswith('$(SDKROOT)'):
+ basename, ext = os.path.splitext(library)
+ if ext == '.dylib' and not os.path.exists(library):
+ tbd_library = basename + '.tbd'
+ if os.path.exists(tbd_library):
+ library = tbd_library
+ return library

def AdjustLibraries(self, libraries, config_name=None):
"""Transforms entries like 'Cocoa.framework' in libraries into entries like
--
2.4.9 (Apple Git-60)

@@ -0,0 +1,28 @@
--- Source/WTF/WTF.pri.orig 2014-09-11 03:48:11.000000000 -0700
+++ Source/WTF/WTF.pri 2019-04-19 10:34:17.000000000 -0700
@@ -9,10 +9,8 @@
INCLUDEPATH += $$PWD

mac {
- # Mac OS does ship libicu but not the associated header files.
- # Therefore WebKit provides adequate header files.
- INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH
- LIBS += -licucore
+ CONFIG += link_pkgconfig
+ PKGCONFIG *= icu-i18n
} else {
contains(QT_CONFIG,icu) {
win32: LIBS += -licuin -licuuc -licudt
--- Source/WebCore/Target.pri.orig 2015-10-12 21:37:22.000000000 -0700
+++ Source/WebCore/Target.pri 2016-05-04 09:47:10.000000000 -0700
@@ -2986,9 +2986,7 @@
}

mac {
- # For Mac we use the same SmartReplace implementation as the Apple port.
- SOURCES += editing/SmartReplaceCF.cpp
- INCLUDEPATH += $$PWD/icu
+ SOURCES += editing/SmartReplaceICU.cpp
} else {
SOURCES += editing/SmartReplaceICU.cpp
}
@@ -0,0 +1,19 @@
--- examples/widgets/mac/qmaccocoaviewcontainer/qmaccocoaviewcontainer.pro.orig 2016-05-25 08:46:17.000000000 -0700
+++ examples/widgets/mac/qmaccocoaviewcontainer/qmaccocoaviewcontainer.pro 2016-06-13 06:37:56.000000000 -0700
@@ -5,3 +5,6 @@

QT += widgets

+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/mac/qmaccocoaviewcontainer
+INSTALLS += target
--- examples/widgets/mac/qmacnativewidget/qmacnativewidget.pro.orig 2016-05-25 08:46:17.000000000 -0700
+++ examples/widgets/mac/qmacnativewidget/qmacnativewidget.pro 2016-06-13 06:39:47.000000000 -0700
@@ -5,3 +5,7 @@

QT += widgets
#QT += widgets-private gui-private core-private
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/widgets/mac/qmacnativewidget
+INSTALLS += target
@@ -0,0 +1,15 @@
--- tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro.orig 2015-07-05 12:53:46.000000000 -0700
+++ tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro 2015-07-05 12:53:25.000000000 -0700
@@ -7,10 +7,10 @@
load(qt)

i386.target = good.i386.dylib
-i386.commands = $(CXX) $(CXXFLAGS) -shared -arch i386 -o $@ -I$(INCPATH) $<
+i386.commands = $(CXX) $(filter-out -arch i386 x86_64,$(CXXFLAGS)) -shared -arch i386 -o $@ -I$(INCPATH) $<
i386.depends += $$PWD/../fakeplugin.cpp
x86_64.target = good.x86_64.dylib
-x86_64.commands = $(CXX) $(CXXFLAGS) -shared -arch x86_64 -o $@ -I$(INCPATH) $<
+x86_64.commands = $(CXX) $(filter-out -arch i386 x86_64,$(CXXFLAGS)) -shared -arch x86_64 -o $@ -I$(INCPATH) $<
x86_64.depends += $$PWD/../fakeplugin.cpp

# Current Mac OS X toolchains have no compiler for PPC anymore
@@ -0,0 +1,25 @@
--- .//src/3rdparty/chromium/media/midi/midi_manager_mac.cc.orig 2015-10-12 21:36:43.000000000 -0700
+++ .//src/3rdparty/chromium/media/midi/midi_manager_mac.cc 2015-11-11 09:31:28.000000000 -0700
@@ -17,10 +17,6 @@
using base::SysCFStringRefToUTF8;
using std::string;

-// NB: System MIDI types are pointer types in 32-bit and integer types in
-// 64-bit. Therefore, the initialization is the simplest one that satisfies both
-// (if possible).
-
namespace media {

namespace {
@@ -206,11 +202,7 @@
// This method is called on a separate high-priority thread owned by CoreMIDI.

MidiManagerMac* manager = static_cast<MidiManagerMac*>(read_proc_refcon);
-#if __LP64__
MIDIEndpointRef source = reinterpret_cast<uintptr_t>(src_conn_refcon);
-#else
- MIDIEndpointRef source = static_cast<MIDIEndpointRef>(src_conn_refcon);
-#endif

// Dispatch to class method.
manager->ReadMidi(source, packet_list);
@@ -0,0 +1,167 @@
diff --git mkspecs/common/clang-mac.conf mkspecs/common/clang-mac.conf
index 3280274f..38f0bd34 100644
--- mkspecs/common/clang-mac.conf
+++ mkspecs/common/clang-mac.conf
@@ -6,5 +6,8 @@ QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE

QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvm.clang.1_0

-QMAKE_CXXFLAGS_CXX11 += -stdlib=libc++
-QMAKE_LFLAGS_CXX11 += -stdlib=libc++
+QMAKE_CXXFLAGS_CXX11 += -stdlib=__MACPORTS_CXX_STDLIB__
+QMAKE_LFLAGS_CXX11 += -stdlib=__MACPORTS_CXX_STDLIB__
+QMAKE_CXXFLAGS += -stdlib=__MACPORTS_CXX_STDLIB__
+QMAKE_LFLAGS += -stdlib=__MACPORTS_CXX_STDLIB__
+DEFINES += NS_BUILD_32_LIKE_64
diff --git mkspecs/common/clang.conf mkspecs/common/clang.conf
index d58b44b2..2ad29ef3 100644
--- mkspecs/common/clang.conf
+++ mkspecs/common/clang.conf
@@ -4,8 +4,10 @@

QMAKE_COMPILER = gcc clang llvm # clang pretends to be gcc

-QMAKE_CC = clang
-QMAKE_CXX = clang++
+QMAKE_CC = __MACPORTS_CC__
+QMAKE_CXX = __MACPORTS_CXX__
+QMAKE_AR = @@PREFIX@@/bin/ar cq
+QMAKE_RANLIB = @@PREFIX@@/bin/ranlib

QMAKE_LINK = $$QMAKE_CXX
QMAKE_LINK_SHLIB = $$QMAKE_CXX
diff --git mkspecs/common/gcc-base.conf mkspecs/common/gcc-base.conf
index fcff502a..8823b1e6 100644
--- mkspecs/common/gcc-base.conf
+++ mkspecs/common/gcc-base.conf
@@ -31,7 +31,7 @@
# you can use the manual test in tests/manual/mkspecs.
#

-QMAKE_CFLAGS_OPTIMIZE = -O2
+QMAKE_CFLAGS_OPTIMIZE = __MACPORTS_OPTFLAGS__
QMAKE_CFLAGS_OPTIMIZE_FULL = -O3

QMAKE_CFLAGS += -pipe
diff --git mkspecs/common/macx.conf mkspecs/common/macx.conf
index ad54612f..94a23d4a 100644
--- mkspecs/common/macx.conf
+++ mkspecs/common/macx.conf
@@ -3,6 +3,6 @@
#

QMAKE_PLATFORM += osx macx
-QMAKE_MAC_SDK = macosx
+QMAKE_MAC_SDK = __MACPORTS_MAC_SDK__

include(mac.conf)
diff --git mkspecs/macx-clang-32/qmake.conf mkspecs/macx-clang-32/qmake.conf
index e0c4bd57..62a7b798 100644
--- mkspecs/macx-clang-32/qmake.conf
+++ mkspecs/macx-clang-32/qmake.conf
@@ -11,7 +11,7 @@ include(../common/gcc-base-mac.conf)
include(../common/clang.conf)
include(../common/clang-mac.conf)

-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__

QMAKE_CFLAGS += -arch i386
QMAKE_OBJECTIVE_CFLAGS += -arch i386
diff --git mkspecs/macx-clang/qmake.conf mkspecs/macx-clang/qmake.conf
index f28b728b..e4266e91 100644
--- mkspecs/macx-clang/qmake.conf
+++ mkspecs/macx-clang/qmake.conf
@@ -11,6 +11,10 @@ include(../common/gcc-base-mac.conf)
include(../common/clang.conf)
include(../common/clang-mac.conf)

-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__
+
+QMAKE_CFLAGS += -arch x86_64
+QMAKE_CXXFLAGS += -arch x86_64
+QMAKE_LFLAGS += -arch x86_64

load(qt_config)
diff --git mkspecs/macx-g++-32/qmake.conf mkspecs/macx-g++-32/qmake.conf
index 6ef78aac..01cf5af7 100644
--- mkspecs/macx-g++-32/qmake.conf
+++ mkspecs/macx-g++-32/qmake.conf
@@ -14,7 +14,7 @@ include(../common/macx.conf)
include(../common/gcc-base-mac.conf)
include(../common/g++-macx.conf)

-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__

QMAKE_CFLAGS += -arch i386
QMAKE_OBJECTIVE_CFLAGS += -arch i386
diff --git mkspecs/macx-g++/qmake.conf mkspecs/macx-g++/qmake.conf
index a6c075a2..f507668b 100644
--- mkspecs/macx-g++/qmake.conf
+++ mkspecs/macx-g++/qmake.conf
@@ -14,6 +14,10 @@ include(../common/macx.conf)
include(../common/gcc-base-mac.conf)
include(../common/g++-macx.conf)

-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__
+
+QMAKE_CFLAGS += -arch x86_64
+QMAKE_CXXFLAGS += -arch x86_64
+QMAKE_LFLAGS += -arch x86_64

load(qt_config)
diff --git mkspecs/macx-g++40/qmake.conf mkspecs/macx-g++40/qmake.conf
index f40315a6..612cfabc 100644
--- mkspecs/macx-g++40/qmake.conf
+++ mkspecs/macx-g++40/qmake.conf
@@ -14,7 +14,7 @@ include(../common/macx.conf)
include(../common/gcc-base-mac.conf)
include(../common/g++-macx.conf)

-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__

QMAKE_CC = gcc-4.0
QMAKE_CXX = g++-4.0
diff --git mkspecs/macx-g++42/qmake.conf mkspecs/macx-g++42/qmake.conf
index 25383e9c..b21e8617 100644
--- mkspecs/macx-g++42/qmake.conf
+++ mkspecs/macx-g++42/qmake.conf
@@ -14,7 +14,7 @@ include(../common/macx.conf)
include(../common/gcc-base-mac.conf)
include(../common/g++-macx.conf)

-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__

QMAKE_CC = gcc-4.2
QMAKE_CXX = g++-4.2
diff --git mkspecs/macx-icc/qmake.conf mkspecs/macx-icc/qmake.conf
index 03dc58a6..1eff3a70 100644
--- mkspecs/macx-icc/qmake.conf
+++ mkspecs/macx-icc/qmake.conf
@@ -81,7 +81,7 @@ QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden

-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__

include(../common/macx.conf)

diff --git mkspecs/macx-llvm/qmake.conf mkspecs/macx-llvm/qmake.conf
index 7bdef709..8a9f7684 100644
--- mkspecs/macx-llvm/qmake.conf
+++ mkspecs/macx-llvm/qmake.conf
@@ -14,7 +14,7 @@ include(../common/macx.conf)
include(../common/gcc-base-mac.conf)
include(../common/llvm.conf)

-QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
+QMAKE_MACOSX_DEPLOYMENT_TARGET = __MACPORTS_DEPLOYMENT_TARGET__

QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvmgcc42

@@ -0,0 +1,35 @@
--- src/assistant/assistant/assistant.pro.orig 2019-04-20 07:21:04.000000000 -0700
+++ src/assistant/assistant/assistant.pro 2019-04-20 07:21:55.000000000 -0700
@@ -1,8 +1,5 @@
-qtHaveModule(webkitwidgets):!contains(QT_CONFIG, static) {
- QT += webkitwidgets
-} else {
DEFINES += QT_NO_WEBKIT
-}
+
QT += widgets network help sql help
qtHaveModule(printsupport): QT += printsupport
PROJECTNAME = Assistant
@@ -72,11 +69,9 @@
openpageswidget.cpp \
openpagesmanager.cpp \
openpagesswitcher.cpp
-qtHaveModule(webkitwidgets):!contains(QT_CONFIG, static) {
- SOURCES += helpviewer_qwv.cpp
-} else {
+
SOURCES += helpviewer_qtb.cpp
-}
+

FORMS += bookmarkdialog.ui \
bookmarkmanagerwidget.ui \
--- src/designer/src/plugins/plugins.pro.orig 2016-02-26 03:07:22.000000000 -0700
+++ src/designer/src/plugins/plugins.pro 2016-05-04 16:32:21.000000000 -0700
@@ -1,6 +1,5 @@
TEMPLATE = subdirs

# qtHaveModule(opengl): SUBDIRS += tools/view3d
-qtHaveModule(webkitwidgets): SUBDIRS += qwebview
win32: qtHaveModule(axcontainer): SUBDIRS += activeqt
qtHaveModule(quickwidgets): SUBDIRS += qquickwidget
@@ -0,0 +1,11 @@
--- configure.orig 2015-10-12 21:35:07.000000000 -0700
+++ configure 2015-10-18 12:19:26.000000000 -0700
@@ -4230,7 +4230,7 @@

local incdir_raw incdir_mod cflags
local libdir_raw libdir_mod libs
- if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists $pkg_name 2>/dev/null; then
+ if [ -n "$PKG_CONFIG" ] && [ "$qmake_postfix" != "OPENGL" ] && $PKG_CONFIG --exists $pkg_name 2>/dev/null; then
incdir_raw=`$PKG_CONFIG --cflags-only-I $pkg_name 2>/dev/null`
cflags=`$PKG_CONFIG --cflags-only-other $pkg_name 2>/dev/null`
libdir_raw=`$PKG_CONFIG --libs-only-L $pkg_name 2>/dev/null`
@@ -0,0 +1,38 @@
From 3964b683f849baade1576ea2f50aab631970df58 Mon Sep 17 00:00:00 2001
From: Martin Afanasjew <martin@afanasjew.de>
Date: Sun, 27 Sep 2015 14:39:06 +0200
Subject: [PATCH] qmake: Fix 'Libs:' line in .pc files on OS X

On OS X with a framework-based build of Qt, the 'Libs:' line of the
.pc files generated by `qmake` references the framework. This requires
two separate arguments to the linker: The fixed string '-framework' and
the name of the framework (e.g. 'QtCore'). Only the latter might need
quoting. Prior to this fix, they were treated as a single argument (e.g.
'-framework QtCore'), thus always quoted because of the contained space,
and later lead to errors when trying to link a Qt framework discovered
via `pkg-config`.

Change-Id: I5c11ee651048832007e2ee4ebcbcf2e3212c8f48
Task-number: QTBUG-47162
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
---
qmake/generators/makefile.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 4a03faf..7d4026c 100644
--- qmake/generators/makefile.cpp
+++ qmake/generators/makefile.cpp
@@ -3253,7 +3253,8 @@ MakefileGenerator::writePkgConfigFile()
int suffix = bundle.lastIndexOf(".framework");
if (suffix != -1)
bundle = bundle.left(suffix);
- pkgConfiglibName = "-framework " + bundle + " ";
+ t << "-framework ";
+ pkgConfiglibName = bundle.toQString();
} else {
if (!project->values("QMAKE_DEFAULT_LIBDIRS").contains(libDir))
t << "-L${libdir} ";
--
2.4.9 (Apple Git-60)

@@ -0,0 +1,8 @@
--- config.tests/unix/nis/nis.pro.orig 2019-04-18 17:32:07.000000000 -0700
+++ config.tests/unix/nis/nis.pro 2019-04-18 17:32:56.000000000 -0700
@@ -1,4 +1,5 @@
SOURCES = nis.cpp
CONFIG -= qt dylib
+QMAKE_CXXFLAGS += -DBOOL_DEFINED
solaris-*:LIBS += -lnsl
else:LIBS += $$QMAKE_LIBS_NIS
@@ -0,0 +1,13 @@
--- configure.old 2019-04-18 17:15:33.000000000 -0700
+++ configure 2019-04-18 17:16:30.000000000 -0700
@@ -296,8 +296,8 @@
# Prefix tool with toolchain path
var=$(echo "$line" | cut -d '=' -f 1)
val=$(echo "$line" | cut -d '=' -f 2-)
- sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d ' ' -f 1))
- val=$(echo $sdk_val $(echo $val | cut -s -d ' ' -f 2-))
+#disable sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d ' ' -f 1))
+#disable val=$(echo $sdk_val $(echo $val | cut -s -d ' ' -f 2-))
echo "$var=$val"
;;
QMAKE_CFLAGS=*|QMAKE_CXXFLAGS=*|QMAKE_OBJECTIVE_CFLAGS=*)
@@ -0,0 +1,13 @@
--- ./Source/WebKit2/WebProcess/qt/WebProcessQt.cpp.orig 2019-04-19 11:50:35.000000000 -0700
+++ ./Source/WebKit2/WebProcess/qt/WebProcessQt.cpp 2019-04-19 11:54:57.000000000 -0700
@@ -49,7 +49,9 @@
#include <mach/host_info.h>
#include <mach/mach.h>
#include <mach/mach_error.h>
-#elif !defined(Q_OS_WIN)
+#endif
+
+#if !defined(Q_OS_WIN)
#include <unistd.h>
#endif

@@ -0,0 +1,81 @@
From 462323dba4f963844e8c9911da27a0d21e4abf43 Mon Sep 17 00:00:00 2001
From: Samuel Gaist <samuel.gaist@edeltech.ch>
Date: Sun, 2 Oct 2016 21:19:39 +0200
Subject: [PATCH] Fixed build with MaxOSX10.12 SDK

This patch adds missing includes that allows to build the module with
the 10.12 SDK and Xcode 8.

Change-Id: Ieab48f6a0582b916ceecbbb9a01a4169d6ba53f5
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
---
src/bluetooth/osx/osxbtcentralmanager_p.h | 8 ++++++++
src/bluetooth/osx/osxbtledeviceinquiry.mm | 5 +++++
src/bluetooth/osx/osxbtutility.mm | 3 +++
3 files changed, 16 insertions(+)

diff --git src/bluetooth/osx/osxbtcentralmanager_p.h src/bluetooth/osx/osxbtcentralmanager_p.h
index 1ff33c1..68b32f3 100644
--- src/bluetooth/osx/osxbtcentralmanager_p.h
+++ src/bluetooth/osx/osxbtcentralmanager_p.h
@@ -50,6 +50,14 @@

#include "corebluetoothwrapper_p.h"

+#if QT_MAC_PLATFORM_SDK_EQUAL_OR_ABOVE(101200, __IPHONE_NA)
+#include <CoreBluetooth/CBService.h>
+#include <CoreBluetooth/CBCharacteristic.h>
+#include <CoreBluetooth/CBDescriptor.h>
+#include <CoreBluetooth/CBCentralManager.h>
+#include <CoreBluetooth/CBPeripheral.h>
+#endif
+
@class QT_MANGLE_NAMESPACE(OSXBTCentralManager);

QT_BEGIN_NAMESPACE
diff --git src/bluetooth/osx/osxbtledeviceinquiry.mm src/bluetooth/osx/osxbtledeviceinquiry.mm
index 5cf9b19..5a2f2db 100644
--- src/bluetooth/osx/osxbtledeviceinquiry.mm
+++ src/bluetooth/osx/osxbtledeviceinquiry.mm
@@ -42,6 +42,11 @@

#include "corebluetoothwrapper_p.h"

+#if QT_MAC_PLATFORM_SDK_EQUAL_OR_ABOVE(101200, __IPHONE_NA)
+#import <CoreBluetooth/CBCentralManager.h>
+#import <CoreBluetooth/CBPeripheral.h>
+#endif
+
QT_BEGIN_NAMESPACE

namespace OSXBluetooth {
diff --git src/bluetooth/osx/osxbtutility.mm src/bluetooth/osx/osxbtutility.mm
index 08ff699..32f6f74 100644
--- src/bluetooth/osx/osxbtutility.mm
+++ src/bluetooth/osx/osxbtutility.mm
@@ -41,6 +41,9 @@
#ifndef QT_IOS_BLUETOOTH

#import <IOBluetooth/objc/IOBluetoothSDPUUID.h>
+#if QT_MAC_PLATFORM_SDK_EQUAL_OR_ABOVE(101200, __IPHONE_NA)
+#import <CoreBluetooth/CBUUID.h>
+#endif

#endif

--
2.10.0

--- src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm.orig 2015-10-12 21:35:37.000000000 -0700
+++ src/bluetooth/qbluetoothdevicediscoveryagent_osx.mm 2016-10-26 09:41:50.000000000 -0700
@@ -54,6 +54,10 @@
// Only after Foundation.h:
#include "osx/corebluetoothwrapper_p.h"

+#if QT_MAC_PLATFORM_SDK_EQUAL_OR_ABOVE(101200, __IPHONE_NA)
+#include <CoreBluetooth/CBPeripheral.h>
+#endif
+
QT_BEGIN_NAMESPACE

using OSXBluetooth::ObjCScopedPointer;
@@ -0,0 +1,98 @@
--- src/bluetooth/osx/osxbtcentralmanager.mm.orig 2015-10-12 21:35:37.000000000 -0700
+++ src/bluetooth/osx/osxbtcentralmanager.mm 2017-09-23 11:09:40.000000000 -0700
@@ -1032,10 +1032,19 @@

using namespace OSXBluetooth;

+#if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_10_0) || QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ const CBManagerState state = central.state;
+#else
const CBCentralManagerState state = central.state;
+#endif

+#if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_10_0) || QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ if (state == CBManagerStateUnknown
+ || state == CBManagerStateResetting) {
+#else
if (state == CBCentralManagerStateUnknown
|| state == CBCentralManagerStateResetting) {
+#endif
// We still have to wait, docs say:
// "The current state of the central manager is unknown;
// an update is imminent." or
@@ -1051,7 +1060,11 @@
}

// Let's check some states we do not like first:
+#if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_10_0) || QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ if (state == CBManagerStateUnsupported || state == CBManagerStateUnauthorized) {
+#else
if (state == CBCentralManagerStateUnsupported || state == CBCentralManagerStateUnauthorized) {
+#endif
if (managerState == CentralManagerUpdating) {
// We tried to connect just to realize, LE is not supported. Report this.
managerState = CentralManagerIdle;
@@ -1065,7 +1078,11 @@
return;
}

+#if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_10_0) || QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ if (state == CBManagerStatePoweredOff) {
+#else
if (state == CBCentralManagerStatePoweredOff) {
+#endif
if (managerState == CentralManagerUpdating) {
// I've seen this instead of Unsopported on OS X.
managerState = CentralManagerIdle;
@@ -1079,7 +1096,11 @@
return;
}

+#if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_10_0) || QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ if (state == CBManagerStatePoweredOn) {
+#else
if (state == CBCentralManagerStatePoweredOn) {
+#endif
if (managerState == CentralManagerUpdating) {
managerState = CentralManagerIdle;
const QLowEnergyController::Error status = [self connectToDevice];
--- src/bluetooth/osx/osxbtledeviceinquiry.mm.orig 2017-09-23 10:38:46.000000000 -0700
+++ src/bluetooth/osx/osxbtledeviceinquiry.mm 2017-09-23 11:19:35.000000000 -0700
@@ -216,8 +216,13 @@
return;
}

+#if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_10_0) || QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ const CBManagerState state = central.state;
+ if (state == CBManagerStatePoweredOn) {
+#else
const CBCentralManagerState state = central.state;
if (state == CBCentralManagerStatePoweredOn) {
+#endif
if (pendingStart) {
pendingStart = false;
isActive = true;
@@ -229,7 +234,11 @@
startTime = QTime::currentTime();
[manager scanForPeripheralsWithServices:nil options:nil];
} // Else we ignore.
+#if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_10_0) || QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ } else if (state == CBManagerStateUnsupported || state == CBManagerStateUnauthorized) {
+#else
} else if (state == CBCentralManagerStateUnsupported || state == CBCentralManagerStateUnauthorized) {
+#endif
if (pendingStart) {
pendingStart = false;
delegate->LEnotSupported();
@@ -242,7 +251,11 @@
[manager stopScan];
delegate->LEdeviceInquiryError(QBluetoothDeviceDiscoveryAgent::PoweredOffError);
}
+#if QT_IOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__IPHONE_10_0) || QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ } else if (state == CBManagerStatePoweredOff) {
+#else
} else if (state == CBCentralManagerStatePoweredOff) {
+#endif
if (pendingStart) {
pendingStart = false;
delegate->LEnotSupported();
@@ -0,0 +1,49 @@
--- src/bluetooth/osx/osxbtledeviceinquiry.mm.orig 2017-09-23 11:23:32.000000000 -0700
+++ src/bluetooth/osx/osxbtledeviceinquiry.mm 2017-09-23 12:29:55.000000000 -0700
@@ -328,6 +328,7 @@
return;
}
#endif
+#if !QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
if (!peripheral.UUID) {
qCWarning(QT_BT_OSX) << Q_FUNC_INFO << "peripheral without UUID";
return;
@@ -339,6 +340,7 @@
const QBluetoothUuid deviceUuid(OSXBluetooth::qt_uuid(peripheral.UUID));
delegate->LEdeviceFound(peripheral, deviceUuid, advertisementData, RSSI);
}
+#endif
}

- (bool)isActive
--- src/bluetooth/osx/osxbtcentralmanager.mm.orig 2017-09-23 12:33:56.000000000 -0700
+++ src/bluetooth/osx/osxbtcentralmanager.mm 2017-09-23 12:45:09.000000000 -0700
@@ -229,6 +229,7 @@
return QLowEnergyController::NoError;
}
#endif
+#if !QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
OSXBluetooth::CFStrongReference<CFUUIDRef> cfUuid(OSXBluetooth::cf_uuid(deviceUuid));
if (!cfUuid) {
qCWarning(QT_BT_OSX) << Q_FUNC_INFO << "failed to create CFUUID object";
@@ -239,6 +240,7 @@
// Unfortunately, with old Core Bluetooth this call is asynchronous ...
managerState = OSXBluetooth::CentralManagerConnecting;
[manager retrievePeripherals:uuids];
+#endif

return QLowEnergyController::NoError;
}
@@ -272,7 +274,12 @@
if (QSysInfo::MacintoshVersion >= qt_OS_limit(QSysInfo::MV_10_9, QSysInfo::MV_IOS_7_0))
return peripheral.state == CBPeripheralStateConnected;
#endif
+#if QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(101300)
+ //should never reach this point
+ return peripheral.state == CBPeripheralStateConnected;
+#else
return peripheral.isConnected;
+#endif
}

- (void)disconnectFromDevice
@@ -0,0 +1,11 @@
--- src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h.orig 2017-06-08 07:29:22.000000000 -0700
+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h 2017-09-30 13:12:02.000000000 -0700
@@ -73,7 +73,7 @@
// Work around a bug in the Mac OS X libc where ceil(-0.1) return +0.
inline double wtf_ceil(double x) { return copysign(ceil(x), x); }

-#define ceil(x) wtf_ceil(x)
+//#define ceil(x) wtf_ceil(x)

#endif

@@ -0,0 +1,28 @@
From 1e4a0d70224cf48ae9834858848a5d68fd0a96c5 Mon Sep 17 00:00:00 2001
From: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Date: Thu, 17 Sep 2015 17:09:50 +0200
Subject: [PATCH] enable OS X 32 bit build

Task-number: QTBUG-48228
Change-Id: Ic8ee640316b95b2e7e2de9115330821dfae0e905
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
---
tools/qmake/mkspecs/features/functions.prf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index ef0320d..69d3fd3 100644
--- tools/qmake/mkspecs/features/functions.prf
+++ tools/qmake/mkspecs/features/functions.prf
@@ -14,7 +14,7 @@ defineTest(isPlatformSupported) {

linux-g++*:!isGCCVersionSupported(): return(false)
!isPythonVersionSupported(): return(false)
- linux-g++*|win32-msvc2013|macx-clang: return(true)
+ linux-g++*|win32-msvc2013|macx-clang*: return(true)
boot2qt: return(true)

skipBuild("Qt WebEngine can currently only be built for Linux (GCC), Windows (MSVC 2013), OS X (XCode 5.1+) or Qt for Device Creation.")
--
2.4.9 (Apple Git-60)

@@ -0,0 +1,38 @@
--- tools/qmake/mkspecs/features/functions.prf.orig 2018-10-20 09:02:12.000000000 -0700
+++ tools/qmake/mkspecs/features/functions.prf 2018-10-20 09:05:57.000000000 -0700
@@ -7,7 +7,7 @@
skipBuild("Static builds of QtWebEngine aren't supported.")
return(false)
}
- osx:lessThan(QMAKE_XCODE_VERSION, 5.1) {
+ osx:!isMinXcodeVersion(6, 1) {
skipBuild("Using xcode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.")
return(false)
}
@@ -29,6 +29,26 @@
return(false)
}

+defineTest(isMinXcodeVersion) {
+ requested_major = $$1
+ requested_minor = $$2
+ requested_patch = $$3
+ isEmpty(requested_minor): requested_minor = 0
+ isEmpty(requested_patch): requested_patch = 0
+ target_var = QMAKE_XCODE_VERSION
+ major_version = $$section($$target_var, ., 0, 0)
+ minor_version = $$section($$target_var, ., 1, 1)
+ patch_version = $$section($$target_var, ., 2, 2)
+ isEmpty(minor_version): minor_version = 0
+ isEmpty(patch_version): patch_version = 0
+
+ greaterThan(major_version, $$requested_major):return(true)
+ equals(major_version, $$requested_major):greaterThan(minor_version, $$requested_minor):return(true)
+ equals(major_version, $$requested_major):equals(minor_version, $$requested_minor):!lessThan(patch_version, $$requested_patch):return(true)
+
+ return(false)
+}
+
defineTest(isGCCVersionSupported) {
# The below will work for gcc 4.7 and up and also match gcc 5
greaterThan(QT_GCC_MINOR_VERSION, 6):return(true)
@@ -0,0 +1,11 @@
--- src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm.orig 2017-10-02 01:43:38.000000000 -0700
+++ src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm 2017-10-24 16:36:13.000000000 -0700
@@ -736,7 +736,7 @@

QFixed QCoreTextFontEngine::emSquareSize() const
{
- return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
+ return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
}

QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
@@ -0,0 +1,43 @@
diff --git configure configure
index 1bcb362f..68c96f70 100755
--- configure
+++ configure
@@ -2411,7 +2411,9 @@ Additional options:
-l <string> ........ Add an explicit library.

-no-rpath .......... Do not use the library install path as a runtime
- library path.
+ library path. On Apple platforms, this implies using
+ absolute install names (based in -libdir) for dynamic
+ libraries and frameworks.
+ -rpath ............. Link Qt libraries and executables using the library
install path as a runtime library path. Equivalent
to -R install_libpath
diff --git mkspecs-save/features/qt_build_config.prf mkspecs-save/features/qt_build_config.prf
index 5fece28c..89d2555e 100644
--- mkspecs-save/features/qt_build_config.prf
+++ mkspecs-save/features/qt_build_config.prf
@@ -47,9 +47,7 @@ QMAKE_DIR_REPLACE_SANE = PRECOMPILED_DIR OBJECTS_DIR MOC_DIR RCC_DIR UI_DIR
}

mac {
- !isEmpty(QMAKE_RPATHDIR){
CONFIG += absolute_library_soname
- }
}

cross_compile: \
diff --git mkspecs/features/qt_build_config.prf mkspecs/features/qt_build_config.prf
index 5fece28c..89d2555e 100644
--- mkspecs/features/qt_build_config.prf
+++ mkspecs/features/qt_build_config.prf
@@ -47,9 +47,7 @@ QMAKE_DIR_REPLACE_SANE = PRECOMPILED_DIR OBJECTS_DIR MOC_DIR RCC_DIR UI_DIR
}

mac {
- !isEmpty(QMAKE_RPATHDIR){
CONFIG += absolute_library_soname
- }
}

cross_compile: \
@@ -0,0 +1,41 @@
--- src/plugins/platforms/cocoa/qcocoahelpers.mm.orig 2015-10-12 21:35:27.000000000 -0700
+++ src/plugins/platforms/cocoa/qcocoahelpers.mm 2017-09-22 23:17:01.000000000 -0700
@@ -668,15 +668,8 @@
return NSMakeRect(rect.x(), flippedY, rect.width(), rect.height());
}

-OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage)
+void qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage)
{
- // Verbatim copy if HIViewDrawCGImage (as shown on Carbon-Dev)
- OSStatus err = noErr;
-
- require_action(inContext != NULL, InvalidContext, err = paramErr);
- require_action(inBounds != NULL, InvalidBounds, err = paramErr);
- require_action(inImage != NULL, InvalidImage, err = paramErr);
-
CGContextSaveGState( inContext );
CGContextTranslateCTM (inContext, 0, inBounds->origin.y + CGRectGetMaxY(*inBounds));
CGContextScaleCTM(inContext, 1, -1);
@@ -684,10 +677,6 @@
CGContextDrawImage(inContext, *inBounds, inImage);

CGContextRestoreGState(inContext);
-InvalidImage:
-InvalidBounds:
-InvalidContext:
- return err;
}

Qt::MouseButton cocoaButton2QtButton(NSInteger buttonNum)
--- src/plugins/platforms/cocoa/qcocoahelpers.h.orig 2015-10-12 21:35:27.000000000 -0700
+++ src/plugins/platforms/cocoa/qcocoahelpers.h 2017-09-22 23:15:59.000000000 -0700
@@ -78,7 +78,7 @@
// Creates a mutable shape, it's the caller's responsibility to release.
HIMutableShapeRef qt_mac_QRegionToHIMutableShape(const QRegion &region);

-OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage);
+void qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGImageRef inImage);

QChar qt_mac_qtKey2CocoaKey(Qt::Key key);
Qt::Key qt_mac_cocoaKey2QtKey(QChar keyCode);
@@ -0,0 +1,11 @@
--- src/macdeployqt/shared/shared.cpp.orig 2015-02-16 21:57:17.000000000 -0700
+++ src/macdeployqt/shared/shared.cpp 2015-05-31 10:36:56.000000000 -0700
@@ -235,7 +235,7 @@
state = DylibName;
continue;
} else if (part < parts.count() && parts.at(part).endsWith(".framework")) {
- info.installName += "/" + (qtPath + "lib/").simplified();
+ info.installName += "/" + (qtPath + "__MACPORTS_FRAMWORK_DIR__/").simplified();
info.frameworkDirectory = info.installName;
state = FrameworkName;
continue;
@@ -0,0 +1,139 @@
From 06b0ebd66fb1a7c536c96572ad8a3b55b713b177 Mon Sep 17 00:00:00 2001
From: Florian Bruhin <git@the-compiler.org>
Date: Wed, 4 Nov 2015 21:35:31 +0100
Subject: [PATCH] Check QT_NO_SSL in SocketStreamHandleQt.

Since Qt 5.5, Secure Transport is used instead of OpenSSL on OS X. This means
secure websockets (wss://) were disabled on OS X despite QSslSocket being
available.

Change-Id: Ic584a6ed81b625c84a85e54dba84c8fc920b861a
Task-number: QTBUG-49027
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
---
Source/WebCore/platform/network/qt/SocketStreamHandlePrivate.h | 2 +-
Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Source/WebCore/platform/network/qt/SocketStreamHandlePrivate.h b/Source/WebCore/platform/network/qt/SocketStreamHandlePrivate.h
index f447cc2..647c4ef 100644
--- Source/WebCore/platform/network/qt/SocketStreamHandlePrivate.h
+++ Source/WebCore/platform/network/qt/SocketStreamHandlePrivate.h
@@ -60,7 +60,7 @@ public Q_SLOTS:
void socketError(QAbstractSocket::SocketError);
void socketClosedCallback();
void socketErrorCallback(int);
-#ifndef QT_NO_OPENSSL
+#ifndef QT_NO_SSL
void socketSslErrors(const QList<QSslError>&);
#endif
public:
diff --git a/Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp b/Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp
index d4cbdc7..cd71190 100644
--- Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp
+++ Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp
@@ -48,7 +48,7 @@ SocketStreamHandlePrivate::SocketStreamHandlePrivate(SocketStreamHandle* streamH
bool isSecure = url.protocolIs("wss");

if (isSecure) {
-#ifndef QT_NO_OPENSSL
+#ifndef QT_NO_SSL
m_socket = new QSslSocket(this);
#endif
} else
@@ -63,7 +63,7 @@ SocketStreamHandlePrivate::SocketStreamHandlePrivate(SocketStreamHandle* streamH

QString host = url.host();
if (isSecure) {
-#ifndef QT_NO_OPENSSL
+#ifndef QT_NO_SSL
static_cast<QSslSocket*>(m_socket)->connectToHostEncrypted(host, port);
#endif
} else
@@ -88,7 +88,7 @@ void SocketStreamHandlePrivate::initConnections()
connect(m_socket, SIGNAL(readyRead()), this, SLOT(socketReadyRead()));
connect(m_socket, SIGNAL(disconnected()), this, SLOT(socketClosed()));
connect(m_socket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(socketError(QAbstractSocket::SocketError)));
-#ifndef QT_NO_OPENSSL
+#ifndef QT_NO_SSL
if (qobject_cast<QSslSocket*>(m_socket))
connect(m_socket, SIGNAL(sslErrors(const QList<QSslError>&)), this, SLOT(socketSslErrors(const QList<QSslError>&)));
#endif
@@ -176,7 +176,7 @@ void SocketStreamHandlePrivate::socketErrorCallback(int error)
}
}

-#ifndef QT_NO_OPENSSL
+#ifndef QT_NO_SSL
void SocketStreamHandlePrivate::socketSslErrors(const QList<QSslError>& error)
{
QMetaObject::invokeMethod(this, "socketErrorCallback", Qt::QueuedConnection, Q_ARG(int, error[0].error()));
--
2.6.2.2.g1b5ffa3

From 11ce03bd807504559961dc69bdf6ccc382b61812 Mon Sep 17 00:00:00 2001
From: Florian Bruhin <git@the-compiler.org>
Date: Wed, 4 Nov 2015 21:49:48 +0100
Subject: [PATCH] Check QT_NO_SSL for QtWebKit user agent.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

When QT_NO_OPENSSL is checked, the user agent says "no SSL support" even when
there *is* SSL support via Secure Transport on OS X.

Change-Id: Idb8bf3ee95689f60adab332b3cbac7b6bdf6a738
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
---
Source/WebCore/platform/qt/UserAgentQt.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Source/WebCore/platform/qt/UserAgentQt.cpp b/Source/WebCore/platform/qt/UserAgentQt.cpp
index 6f1da23..80996a2 100644
--- Source/WebCore/platform/qt/UserAgentQt.cpp
+++ Source/WebCore/platform/qt/UserAgentQt.cpp
@@ -74,7 +74,7 @@ String UserAgentQt::standardUserAgent(const String &applicationNameForUserAgent,

// Security strength.
QString securityStrength;
-#if defined(QT_NO_OPENSSL)
+#if defined(QT_NO_SSL)
securityStrength = QLatin1String("N; ");
#endif
ua = ua.arg(securityStrength);
--
2.6.2.2.g1b5ffa3

From 2caa61dc485dc7d38c847ed6c6cff774fcf80061 Mon Sep 17 00:00:00 2001
From: Florian Bruhin <git@the-compiler.org>
Date: Wed, 4 Nov 2015 21:32:42 +0100
Subject: [PATCH 1/1] Check m_socket in SocketStreamHandlePrivate::close.

m_socket can be set to 0 in the constructor, e.g. when Qt is compiled without
SSL support.

Change-Id: Ic3bb18f6c801d463e2277b4c19ef2c790216bf69
Task-number: QTBUG-49027
Reviewed-by: Richard J. Moore <rich@kde.org>
---
Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp b/Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp
index ca7b60c..d4cbdc7 100644
--- Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp
+++ Source/WebCore/platform/network/qt/SocketStreamHandleQt.cpp
@@ -127,7 +127,7 @@ int SocketStreamHandlePrivate::send(const char* data, int len)

void SocketStreamHandlePrivate::close()
{
- if (m_streamHandle && m_streamHandle->m_state == SocketStreamHandleBase::Connecting) {
+ if (m_socket && m_streamHandle && m_streamHandle->m_state == SocketStreamHandleBase::Connecting) {
m_socket->abort();
m_streamHandle->client()->didCloseSocketStream(m_streamHandle);
return;
--
2.6.2.2.g1b5ffa3

@@ -0,0 +1,29 @@
From bc7d0da741d1bc2ab2d36227d40d255c692a6fa5 Mon Sep 17 00:00:00 2001
From: Andrew McCann <amccann@gmail.com>
Date: Sun, 15 Nov 2015 16:29:47 -0800
Subject: [PATCH] OS X: Fix QStandardPaths::standardLocations()

Task-number: QTBUG-49443
Change-Id: I0699dfd3cb4c710ab96c324219444c6294c9d732
Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
---
src/corelib/io/qstandardpaths_mac.mm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/corelib/io/qstandardpaths_mac.mm b/src/corelib/io/qstandardpaths_mac.mm
index d6126ce..7b97a03 100644
--- src/corelib/io/qstandardpaths_mac.mm
+++ src/corelib/io/qstandardpaths_mac.mm
@@ -204,7 +204,7 @@ QStringList QStandardPaths::standardLocations(StandardLocation type)
CFRelease(bundleUrl);

CFURLRef resourcesUrl = CFBundleCopyResourcesDirectoryURL(mainBundle);
- CFStringRef cfResourcesPath = CFURLCopyPath(bundleUrl);
+ CFStringRef cfResourcesPath = CFURLCopyPath(resourcesUrl);
QString resourcesPath = QCFString::toQString(cfResourcesPath);
CFRelease(cfResourcesPath);
CFRelease(resourcesUrl);
--
2.6.2.2.g1b5ffa3

@@ -0,0 +1,14 @@
--- tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp.orig 2014-06-28 00:25:11.000000000 -0700
+++ tests/auto/testlib/selftests/benchlibcallgrind/tst_benchlibcallgrind.cpp 2014-06-19 03:08:01.000000000 -0700
@@ -73,9 +73,9 @@
QBENCHMARK {
__asm__ __volatile__(
"mov $100000000,%%eax \n"
- "LOOPTOP: \n"
+ "1: \n"
"dec %%eax \n"
- "jnz LOOPTOP \n"
+ "jnz 1b \n"
: /* no output */
: /* no input */
: /* clobber */ "eax"
@@ -0,0 +1,20 @@
--- tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp.orig 2015-05-30 18:33:03.000000000 -0700
+++ tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp 2015-05-30 18:34:54.000000000 -0700
@@ -311,7 +311,7 @@

void tst_QPluginLoader::loadMachO_data()
{
-#ifdef Q_OF_MACH_O
+#if defined(QT_BUILD_INTERNAL) && defined(Q_OF_MACH_O)
QTest::addColumn<int>("parseResult");

QTest::newRow("/dev/null") << int(QMachOParser::NotSuitable);
@@ -347,7 +347,7 @@

void tst_QPluginLoader::loadMachO()
{
-#ifdef Q_OF_MACH_O
+#if defined(QT_BUILD_INTERNAL) && defined(Q_OF_MACH_O)
QFile f(QFINDTESTDATA(QTest::currentDataTag()));
QVERIFY(f.open(QIODevice::ReadOnly));
QByteArray data = f.readAll();
@@ -0,0 +1,49 @@
From 77a71c32c9d19b87f79b208929e71282e8d8b5d9 Mon Sep 17 00:00:00 2001
From: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Date: Thu, 7 Jul 2016 16:00:17 -0700
Subject: [PATCH 1/1] configure and mkspecs: Don't try to find xcrun with xcrun
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Since Xcode 8 (beta 2) that tool is no longer available
through xcrun. We resort to xcodebuild instead.

Change-Id: If9d7b535c1cbac2caae0112b2003283aeff34fb9
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
---
configure | 2 +-
mkspecs/features/mac/default_pre.prf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index a1f0a8f..f4c7813 100755
--- configure
+++ configure
@@ -527,7 +527,7 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
exit 2
fi

- if ! /usr/bin/xcrun -find xcrun >/dev/null 2>&1; then
+ if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then
echo >&2
echo " Xcode not set up properly. You may need to confirm the license" >&2
echo " agreement by running /usr/bin/xcodebuild without arguments." >&2
diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
index 0cc8cd6..5df99d1 100644
--- mkspecs/features/mac/default_pre.prf
+++ mkspecs/features/mac/default_pre.prf
@@ -12,7 +12,7 @@ isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")

# Make sure Xcode is set up properly
- isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
+ isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \
error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
}

--
2.7.4

@@ -696,7 +696,7 @@ foreach {module module_info} [array get modules] {
# see https://developer.apple.com/reference/security/sslprotocol/ktlsprotocol11
# see https://developer.apple.com/reference/security/sslprotocol?language=objc
pre-fetch {
if { ${os.major} == 11 && ![variant_isset openssl] } {
if { ${os.major} < 12 && ![variant_isset openssl] } {
ui_error "using Secure Transport requires OS X 10.8 or later"
ui_error "please use openssl variant"
return -code error "incompatible variant choice"
@@ -737,7 +737,7 @@ foreach {module module_info} [array get modules] {
# see https://developer.apple.com/reference/security/sslprotocol/ktlsprotocol11
# see https://developer.apple.com/reference/security/sslprotocol?language=objc
pre-fetch {
if { ${os.major} == 11 && ![variant_isset openssl] } {
if { ${os.major} < 12 && ![variant_isset openssl] } {
ui_error "using Secure Transport requires OS X 10.8 or later"
ui_error "please use openssl variant"
return -code error "incompatible variant choice"