├── _resources ├── port1.0 │ ├── livecheck │ │ ├── googlecode.tcl │ │ ├── freshmeat.tcl │ │ ├── fallback.tcl │ │ ├── gnome.tcl │ │ ├── gnome-only-unstable.tcl │ │ ├── gnome-with-unstable.tcl │ │ ├── pypi.tcl │ │ ├── opam.tcl │ │ ├── freecode.tcl │ │ ├── master-sites.tcl │ │ ├── gnu.tcl │ │ └── sourceforge.tcl │ ├── package │ │ └── background.tiff │ ├── variant_descriptions.conf │ ├── compilers │ │ ├── gcc_compilers.tcl │ │ ├── gcc_dependencies.tcl │ │ └── clang_compilers.tcl │ ├── group │ │ ├── waf-1.0.tcl │ │ ├── clang_dependency-1.0.tcl │ │ ├── haskellplatform-2.0.tcl │ │ ├── cargo-1.0.tcl │ │ ├── cxx11-1.0.tcl │ │ ├── old_openssl-1.0.tcl │ │ ├── meson-1.0.tcl │ │ ├── developerversion-1.0.tcl │ │ ├── xcodeversion-1.0.tcl │ │ ├── hunspelldict-1.0.tcl │ │ ├── elisp-1.0.tcl │ │ ├── debug-1.0.tcl │ │ ├── conflicts_build-1.0.tcl │ │ ├── hocbinding-1.0.tcl │ │ ├── obsolete-1.0.tcl │ │ ├── x11font-1.0.tcl │ │ ├── pure-1.0.tcl │ │ ├── ocaml-1.0.tcl │ │ ├── select-1.0.tcl │ │ ├── haskellplatform-1.0.tcl │ │ ├── legacysupport-1.0.tcl │ │ ├── cxx11-1.1.tcl │ │ ├── gpg_verify-1.0.tcl │ │ ├── gnu_info-1.0.tcl │ │ ├── qmake-1.0.tcl │ │ ├── cltversion-1.0.tcl │ │ ├── linear_algebra-1.0.tcl │ │ ├── deprecated-1.0.tcl │ │ ├── compiler_blacklist_versions-1.0.tcl │ │ ├── gobject_introspection-1.0.tcl │ │ ├── archcheck-1.0.tcl │ │ ├── java-1.0.tcl │ │ ├── xcode_workaround-1.0.tcl │ │ ├── legacysupport-1.1.tcl │ │ ├── bitbucket-1.0.tcl │ │ ├── haskell_stack-1.0.tcl │ │ ├── gitlab-1.0.tcl │ │ ├── haskell_cabal-1.0.tcl │ │ ├── haskell-1.0.tcl │ │ ├── apache2-1.0.tcl │ │ ├── kde4-1.1.tcl │ │ ├── tests │ │ │ └── ruby-1.0.tcl │ │ ├── github-1.0.tcl │ │ ├── crossbinutils-1.0.tcl │ │ ├── gnustep-1.0.tcl │ │ └── qt4-1.0.tcl │ └── fetch │ │ └── archive_sites.tcl └── macports1.0 │ └── xcode_versions.ini ├── www ├── webkit2-gtk-devel │ └── files │ │ ├── NSApplicationActivationPolicy.h │ │ ├── snowmath.h │ │ ├── NSApplicationActivationPolicy.mm │ │ ├── patch-webcore-platform-audio-directconvolver-disable-veclib.diff │ │ ├── patch-sources-gtk.diff │ │ ├── patch-snowleopard-cmakelists-stdcformatmacros.diff │ │ ├── patch-webkit2gtk-source-javascriptcore-jit-executableallocator-missingfcntl-h-older-systems.diff │ │ ├── unused │ │ ├── patch_bad_optional_access.diff │ │ ├── PR-153138.patch │ │ ├── PR-157574.patch │ │ ├── patch-name-conflicts.diff │ │ └── PR-152650-2.patch │ │ ├── patch-enable-plugin-architecture-unix.diff │ │ ├── patch-source-wtf-wtf-osallocatorposix-cpp-map-jit.diff │ │ ├── patch-bundle-link-webcore.diff │ │ ├── patch-WTF-wtf-spi-darwin-ProcessMemoryFootprint-h.diff │ │ ├── patch-web-process-main.diff │ │ ├── patch-Webcore-page-crypto.diff │ │ ├── process-executable-path.diff │ │ ├── patch-ramsize.diff │ │ ├── patch-WTF-wtf-Randomdevice.diff │ │ ├── patch-source-wtf-wtf-unix-cputimeunix-cpp-darwin-version-restore.diff │ │ └── patch-webkit2gtk-272-macports.diff └── Nyxt │ └── Portfile ├── .gitignore ├── python └── py-gobject │ ├── files │ ├── patch-quartz.diff │ ├── patch-pygi-info.c.diff │ └── patch-gdesktop.diff │ └── Portfile ├── devel └── libfixposix │ └── Portfile └── README.org /_resources/port1.0/livecheck/googlecode.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the defaults for googlecode. 2 | 3 | set livecheck.type "none" 4 | -------------------------------------------------------------------------------- /_resources/port1.0/package/background.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/atlas-engineer/ports/HEAD/_resources/port1.0/package/background.tiff -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/freshmeat.tcl: -------------------------------------------------------------------------------- 1 | # Provide freshmeat as an alias for freecode 2 | 3 | source [getdefaultportresourcepath "port1.0/livecheck"]/freecode.tcl 4 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/fallback.tcl: -------------------------------------------------------------------------------- 1 | # If the default type cannot be determined from the mirror, this file is 2 | # sourced. 3 | 4 | source [getdefaultportresourcepath "port1.0/livecheck"]/master-sites.tcl 5 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/NSApplicationActivationPolicy.h: -------------------------------------------------------------------------------- 1 | 2 | // This is the C "trampoline" function that will be used 3 | // to invoke a specific Objective-C method FROM C++ 4 | void SetActivationPolicyProhibited (); 5 | -------------------------------------------------------------------------------- /_resources/port1.0/variant_descriptions.conf: -------------------------------------------------------------------------------- 1 | bash_completion {Enable completion support for Bash} 2 | nls {Enable national language support} 3 | quartz {Enable native macOS graphics support} 4 | universal {Build for multiple architectures} 5 | x11 {Enable X11 support} 6 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/snowmath.h: -------------------------------------------------------------------------------- 1 | extern "C" { 2 | extern long long int llrint ( double ); 3 | extern long long int llrintf ( float ); 4 | extern long long int llround ( double ); 5 | extern long long int llroundf ( float ); 6 | extern long long int llrintl(long double); 7 | extern long long int llroundl(long double); 8 | } 9 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/NSApplicationActivationPolicy.mm: -------------------------------------------------------------------------------- 1 | #include "config.h" 2 | #import "NSApplicationActivationPolicy.h" 3 | #import 4 | 5 | // C "trampoline" function to invoke Objective-C method 6 | void SetActivationPolicyProhibited () 7 | { 8 | [NSApp setActivationPolicy: NSApplicationActivationPolicyProhibited]; 9 | return; 10 | } 11 | -------------------------------------------------------------------------------- /_resources/port1.0/compilers/gcc_compilers.tcl: -------------------------------------------------------------------------------- 1 | # add all working GCC compilers to the variable compilers based on ${os.major} 2 | 3 | # see https://trac.macports.org/ticket/57135 4 | if { ${os.major} >= 11 } { 5 | lappend compilers macports-gcc-9 6 | } 7 | if { ${os.major} >= 10 } { 8 | lappend compilers macports-gcc-8 9 | } 10 | lappend compilers macports-gcc-7 \ 11 | macports-gcc-6 \ 12 | macports-gcc-5 13 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-webcore-platform-audio-directconvolver-disable-veclib.diff: -------------------------------------------------------------------------------- 1 | --- Source/WebCore/platform/audio/DirectConvolver.cpp.orig 2019-10-24 21:10:45.000000000 -0700 2 | +++ Source/WebCore/platform/audio/DirectConvolver.cpp 2019-10-24 21:11:19.000000000 -0700 3 | @@ -32,7 +32,7 @@ 4 | 5 | #include "DirectConvolver.h" 6 | 7 | -#if OS(DARWIN) 8 | +#if OS(DARWIN) && 0 9 | #include 10 | #endif 11 | 12 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/gnome.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the defaults for gnome. 2 | 3 | if {${livecheck.name} eq "default"} { 4 | set livecheck.name ${name} 5 | } 6 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 7 | set livecheck.url "https://download.gnome.org/sources/${livecheck.name}/cache.json" 8 | } 9 | if {${livecheck.regex} eq ""} { 10 | set livecheck.regex {LATEST-IS-(\\d+\\.\\d*[02468](?:\\.\\d+)*)} 11 | } 12 | set livecheck.type "regex" 13 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/gnome-only-unstable.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the defaults for gnome. 2 | 3 | if {${livecheck.name} eq "default"} { 4 | set livecheck.name ${name} 5 | } 6 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 7 | set livecheck.url "https://download.gnome.org/sources/${livecheck.name}/cache.json" 8 | } 9 | if {${livecheck.regex} eq ""} { 10 | set livecheck.regex {LATEST-IS-(\\d+\\.\\d*[13579](?:\\.\\d+)*)} 11 | } 12 | set livecheck.type "regex" 13 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/gnome-with-unstable.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the defaults for gnome. 2 | 3 | if {${livecheck.name} eq "default"} { 4 | set livecheck.name ${name} 5 | } 6 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 7 | set livecheck.url "https://download.gnome.org/sources/${livecheck.name}/cache.json" 8 | } 9 | if {${livecheck.regex} eq ""} { 10 | set livecheck.regex {LATEST-IS-(\\d+\\.\\d*[0-9](?:\\.\\d+)*)} 11 | } 12 | set livecheck.type "regex" 13 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-sources-gtk.diff: -------------------------------------------------------------------------------- 1 | --- Source/WebKit/PlatformGTK.cmake.orig 2019-11-08 10:28:00.000000000 +0100 2 | +++ Source/WebKit/PlatformGTK.cmake 2020-07-21 15:22:28.000000000 +0200 3 | @@ -32,6 +32,10 @@ 4 | "SourcesGTK.txt" 5 | ) 6 | 7 | +find_library(APPKIT_FRAMEWORK NAMES AppKit) 8 | +target_link_libraries(WebKit PRIVATE ${APPKIT_FRAMEWORK}) 9 | +list(APPEND WebKit_SOURCES WebProcess/gtk/NSApplicationActivationPolicy.mm) 10 | + 11 | list(APPEND WebKit_MESSAGES_IN_FILES 12 | UIProcess/ViewGestureController.messages.in 13 | 14 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-snowleopard-cmakelists-stdcformatmacros.diff: -------------------------------------------------------------------------------- 1 | --- CMakeLists.txt.orig 2017-08-14 17:41:03.000000000 -0700 2 | +++ CMakeLists.txt 2017-08-14 17:43:39.000000000 -0700 3 | @@ -18,6 +18,9 @@ 4 | set(ENABLE_TOOLS ON) 5 | endif () 6 | 7 | +add_definitions(-D__STDC_FORMAT_MACROS) 8 | +add_definitions(-DTARGET_OS_IOS=0) 9 | + 10 | # ----------------------------------------------------------------------------- 11 | # Determine which port will be built 12 | # ----------------------------------------------------------------------------- 13 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-webkit2gtk-source-javascriptcore-jit-executableallocator-missingfcntl-h-older-systems.diff: -------------------------------------------------------------------------------- 1 | --- Source/JavaScriptCore/jit/ExecutableAllocator.cpp.orig 2019-11-30 14:05:23.000000000 -0800 2 | +++ Source/JavaScriptCore/jit/ExecutableAllocator.cpp 2019-11-30 14:07:28.000000000 -0800 3 | @@ -43,6 +43,10 @@ 4 | #include 5 | #endif 6 | 7 | +#if OS(DARWIN) && (__MAC_OS_X_VERSION_MAX_ALLOWED <= 1070) 8 | +#include 9 | +#endif 10 | + 11 | #if PLATFORM(IOS_FAMILY) 12 | #include 13 | #endif 14 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/pypi.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the livecheck defaults for PyPI. 2 | 3 | if {${livecheck.name} eq "default"} { 4 | if {[exists python.rootname]} { 5 | livecheck.name [option python.rootname] 6 | } else { 7 | livecheck.name ${name} 8 | } 9 | } 10 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 11 | livecheck.url \ 12 | https://pypi.org/pypi/${livecheck.name}/json 13 | } 14 | if {${livecheck.regex} eq ""} { 15 | livecheck.regex {"version":"([^"]+)"[,\}]} 16 | } 17 | set livecheck.type "regex" 18 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/unused/patch_bad_optional_access.diff: -------------------------------------------------------------------------------- 1 | --- Source/WTF/wtf/Optional.h (revision 235660) 2 | +++ Source/WTF/wtf/Optional.h (revision 235661) 3 | @@ -278,12 +278,4 @@ 4 | 5 | 6 | -// 20.5.8, class bad_optional_access 7 | -class bad_optional_access : public std::logic_error { 8 | -public: 9 | - explicit bad_optional_access(const std::string& what_arg) : std::logic_error{what_arg} {} 10 | - explicit bad_optional_access(const char* what_arg) : std::logic_error{what_arg} {} 11 | -}; 12 | - 13 | - 14 | template 15 | union storage_t 16 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/opam.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the livecheck defaults for opam (OCaml Package Manager). 2 | 3 | if {${livecheck.name} eq "default"} { 4 | # Strip 'ocaml-' prefix by default 5 | livecheck.name [regsub {^(?:ocaml-)?(.*)} ${subport} {\1}] 6 | } 7 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 8 | livecheck.url \ 9 | https://opam.ocaml.org/packages/${livecheck.name}/ 10 | } 11 | if {${livecheck.regex} eq ""} { 12 | livecheck.regex {([^<]+)[[:space:]]*\(latest\)} 13 | } 14 | set livecheck.type "regexm" 15 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/freecode.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the livecheck defaults for freecode. 2 | 3 | if {${livecheck.name} eq "default"} { 4 | set livecheck.name ${name} 5 | } 6 | if {${livecheck.distname} eq "default"} { 7 | set livecheck.distname ${livecheck.name} 8 | } 9 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 10 | set livecheck.url "http://freecode.com/projects/${livecheck.name}/releases.atom" 11 | } 12 | if {${livecheck.regex} eq ""} { 13 | set livecheck.regex [list "(?i)[quotemeta ${livecheck.distname}] (.*)"] 14 | } 15 | set livecheck.type "regex" 16 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-enable-plugin-architecture-unix.diff: -------------------------------------------------------------------------------- 1 | --- Source/WebKit/config.h.orig 2018-06-13 23:57:05.000000000 +0800 2 | +++ Source/WebKit/config.h 2018-06-13 23:59:35.000000000 +0800 3 | @@ -55,10 +55,10 @@ 4 | #endif 5 | 6 | #ifndef PLUGIN_ARCHITECTURE_UNSUPPORTED 7 | -#if PLATFORM(MAC) 8 | -#define PLUGIN_ARCHITECTURE_MAC 1 9 | -#elif PLATFORM(GTK) && OS(UNIX) && !OS(MAC_OS_X) 10 | +#if PLATFORM(GTK) && OS(UNIX) 11 | #define PLUGIN_ARCHITECTURE_UNIX 1 12 | +#elif PLATFORM(MAC) 13 | +#define PLUGIN_ARCHITECTURE_MAC 1 14 | #else 15 | #define PLUGIN_ARCHITECTURE_UNSUPPORTED 1 16 | #endif 17 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-source-wtf-wtf-osallocatorposix-cpp-map-jit.diff: -------------------------------------------------------------------------------- 1 | diff --git Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp 2 | index a5eb8d44..051c439e 100644 3 | --- Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp 4 | +++ Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp 5 | @@ -72,9 +72,11 @@ void* OSAllocator::reserveAndCommit(size_t bytes, Usage usage, bool writable, bo 6 | 7 | int flags = MAP_PRIVATE | MAP_ANON; 8 | #if OS(DARWIN) 9 | +#if defined(MAP_JIT) 10 | if (executable) 11 | flags |= MAP_JIT; 12 | #endif 13 | +#endif 14 | 15 | #if OS(DARWIN) 16 | int fd = usage; 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled source # 2 | ################### 3 | *.com 4 | *.class 5 | *.dll 6 | *.exe 7 | *.o 8 | *.so 9 | 10 | # Packages # 11 | ############ 12 | # it's better to unpack these files and commit the raw source 13 | # git has its own built in compression methods 14 | *.7z 15 | *.dmg 16 | *.gz 17 | *.iso 18 | *.jar 19 | *.rar 20 | *.tar 21 | *.zip 22 | 23 | # Logs and databases # 24 | ###################### 25 | *.log 26 | *.sql 27 | *.sqlite 28 | 29 | # OS generated files # 30 | ###################### 31 | .DS_Store 32 | .DS_Store? 33 | ._* 34 | .Spotlight-V100 35 | .Trashes 36 | ehthumbs.db 37 | Thumbs.db 38 | PortIndex 39 | PortIndex.quick -------------------------------------------------------------------------------- /_resources/port1.0/group/waf-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | 3 | options waf.python 4 | default waf.python {${prefix}/bin/python2.7} 5 | 6 | depends_build-append port:python27 7 | 8 | configure.cmd ${waf.python} ./waf configure 9 | configure.post_args-append --nocache 10 | 11 | configure.universal_args-delete --disable-dependency-tracking 12 | 13 | build.cmd ${waf.python} ./waf 14 | build.target build 15 | build.post_args-append --verbose 16 | 17 | destroot.destdir --destdir=${destroot} 18 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-bundle-link-webcore.diff: -------------------------------------------------------------------------------- 1 | --- Source/WebKit/PlatformGTK.cmake.orig 2017-09-29 02:02:31.000000000 +0800 2 | +++ Source/WebKit/PlatformGTK.cmake 2017-09-29 02:02:53.000000000 +0800 3 | @@ -1092,7 +1092,7 @@ 4 | 5 | add_library(webkit2gtkinjectedbundle MODULE "${WEBKIT_DIR}/WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp") 6 | ADD_WEBKIT_PREFIX_HEADER(webkit2gtkinjectedbundle) 7 | -target_link_libraries(webkit2gtkinjectedbundle WebKit) 8 | +target_link_libraries(webkit2gtkinjectedbundle WebKit WebCore) 9 | 10 | target_include_directories(webkit2gtkinjectedbundle PRIVATE 11 | ${WebKit_INCLUDE_DIRECTORIES} 12 | -------------------------------------------------------------------------------- /_resources/port1.0/group/clang_dependency-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | 3 | # This portgroup is to help prevent circular dependencies for ports that 4 | # recent clang builds depend on, by blacklisting any clang compiler not already 5 | # installed 6 | 7 | # call this if an older clang version depends on the port 8 | proc clang_dependency.extra_versions {versions} { 9 | global prefix 10 | foreach ver $versions { 11 | compiler.blacklist-append macports-clang-${ver} 12 | } 13 | } 14 | 15 | clang_dependency.extra_versions {devel 9.0 8.0 7.0 6.0 5.0} 16 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-WTF-wtf-spi-darwin-ProcessMemoryFootprint-h.diff: -------------------------------------------------------------------------------- 1 | diff --git Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h 2 | index 90852df6..525ace42 100644 3 | --- Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h 4 | +++ Source/WTF/wtf/spi/darwin/ProcessMemoryFootprint.h 5 | @@ -27,7 +27,7 @@ 6 | 7 | #if OS(DARWIN) 8 | 9 | -#if !PLATFORM(IOS_FAMILY_SIMULATOR) && __has_include() 10 | +#if !PLATFORM(IOS_FAMILY_SIMULATOR) && __has_include() && (__MAC_OS_X_VERSION_MIN_REQUIRED >= 1090) 11 | # include 12 | # if RUSAGE_INFO_CURRENT >= 4 13 | # define HAS_MAX_FOOTPRINT 14 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-web-process-main.diff: -------------------------------------------------------------------------------- 1 | --- Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp.orig 2020-07-21 13:09:21.000000000 +0200 2 | +++ Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp 2020-07-21 15:27:56.000000000 +0200 3 | @@ -33,6 +33,7 @@ 4 | #include 5 | #include 6 | #include 7 | +#include "NSApplicationActivationPolicy.h" 8 | 9 | #if PLATFORM(X11) 10 | #include 11 | @@ -57,6 +58,7 @@ 12 | 13 | bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); 14 | bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); 15 | + SetActivationPolicyProhibited (); 16 | 17 | return true; 18 | } 19 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/master-sites.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the livecheck defaults for using port's master_sites. 2 | 3 | set livecheck.type "regex" 4 | 5 | if {${livecheck.name} eq "default"} { 6 | set livecheck.name ${name} 7 | } 8 | if {${livecheck.distname} eq "default"} { 9 | set livecheck.distname ${livecheck.name} 10 | } 11 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 12 | if {!$has_master_sites || [llength ${master_sites}] == 0} { 13 | set livecheck.type "none" 14 | } else { 15 | set livecheck.url [lindex ${master_sites} 0] 16 | } 17 | } 18 | if {${livecheck.regex} eq ""} { 19 | set livecheck.regex [list "[quotemeta ${livecheck.distname}]-(\\d+(?:\\.\\d+)*)"] 20 | } 21 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/gnu.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the defaults for gnu. 2 | 3 | if {${livecheck.name} eq "default"} { 4 | if {$has_homepage && [regexp {^https?://www\.gnu\.org/software/([^/]+)} $homepage _ tag]} { 5 | set livecheck.name $tag 6 | } else { 7 | set livecheck.name ${name} 8 | } 9 | } 10 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 11 | set livecheck.url "https://ftp.gnu.org/gnu/${livecheck.name}/?C=M&O=D" 12 | } 13 | if {${livecheck.distname} eq "default"} { 14 | set livecheck.distname ${livecheck.name} 15 | } 16 | if {${livecheck.regex} eq ""} { 17 | set livecheck.regex [list "[quotemeta ${livecheck.distname}]-(\\d+(?:\\.\\d+)*)"] 18 | } 19 | set livecheck.type "regex" 20 | -------------------------------------------------------------------------------- /_resources/port1.0/compilers/gcc_dependencies.tcl: -------------------------------------------------------------------------------- 1 | # set library dependencies of GCC compilers to the variable libgccs based on gcc_version 2 | 3 | # compiler links against libraries in libgcc\d* and/or libgcc-devel 4 | if {[vercmp ${gcc_version} 4.6] < 0} { 5 | set libgccs "path:lib/libgcc/libgcc_s.1.dylib:libgcc port:libgcc45" 6 | } elseif {[vercmp ${gcc_version} 7] < 0} { 7 | set libgccs "path:lib/libgcc/libgcc_s.1.dylib:libgcc port:libgcc6" 8 | } elseif {[vercmp ${gcc_version} 8] < 0} { 9 | set libgccs "path:lib/libgcc/libgcc_s.1.dylib:libgcc port:libgcc7" 10 | } elseif {[vercmp ${gcc_version} 9] < 0} { 11 | set libgccs "path:lib/libgcc/libgcc_s.1.dylib:libgcc port:libgcc8" 12 | } else { 13 | set libgccs "path:lib/libgcc/libgcc_s.1.dylib:libgcc" 14 | } 15 | -------------------------------------------------------------------------------- /python/py-gobject/files/patch-quartz.diff: -------------------------------------------------------------------------------- 1 | --- gio/unix.override.orig 2011-06-13 09:33:49.000000000 -0700 2 | +++ gio/unix.override 2018-10-12 08:45:33.000000000 -0700 3 | @@ -24,7 +24,7 @@ 4 | #define NO_IMPORT_PYGOBJECT 5 | #include 6 | #include 7 | -#include 8 | +#include 9 | #include 10 | #include 11 | #include 12 | --- gio/unix-types.defs.orig 2011-06-13 09:33:49.000000000 -0700 13 | +++ gio/unix-types.defs 2018-10-12 09:00:28.000000000 -0700 14 | @@ -15,8 +15,8 @@ 15 | ) 16 | (in-module "giounix") 17 | (parent "GObject") 18 | - (c-name "GDesktopAppInfo") 19 | - (gtype-id "G_TYPE_DESKTOP_APP_INFO") 20 | + (c-name "GOsxAppInfo") 21 | + (gtype-id "G_TYPE_OSX_APP_INFO") 22 | ) 23 | 24 | (define-object FDMessage 25 | -------------------------------------------------------------------------------- /_resources/port1.0/livecheck/sourceforge.tcl: -------------------------------------------------------------------------------- 1 | # This file contains the defaults for sourceforge. 2 | 3 | if {${livecheck.name} eq "default"} { 4 | if {$has_homepage && [regexp {^https?://([^.]+)\.(?:sf|sourceforge)\.net\y} $homepage _ tag]} { 5 | set livecheck.name $tag 6 | } elseif {$has_homepage && [regexp {^https?://(?:sf|sourceforge)\.net/projects/([^/]+)\y} $homepage _ tag]} { 7 | set livecheck.name $tag 8 | } else { 9 | set livecheck.name ${name} 10 | } 11 | } 12 | if {!$has_homepage || ${livecheck.url} eq ${homepage}} { 13 | set livecheck.url "https://sourceforge.net/projects/${livecheck.name}/rss" 14 | } 15 | if {${livecheck.distname} eq "default"} { 16 | set livecheck.distname ${livecheck.name} 17 | } 18 | if {${livecheck.regex} eq ""} { 19 | set livecheck.regex [list "/[quotemeta ${livecheck.distname}]-(\\d+(?:\\.\\d+)*)"] 20 | } 21 | set livecheck.type "regex" 22 | -------------------------------------------------------------------------------- /_resources/macports1.0/xcode_versions.ini: -------------------------------------------------------------------------------- 1 | xcode_version_10.15=11.4.1 11.4 11.3.1 11.3 2 | xcode_version_10.14=11.3.1 11.3 11.2.1 11.2 11.1 11.0 10.3 10.2.1 10.2 10.1 10.0 3 | xcode_version_10.13=10.1 10.0 9.4.1 9.4 9.3.1 9.3 9.2 9.1 9.0.1 9.0 4 | xcode_version_10.12=9.2 9.1 9.0.1 9.0 8.3.3 8.3.2 8.3.1 8.3 8.2.1 8.2 8.1 8.0 5 | xcode_version_10.11=8.2.1 8.2 8.1 8.0 7.3.1 7.3 7.2.1 7.2 7.1.1 7.1 7.0.1 7.0 6 | xcode_version_10.10=7.2.1 7.2 7.1.1 7.1 7.0.1 7.0 6.4 6.3.2 6.3.1 6.3 6.2 6.1.1 6.1 7 | xcode_version_10.9=6.2 6.1.1 6.1 6.0.1 5.1.1 5.1 5.0.2 5.0.1 8 | xcode_version_10.8=5.1.1 5.1 5.0.2 5.0.1 5.0 4.6.3 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.4.1 4.4 9 | xcode_version_10.7=4.6.3 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.4.1 4.4 4.3.3 4.3.2 4.3.1 4.3 4.2.1 4.2 4.1.1 4.1 10 | xcode_version_10.6=4.2 4.1.1 4.1 4.0.2 4.0.1 4.0 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 3.2 11 | xcode_version_10.5=3.1.4 3.1.3 3.1.2 3.1.1 3.1 12 | xcode_version_10.4=2.5 2.4.1 13 | xcode_build=5B1008 14 | -------------------------------------------------------------------------------- /devel/libfixposix/Portfile: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | 3 | PortSystem 1.0 4 | 5 | name libfixposix 6 | version 0.4.3 7 | categories devel 8 | platforms darwin 9 | license BSD 10 | maintainers atlas.engineer:administrator 11 | description Thin wrapper over POSIX syscalls. 12 | long_description The purpose of libfixposix is to offer replacements \ 13 | for parts of POSIX whose behaviour is inconsistent \ 14 | across *NIX flavours. 15 | homepage https://github.com/sionescu/libfixposix 16 | fetch.type git 17 | git.url https://github.com/sionescu/libfixposix.git 18 | git.branch v${version} 19 | use_autoreconf yes 20 | depends_build port:autoconf port:automake port:libtool port:pkgconfig 21 | -------------------------------------------------------------------------------- /README.org: -------------------------------------------------------------------------------- 1 | * Ports 2 | A collection of portfiles specific to Atlas. 3 | 4 | * Usage 5 | 1. Clone this repository to a path of your choosing. A good, known 6 | working directory is =/private/tmp=. 7 | 2. Edit your =/opt/local/etc/macports/sources.conf= file to include a 8 | link to the location of this repository on your disk. 9 | + As an example, if you had cloned this repository to 10 | =/var/local/ports= you would add a line above the default source 11 | in =sources.conf= with the following syntax: 12 | =file:///var/local/ports= 13 | 3. Within the ports tree (this repository) execute =portindex= to 14 | recreate the port tree index. 15 | 4. After setting up your new source, you will need to execute: =sudo 16 | port selfupdate= for MacPorts to update its sources. 17 | 18 | Your set-up is now complete and you can install ports from this ports 19 | tree! When a port is not found in this ports tree, it will fallback to 20 | the default MacPorts official source. 21 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/unused/PR-153138.patch: -------------------------------------------------------------------------------- 1 | From 07886d9eacb7587dd52a9bcae10c1fc8ab56a910 Mon Sep 17 00:00:00 2001 2 | From: Jeremy Huddleston Sequoia 3 | Date: Fri, 15 Jan 2016 11:53:07 -0800 4 | Subject: [PATCH] https://bugs.webkit.org/show_bug.cgi?id=153138 5 | 6 | Signed-off-by: Jeremy Huddleston Sequoia 7 | --- 8 | Source/JavaScriptCore/bytecode/StructureStubInfo.cpp | 2 ++ 9 | 1 file changed, 2 insertions(+) 10 | 11 | diff --git a/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp b/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp 12 | index 1e4b4f5..9b27aed 100644 13 | --- Source/JavaScriptCore/bytecode/StructureStubInfo.cpp 14 | +++ Source/JavaScriptCore/bytecode/StructureStubInfo.cpp 15 | @@ -26,6 +26,8 @@ 16 | #include "config.h" 17 | #include "StructureStubInfo.h" 18 | 19 | +#include "JSCellInlines.h" 20 | + 21 | #include "JSObject.h" 22 | #include "PolymorphicAccess.h" 23 | #include "Repatch.h" 24 | -- 25 | 2.7.0 26 | 27 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-Webcore-page-crypto.diff: -------------------------------------------------------------------------------- 1 | diff --git Source/WebCore/page/Crypto.cpp Source/WebCore/page/Crypto.cpp 2 | index 69c36e97..07969aad 100644 3 | --- Source/WebCore/page/Crypto.cpp 4 | +++ Source/WebCore/page/Crypto.cpp 5 | @@ -36,7 +36,7 @@ 6 | #include 7 | #include 8 | 9 | -#if OS(DARWIN) 10 | +#if OS(DARWIN) && (__MAC_OS_X_VERSION_MIN_REQUIRED > 1090) 11 | #include 12 | #include 13 | #endif 14 | @@ -58,7 +58,7 @@ ExceptionOr Crypto::getRandomValues(ArrayBufferView& array) 15 | return Exception { TypeMismatchError }; 16 | if (array.byteLength() > 65536) 17 | return Exception { QuotaExceededError }; 18 | -#if OS(DARWIN) 19 | +#if OS(DARWIN) && (__MAC_OS_X_VERSION_MIN_REQUIRED > 1090) 20 | auto rc = CCRandomGenerateBytes(array.baseAddress(), array.byteLength()); 21 | RELEASE_ASSERT(rc == kCCSuccess); 22 | #else 23 | -------------------------------------------------------------------------------- /www/Nyxt/Portfile: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | 3 | PortSystem 1.0 4 | PortGroup active_variants 1.1 5 | 6 | name Nyxt 7 | version 2.0.0 8 | categories www devel 9 | maintainers atlas.engineer:administrator 10 | description A productivity focused, programmable browser. 11 | long_description A productivity focused, programmable browser \ 12 | written and extensible in Common Lisp. 13 | homepage https://nyxt.atlas.engineer 14 | platforms darwin 15 | supported_archs x86_64 16 | license BSD 17 | use_configure no 18 | fetch.type git 19 | git.url https://github.com/atlas-engineer/nyxt.git 20 | git.branch 85e96b0f 21 | depends_build port:sbcl 22 | depends_lib port:libfixposix \ 23 | port:webkit2-gtk-devel 24 | -------------------------------------------------------------------------------- /_resources/port1.0/compilers/clang_compilers.tcl: -------------------------------------------------------------------------------- 1 | # add all working Clang compilers to the variable compilers based on ${os.major} 2 | 3 | # When adding a new clang version here, make sure to update the 4 | # clang_dependency PortGroup, and add it to any new dependencies of the 5 | # new version. 6 | 7 | # clang 9.0 and older build on 10.6+ (darwin 10) 8 | # clang 7.0 and older build on 10.5+ (darwin 9) 9 | # clang 3.4 and older build on 10.4+ (darwin 8) 10 | if {${os.major} >= 10} { 11 | lappend compilers macports-clang-9.0 \ 12 | macports-clang-8.0 13 | } 14 | 15 | if {${os.major} >= 9} { 16 | lappend compilers macports-clang-7.0 \ 17 | macports-clang-6.0 \ 18 | macports-clang-5.0 19 | } 20 | 21 | if {${os.major} < 16} { 22 | # The Sierra SDK requires a toolchain that supports class properties 23 | if {${os.major} >= 9} { 24 | lappend compilers macports-clang-3.7 25 | } 26 | lappend compilers macports-clang-3.4 27 | if {${os.major} < 9} { 28 | lappend compilers macports-clang-3.3 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /_resources/port1.0/group/haskellplatform-2.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # Usage: 4 | # PortGroup haskell-platform 2.0 5 | # haskellplatform.setup haskell_package version [register_scripts] 6 | # where haskell_package is the name of the package (eg, digest), version is 7 | # the version for it. This automatically defines version, categories, 8 | # homepage, master_sites, distname, and depends_build as appropriate, and 9 | # sets up the configure, build, destroot, and post-activate stages. 10 | # register_scripts can be used to deactivate package registration with 11 | # haskell's package database and might be needed for non-library parts of the 12 | # haskell platform. Set it to "no" to achieve this; defaults to "yes". 13 | # 14 | # This uses the haskell 1.0 PortGroup internally. 15 | 16 | PortGroup haskell 1.0 17 | 18 | proc haskellplatform.setup {package version {register_scripts "yes"}} { 19 | haskell.setup ${package} ${version} ghc ${register_scripts} haskell-platform 20 | } 21 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/process-executable-path.diff: -------------------------------------------------------------------------------- 1 | --- Source/WebKit/Shared/glib/ProcessExecutablePathGLib.cpp.orig 2019-02-18 10:10:26.000000000 +0100 2 | +++ Source/WebKit/Shared/glib/ProcessExecutablePathGLib.cpp 2020-05-22 14:17:01.000000000 +0200 3 | @@ -33,7 +33,6 @@ 4 | 5 | namespace WebKit { 6 | 7 | -#if ENABLE(DEVELOPER_MODE) 8 | static String getExecutablePath() 9 | { 10 | CString executablePath = getCurrentExecutablePath(); 11 | @@ -41,11 +40,9 @@ 12 | return FileSystem::directoryName(FileSystem::stringFromFileSystemRepresentation(executablePath.data())); 13 | return { }; 14 | } 15 | -#endif 16 | 17 | static String findWebKitProcess(const char* processName) 18 | { 19 | -#if ENABLE(DEVELOPER_MODE) 20 | static const char* execDirectory = g_getenv("WEBKIT_EXEC_PATH"); 21 | if (execDirectory) { 22 | String processPath = FileSystem::pathByAppendingComponent(FileSystem::stringFromFileSystemRepresentation(execDirectory), processName); 23 | @@ -59,7 +56,6 @@ 24 | if (FileSystem::fileExists(processPath)) 25 | return processPath; 26 | } 27 | -#endif 28 | 29 | return FileSystem::pathByAppendingComponent(FileSystem::stringFromFileSystemRepresentation(PKGLIBEXECDIR), processName); 30 | } 31 | -------------------------------------------------------------------------------- /python/py-gobject/files/patch-pygi-info.c.diff: -------------------------------------------------------------------------------- 1 | --- gi/pygi-info.c.orig 2014-01-15 09:16:11.000000000 +0200 2 | +++ gi/pygi-info.c 2014-01-15 09:16:52.000000000 +0200 3 | @@ -162,9 +162,6 @@ 4 | case GI_INFO_TYPE_CONSTANT: 5 | type = &PyGIConstantInfo_Type; 6 | break; 7 | - case GI_INFO_TYPE_ERROR_DOMAIN: 8 | - type = &PyGIErrorDomainInfo_Type; 9 | - break; 10 | case GI_INFO_TYPE_UNION: 11 | type = &PyGIUnionInfo_Type; 12 | break; 13 | @@ -481,7 +478,6 @@ 14 | case GI_INFO_TYPE_INVALID: 15 | case GI_INFO_TYPE_FUNCTION: 16 | case GI_INFO_TYPE_CONSTANT: 17 | - case GI_INFO_TYPE_ERROR_DOMAIN: 18 | case GI_INFO_TYPE_VALUE: 19 | case GI_INFO_TYPE_SIGNAL: 20 | case GI_INFO_TYPE_PROPERTY: 21 | @@ -860,7 +856,6 @@ 22 | case GI_INFO_TYPE_INVALID: 23 | case GI_INFO_TYPE_FUNCTION: 24 | case GI_INFO_TYPE_CONSTANT: 25 | - case GI_INFO_TYPE_ERROR_DOMAIN: 26 | case GI_INFO_TYPE_VALUE: 27 | case GI_INFO_TYPE_SIGNAL: 28 | case GI_INFO_TYPE_PROPERTY: 29 | -------------------------------------------------------------------------------- /_resources/port1.0/group/cargo-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4 2 | # 3 | # This PortGroup supports the cargo build system 4 | # 5 | # This PortGroup is designed to be used when cargo is the 6 | # exclusive build mechanism. 7 | # Use the cargo_fetch PortGroup if cargo is called from other 8 | # build mechanisms (e.g. configure and make). 9 | # 10 | # Usage: 11 | # 12 | # PortGroup cargo 1.0 13 | # 14 | # See the cargo_fetch PortGroup for more options 15 | # 16 | 17 | PortGroup cargo_fetch 1.0 18 | 19 | use_configure no 20 | default universal_variant yes 21 | 22 | default build.cmd {${cargo.bin} build} 23 | build.target 24 | build.pre_args --release --frozen -v -j${build.jobs} 25 | build.args 26 | 27 | destroot { 28 | ui_error "No destroot phase in the Portfile!" 29 | ui_msg "Here is an example destroot phase:" 30 | ui_msg 31 | ui_msg "destroot {" 32 | ui_msg { xinstall -m 0755 ${worksrcpath}/target/release/${name} ${destroot}${prefix}/bin/} 33 | ui_msg { xinstall -m 0444 ${worksrcpath}/doc/${name}.1 ${destroot}${prefix}/share/man/man1/} 34 | ui_msg "}" 35 | ui_msg 36 | ui_msg "Please check if there are additional files (configuration, documentation, etc.) that need to be installed." 37 | error "destroot phase not implemented" 38 | } 39 | -------------------------------------------------------------------------------- /_resources/port1.0/group/cxx11-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup introduces no new options. Simply including this 4 | # PortGroup indicates that a port requires C++11. We only support C++11 5 | # with libc++. 6 | # 7 | # Ideally the functionality of this PortGroup should be integrated into 8 | # MacPorts base as a new option. 9 | 10 | PortGroup compiler_blacklist_versions 1.0 11 | 12 | # Compilers supporting C++11 are GCC >= 4.6 and clang >= 3.3. 13 | # As we only support libc++, clang is implicitly required. 14 | # Blacklist all GCC compilers to not accidentally pull in libstdc++. 15 | # We do not know what "cc" is, so blacklist it as well. 16 | compiler.blacklist-append *gcc* {clang < 500} cc 17 | 18 | pre-configure { 19 | if {${configure.cxx_stdlib} eq "libstdc++"} { 20 | ui_error "${subport} does not support your selected MacPorts C++ runtime. libc++ must be selected and C++-based ports built against it." 21 | 22 | if {${os.major} < 13} { 23 | ui_error "Please follow the instructions on https://trac.macports.org/wiki/LibcxxOnOlderSystems." 24 | ui_error "After adding the required options to macports.conf, reinstall all ports like you would when switching macOS versions." 25 | ui_error "Follow step 3 on https://trac.macports.org/wiki/Migration in order to do this." 26 | } 27 | 28 | return -code error "libstdc++ unsupported." 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /_resources/port1.0/group/old_openssl-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4 2 | # 3 | # Usage: 4 | # PortGroup old_openssl 1.0 5 | # 6 | # This port group is for ports that are incompatible with the latest OpenSSL. 7 | # It's not needed for most ports. 8 | # 9 | # options: 10 | # openssl.branch: the OpenSSL branch to use (e.g. 1.0 for the latest OpenSSL on the 1.0.x branch). 11 | # Currently only 1.0 is available. 12 | 13 | options openssl.branch openssl.includedir openssl.libdir 14 | default openssl.branch 1.0 15 | default openssl.includedir {${prefix}/include/openssl-${openssl.branch}} 16 | default openssl.libdir {${prefix}/lib/openssl-${openssl.branch}} 17 | option_proc openssl.branch openssl_set_branch 18 | 19 | proc openssl_set_branch {option action args} { 20 | if {$action ne "set"} { 21 | return 22 | } 23 | 24 | global openssl.branch 25 | 26 | set branch_no_dot [string map {. ""} ${openssl.branch}] 27 | 28 | depends_lib-delete path:lib/libssl.dylib:openssl 29 | depends_lib-append port:openssl${branch_no_dot} 30 | } 31 | 32 | proc openssl.configure {method} { 33 | global prefix openssl.branch openssl.includedir openssl.libdir 34 | 35 | switch ${method} { 36 | pkgconfig { 37 | configure.env-append PKG_CONFIG_PATH=${prefix}/lib/openssl-${openssl.branch}/pkgconfig 38 | depends_build-append port:pkgconfig 39 | } 40 | build_flags { 41 | configure.cppflags-prepend -I${openssl.includedir} 42 | configure.ldflags-prepend -L${openssl.libdir} 43 | } 44 | default { 45 | return -code error "invalid method \"${method}\" for openssl.configure" 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /_resources/port1.0/group/meson-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4 2 | 3 | # This PortGroup supports the meson build system 4 | # 5 | # Usage: 6 | # 7 | # PortGroup meson 1.0 8 | # 9 | 10 | #--------- 11 | # WARNING: 12 | #--------- 13 | # 14 | # Meson's install_name currently seems to be broken, so workarounds might be needed to make ports actually work. 15 | # See: https://github.com/mesonbuild/meson/issues/2121 16 | 17 | 18 | # meson builds need to be done out-of-source 19 | default build_dir {${workpath}/build} 20 | 21 | depends_build-append port:meson \ 22 | port:ninja 23 | depends_skip_archcheck-append \ 24 | meson \ 25 | ninja 26 | 27 | # TODO: --buildtype=plain tells Meson not to add its own flags to the command line. This gives the packager total control on used flags. 28 | default configure.cmd {${prefix}/bin/meson} 29 | default configure.post_args {[meson::get_post_args]} 30 | configure.universal_args-delete \ 31 | --disable-dependency-tracking 32 | 33 | default build.dir {${build_dir}} 34 | default build.cmd {${prefix}/bin/ninja} 35 | default build.post_args {-v} 36 | default build.target "" 37 | 38 | # remove DESTDIR= from arguments, but rather take it from environmental variable 39 | destroot.env-append DESTDIR=${destroot} 40 | default destroot.post_args "" 41 | 42 | namespace eval meson { 43 | proc get_post_args {} { 44 | global configure.dir build_dir muniversal.current_arch 45 | if {[info exists muniversal.current_arch]} { 46 | return "${configure.dir} ${build_dir}-${muniversal.current_arch}" 47 | } else { 48 | return "${configure.dir} ${build_dir}" 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /_resources/port1.0/group/developerversion-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup lets a port check that the user's Developer Tools is sufficiently new. 4 | # 5 | # Usage: 6 | # 7 | # PortGroup developerversion 1.0 8 | # minimum_developerversions {darwin_major minimum_developerversion} 9 | # 10 | # where darwin_major is the major version of the underlying Darwin OS (e.g. 16 11 | # for macOS 10.12 Sierra) and minimum_developerversion is the minimum version 12 | # of the developer tools (either Xcode or the Command Line Tools) the port requires (e.g. 3.1). 13 | 14 | PortGroup cltversion 1.0 15 | 16 | options minimum_developerversions 17 | default minimum_developerversions {} 18 | 19 | platform macosx { 20 | pre-extract { 21 | foreach {darwin_major minimum_developerversion} [join ${minimum_developerversions}] { 22 | if {${darwin_major} == ${os.major}} { 23 | if {![info exists developerversion] || $developerversion == "none" || $developerversion == ""} { 24 | ui_error "Couldn't determine your Developer Tools version." 25 | ui_error "" 26 | ui_error "On macOS ${macosx_version}, ${name} @${version} requires Developer Tools ${developerversion} or later but you have none installed." 27 | ui_error "" 28 | return -code error "unable to find Developer Tools" 29 | } 30 | if {[vercmp ${developerversion} ${minimum_developerversion}] < 0} { 31 | ui_error "On macOS ${macosx_version}, ${subport} @${version} requires Developer Tools ${minimum_developerversion} or later, but you have Developer Tools ${developerversion}." 32 | return -code error "incompatible Developer Tools" 33 | } 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /_resources/port1.0/group/xcodeversion-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup lets a port check that the user's Xcode is sufficiently new. 4 | # 5 | # Usage: 6 | # 7 | # PortGroup xcodeversion 1.0 8 | # minimum_xcodeversions {darwin_major minimum_xcodeversion} 9 | # 10 | # where darwin_major is the major version of the underlying Darwin OS (e.g. 16 11 | # for macOS 10.12 Sierra) and minimum_xcodeversion is the minimum version 12 | # of Xcode the port requires (e.g. 3.1). 13 | 14 | options minimum_xcodeversions 15 | default minimum_xcodeversions {} 16 | 17 | platform macosx { 18 | pre-extract { 19 | foreach {darwin_major minimum_xcodeversion} [join ${minimum_xcodeversions}] { 20 | if {${darwin_major} == ${os.major}} { 21 | if {![info exists xcodeversion] || $xcodeversion == "none"} { 22 | ui_error "Couldn't determine your Xcode version (from '/usr/bin/xcodebuild -version')." 23 | ui_error "" 24 | ui_error "On macOS ${macosx_version}, ${name} @${version} requires Xcode ${minimum_xcodeversion} or later but you have none installed." 25 | ui_error "See https://guide.macports.org/chunked/installing.xcode.html for download links." 26 | ui_error "" 27 | return -code error "unable to find Xcode" 28 | } 29 | if {[vercmp ${xcodeversion} ${minimum_xcodeversion}] < 0} { 30 | ui_error "On macOS ${macosx_version}, ${name} @${version} requires Xcode ${minimum_xcodeversion} or later but you have Xcode ${xcodeversion}." 31 | ui_error "See https://guide.macports.org/chunked/installing.xcode.html for download links." 32 | return -code error "incompatible Xcode version" 33 | } 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/unused/PR-157574.patch: -------------------------------------------------------------------------------- 1 | --- Source/JavaScriptCore/API/WebKitAvailability.h.orig 2018-08-20 01:32:25.000000000 -0700 2 | +++ Source/JavaScriptCore/API/WebKitAvailability.h 2018-08-20 01:35:33.000000000 -0700 3 | @@ -28,46 +28,8 @@ 4 | 5 | #if defined(__APPLE__) 6 | 7 | -#include 8 | #include 9 | 10 | -#if !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100 11 | -/* To support availability macros that mention newer OS X versions when building on older OS X versions, 12 | - we provide our own definitions of the underlying macros that the availability macros expand to. We're 13 | - free to expand the macros as no-ops since frameworks built on older OS X versions only ship bundled with 14 | - an application rather than as part of the system. 15 | -*/ 16 | - 17 | -#ifndef __NSi_10_10 // Building from trunk rather than SDK. 18 | -#define __NSi_10_10 introduced=10.0 // Use 10.0 to indicate that everything is available. 19 | -#endif 20 | - 21 | -#ifndef __NSi_10_11 // Building from trunk rather than SDK. 22 | -#define __NSi_10_11 introduced=10.0 // Use 10.0 to indicate that everything is available. 23 | -#endif 24 | - 25 | -#ifndef __NSi_10_12 // Building from trunk rather than SDK. 26 | -#define __NSi_10_12 introduced=10.0 // Use 10.0 to indicate that everything is available. 27 | -#endif 28 | - 29 | -#ifndef __AVAILABILITY_INTERNAL__MAC_10_9 30 | -#define __AVAILABILITY_INTERNAL__MAC_10_9 31 | -#endif 32 | - 33 | -#ifndef __AVAILABILITY_INTERNAL__MAC_10_10 34 | -#define __AVAILABILITY_INTERNAL__MAC_10_10 35 | -#endif 36 | - 37 | -#ifndef AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER 38 | -#define AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER 39 | -#endif 40 | - 41 | -#ifndef AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER 42 | -#define AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER 43 | -#endif 44 | - 45 | -#endif /* !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED < 101100 */ 46 | - 47 | #if defined(BUILDING_GTK__) 48 | #undef JSC_API_AVAILABLE 49 | #define JSC_API_AVAILABLE(...) 50 | -------------------------------------------------------------------------------- /_resources/port1.0/group/hunspelldict-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup automatically sets all the fields of the various hunspell 4 | # directories ports (e.g. hunspell-dict-en_US). 5 | # 6 | # Usage: 7 | # 8 | # PortGroup hunspelldict 1.0 9 | # hunspelldict.setup locale version lang source 10 | # 11 | # If the dictionary is hosted on the OpenOffice.org website, set "source" to 12 | # "ooo", otherwise don't use it. 13 | # 14 | # Example: 15 | # 16 | # PortGroup unspelldict 1.0 17 | # hunspelldict.setup en_US 2006-02-07 {English (United States)} ooo 18 | 19 | options hunspelldict.locale 20 | 21 | proc hunspelldict.setup {locale version lang {source {}}} { 22 | global description distfiles master_sites name worksrcpath 23 | 24 | hunspelldict.locale ${locale} 25 | 26 | name hunspell-dict-${locale} 27 | version ${version} 28 | categories textproc 29 | platforms darwin 30 | supported_archs noarch 31 | 32 | description {*}${lang} dictionary for hunspell 33 | long_description ${description} 34 | 35 | homepage http://wiki.services.openoffice.org/wiki/Dictionaries 36 | 37 | if {${source} eq "ooo"} { 38 | dist_subdir ${name}/${version} 39 | distname ${locale} 40 | use_zip yes 41 | 42 | master_sites \ 43 | http://archive.services.openoffice.org/pub/mirror/OpenOffice.org/contrib/dictionaries/ 44 | 45 | extract.mkdir yes 46 | 47 | use_configure no 48 | build {} 49 | destroot { 50 | set locale ${hunspelldict.locale} 51 | 52 | set dictdir ${prefix}/share/hunspell 53 | xinstall -d ${destroot}${dictdir} 54 | xinstall -m 0644 -W ${worksrcpath} ${locale}.aff ${locale}.dic \ 55 | ${destroot}${dictdir} 56 | } 57 | 58 | livecheck.type regex 59 | livecheck.regex \ 60 | [quotemeta ${master_sites}${distfiles}].*(\\d{4}-\\d{2}-\\d{2}) 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-ramsize.diff: -------------------------------------------------------------------------------- 1 | --- Source/WTF/wtf/RAMSize.cpp.orig 2019-10-14 22:59:02.000000000 -0700 2 | +++ Source/WTF/wtf/RAMSize.cpp 2019-10-14 23:02:19.000000000 -0700 3 | @@ -29,6 +29,15 @@ 4 | #include 5 | #include 6 | 7 | +#if OS(DARWIN) 8 | +#import 9 | +#import 10 | +#import 11 | +#import 12 | +#import 13 | +static const size_t ramSizeGuess = 512 * MB; 14 | +#else 15 | + 16 | #if OS(WINDOWS) 17 | #include 18 | #elif defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC 19 | @@ -39,6 +47,8 @@ 20 | #include 21 | #endif 22 | 23 | +#endif //OS(DARWIN) 24 | + 25 | namespace WTF { 26 | 27 | #if OS(WINDOWS) 28 | @@ -47,6 +57,29 @@ 29 | 30 | static size_t computeRAMSize() 31 | { 32 | +#if OS(DARWIN) 33 | + host_basic_info_data_t hostInfo; 34 | + 35 | + mach_port_t host = mach_host_self(); 36 | + mach_msg_type_number_t count = HOST_BASIC_INFO_COUNT; 37 | + kern_return_t r = host_info(host, HOST_BASIC_INFO, (host_info_t)&hostInfo, &count); 38 | + mach_port_deallocate(mach_task_self(), host); 39 | + if (r != KERN_SUCCESS) { 40 | + LOG_ERROR("%s : host_info(%d) : %s.\n", __FUNCTION__, r, mach_error_string(r)); 41 | + return ramSizeGuess; 42 | + } 43 | + 44 | + if (hostInfo.max_mem > std::numeric_limits::max()) 45 | + return std::numeric_limits::max(); 46 | + 47 | + size_t sizeAccordingToKernel = static_cast(hostInfo.max_mem); 48 | + size_t multiple = 128 * MB; 49 | + 50 | + // Round up the memory size to a multiple of 128MB because max_mem may not be exactly 512MB 51 | + // (for example) and we have code that depends on those boundaries. 52 | + return ((sizeAccordingToKernel + multiple - 1) / multiple) * multiple; 53 | +#else 54 | + 55 | #if OS(WINDOWS) 56 | MEMORYSTATUSEX status; 57 | status.dwLength = sizeof(status); 58 | @@ -65,6 +98,9 @@ 59 | #else 60 | return bmalloc::api::availableMemory(); 61 | #endif 62 | + 63 | +#endif //OS(DARWIN) 64 | + 65 | } 66 | 67 | size_t ramSize() 68 | -------------------------------------------------------------------------------- /_resources/port1.0/group/elisp-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This portgroup is for ports that install Emacs lisp modules. 4 | # 5 | # The main goal is to allow these ports to support different 6 | # installations of Emacs, e.g. the emacs and emacs-app ports. The 7 | # assumption here is that all of these emacsen install into the same 8 | # site-lisp directory, ${emacs_lispdir}, and have compatible 9 | # byte-code, so it doesn't matter which one is used to byte-compile 10 | # the lisp code. 11 | # 12 | # Accordingly, the portgroup detects any installed versions of 13 | # emacs/emacs-app/emacs-mac-app, and sets ${emacs_binary} to the 14 | # installed emacs binary, and ${emacs_binary_provider} to the name of 15 | # the port that provides it. If no emacs is installed, it defaults to 16 | # the location and name of the emacs port. 17 | # 18 | # This can be used in the dependency specification, e.g. 19 | # depends_lib path:${emacs_binary}:${emacs_binary_provider} 20 | # ${emacs_binary} should also be used for compiling the elisp code, 21 | # but we leave setting that up to the individual portfiles, because 22 | # there's no standard way to do it. 23 | # 24 | 25 | set emacs_default_binary ${prefix}/bin/emacs 26 | set emacs_default_binary_provider emacs 27 | 28 | set emacs_binaries " 29 | ${prefix}/bin/emacs 30 | ${applications_dir}/Emacs.app/Contents/MacOS/Emacs 31 | ${applications_dir}/EmacsMac.app/Contents/MacOS/Emacs 32 | " 33 | 34 | set emacs_binary ${emacs_default_binary} 35 | set emacs_binary_provider ${emacs_default_binary_provider} 36 | set emacs_binary_found 0 37 | 38 | # Find the first matching emacs binary 39 | foreach bin ${emacs_binaries} { 40 | set provider [registry_file_registered $bin] 41 | if {[file exists $bin] && $provider != 0} { 42 | set emacs_binary $bin 43 | set emacs_binary_provider $provider 44 | set emacs_binary_found 1 45 | break 46 | } 47 | } 48 | 49 | set emacs_lispdir ${prefix}/share/emacs/site-lisp 50 | -------------------------------------------------------------------------------- /_resources/port1.0/group/debug-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup sets up default variants for projects that want m 4 | # 5 | # Usage: 6 | # 7 | # PortGroup debug 1.0 8 | 9 | configure.cflags-append -mtune=native 10 | configure.cxxflags-append -mtune=native 11 | configure.fflags-append -mtune=native 12 | configure.f90flags-append -mtune=native 13 | configure.fcflags-append -mtune=native 14 | configure.cppflags-append -mtune=native 15 | 16 | ui_debug "adding the default debug variant" 17 | variant debug description {Enable debug flags and symbols} { 18 | configure.cflags-delete -O1 -O2 -O3 -Os -mtune=native -DNDEBUG -DNDEBUG=1 19 | configure.cxxflags-delete -O1 -O2 -O3 -Os -mtune=native -DNDEBUG -DNDEBUG=1 20 | configure.cppflags-delete -O1 -O2 -O3 -Os -mtune=native -DNDEBUG -DNDEBUG=1 21 | configure.fflags-delete -O1 -O2 -O3 -Os -mtune=native -DNDEBUG -DNDEBUG=1 22 | configure.f90flags-delete -O1 -O2 -O3 -Os -mtune=native -DNDEBUG -DNDEBUG=1 23 | configure.fcflags-delete -O1 -O2 -O3 -Os -mtune=native -DNDEBUG -DNDEBUG=1 24 | 25 | # certain options break the way cmake configures, so test for cmake variable 26 | if {[info exists cmake_share_module_dir]} { 27 | configure.args-delete -DCMAKE_BUILD_TYPE=Release 28 | configure.args-append -DCMAKE_BUILD_TYPE=debugFull 29 | } else { 30 | configure.args-delete --disable-debug 31 | configure.args-append --enable-debug 32 | } 33 | 34 | configure.cflags-append -g -O0 35 | configure.cxxflags-append -g -O0 36 | configure.fflags-append -g -O0 37 | configure.f90flags-append -g -O0 38 | configure.fcflags-append -g -O0 39 | } 40 | 41 | post-destroot { 42 | if {[variant_isset debug]} { 43 | ui_debug "Generating the .dSYM bundles because of +debug: find ${destroot}${prefix} -type f '(' -name '*.dylib' -or -name '*.so' ')' -exec dsymutil {} +" 44 | system -W ${destroot}${prefix} "find . -type f '(' -name '*.dylib' -or -name '*.so' ')' -exec dsymutil {} +" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /_resources/port1.0/fetch/archive_sites.tcl: -------------------------------------------------------------------------------- 1 | namespace eval portfetch::mirror_sites { } 2 | 3 | global os.platform os.major 4 | set packages_scheme [expr {${os.platform} eq "darwin" && ${os.major} < 10 ? "http" : "https"}] 5 | 6 | # Servers that support http. 7 | set portfetch::mirror_sites::sites(macports_archives) " 8 | ${packages_scheme}://packages.macports.org/:nosubdir 9 | http://aus.us.packages.macports.org/macports/packages/:nosubdir 10 | http://cph.dk.packages.macports.org/:nosubdir 11 | http://fco.it.packages.macports.org/:nosubdir 12 | http://jnb.za.packages.macports.org/packages/:nosubdir 13 | http://kmq.jp.packages.macports.org/:nosubdir 14 | http://lil.fr.packages.macports.org/:nosubdir 15 | http://nou.nc.packages.macports.org/pub/macports/packages.macports.org/:nosubdir 16 | http://nue.de.packages.macports.org/:nosubdir 17 | http://mse.uk.packages.macports.org/sites/packages.macports.org/:nosubdir 18 | ${packages_scheme}://pek.cn.packages.macports.org/macports/packages/:nosubdir 19 | http://jog.id.packages.macports.org/macports/packages/:nosubdir 20 | " 21 | 22 | # Servers that only support https. 23 | if {${packages_scheme} eq "https"} { 24 | append portfetch::mirror_sites::sites(macports_archives) " 25 | https://ywg.ca.packages.macports.org/mirror/macports/packages/:nosubdir 26 | " 27 | } 28 | 29 | set portfetch::mirror_sites::archive_type(macports_archives) tbz2 30 | set portfetch::mirror_sites::archive_prefix(macports_archives) /opt/local 31 | set portfetch::mirror_sites::archive_frameworks_dir(macports_archives) /opt/local/Library/Frameworks 32 | set portfetch::mirror_sites::archive_applications_dir(macports_archives) /Applications/MacPorts 33 | if {${os.platform} eq "darwin" && ${os.major} >= 10} { 34 | set portfetch::mirror_sites::archive_cxx_stdlib(macports_archives) libc++ 35 | } else { 36 | set portfetch::mirror_sites::archive_cxx_stdlib(macports_archives) libstdc++ 37 | } 38 | if {${os.platform} eq "darwin" && ${os.major} <= 12} { 39 | set portfetch::mirror_sites::archive_delete_la_files(macports_archives) no 40 | } else { 41 | set portfetch::mirror_sites::archive_delete_la_files(macports_archives) yes 42 | } 43 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/unused/patch-name-conflicts.diff: -------------------------------------------------------------------------------- 1 | --- Source/WebCore/page/SecurityOriginData.cpp.orig 2018-06-13 14:43:40.000000000 +0800 2 | +++ Source/WebCore/page/SecurityOriginData.cpp 2018-06-13 14:37:12.000000000 +0800 3 | @@ -33,8 +33,6 @@ 4 | #include 5 | #include 6 | 7 | -using namespace WebCore; 8 | - 9 | namespace WebCore { 10 | 11 | SecurityOriginData SecurityOriginData::fromSecurityOrigin(const SecurityOrigin& securityOrigin) 12 | --- Source/WebCore/page/TextIndicator.cpp.orig 2018-06-13 21:38:47.000000000 +0800 13 | +++ Source/WebCore/page/TextIndicator.cpp 2018-06-13 21:39:03.000000000 +0800 14 | @@ -50,8 +50,6 @@ 15 | #include "SelectionRect.h" 16 | #endif 17 | 18 | -using namespace WebCore; 19 | - 20 | namespace WebCore { 21 | 22 | static bool initializeIndicator(TextIndicatorData&, Frame&, const Range&, FloatSize margin, bool indicatesCurrentSelection); 23 | --- Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/GObjectEventListener.cpp.orig 2018-06-13 23:03:53.000000000 +0800 24 | +++ Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/GObjectEventListener.cpp 2018-06-13 23:17:03.000000000 +0800 25 | @@ -25,7 +25,9 @@ 26 | #include 27 | #include 28 | 29 | -using namespace WebCore; 30 | +using WebCore::Event; 31 | +using WebCore::EventTarget; 32 | +using WebCore::ScriptExecutionContext; 33 | 34 | namespace WebKit { 35 | 36 | --- Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.cpp.orig 2018-06-13 23:18:03.000000000 +0800 37 | +++ Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.cpp 2018-06-13 23:29:20.000000000 +0800 38 | @@ -22,7 +22,7 @@ 39 | #include "WebKitDOMNodePrivate.h" 40 | #include 41 | 42 | -using namespace WebCore; 43 | +using WebCore::Node; 44 | 45 | namespace WebKit { 46 | 47 | --- Source/WebCore/html/HTMLKeygenElement.cpp.orig 2018-06-26 08:48:28.000000000 -0700 48 | +++ Source/WebCore/html/HTMLKeygenElement.cpp 2018-06-26 08:48:39.000000000 -0700 49 | @@ -39,7 +39,7 @@ 50 | #include 51 | #include 52 | 53 | -using namespace WebCore; 54 | +//using namespace WebCore; 55 | 56 | namespace WebCore { 57 | 58 | -------------------------------------------------------------------------------- /_resources/port1.0/group/conflicts_build-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup implements the "conflicts_build" option, which lets ports 4 | # specify that they would fail to build properly if certain other ports are 5 | # installed at configure, build and/or destroot time. This is in contrast to 6 | # the MacPorts built-in "conflicts" option, which is for indicating activation- 7 | # time conflicts (i.e. ports that install files in the same locations). 8 | # 9 | # Ideally the conflicts_build option should be integrated into MacPorts base 10 | # instead of being a PortGroup. 11 | 12 | 13 | # conflicts_build: the list of ports with which this port conflicts at 14 | # configure, build and/or destroot time. 15 | options conflicts_build 16 | default conflicts_build {} 17 | 18 | 19 | proc conflicts_build._check_for_conflicting_ports {} { 20 | global conflicts_build subport 21 | foreach badport ${conflicts_build} { 22 | if {![catch "registry_active ${badport}"]} { 23 | if {${subport} == ${badport}} { 24 | ui_error "${subport} cannot be built while another version of ${badport} is active." 25 | ui_error "Please forcibly deactivate the existing copy of ${badport}, e.g. by running:" 26 | ui_error "" 27 | ui_error " sudo port -f deactivate ${badport}" 28 | ui_error "" 29 | ui_error "Then try again." 30 | } else { 31 | ui_error "${subport} cannot be built while ${badport} is active." 32 | ui_error "Please forcibly deactivate ${badport}, e.g. by running:" 33 | ui_error "" 34 | ui_error " sudo port -f deactivate ${badport}" 35 | ui_error "" 36 | ui_error "Then try again. You can reactivate ${badport} again later." 37 | } 38 | return -code error "${badport} is active" 39 | } 40 | } 41 | } 42 | 43 | pre-configure { 44 | conflicts_build._check_for_conflicting_ports 45 | } 46 | 47 | pre-build { 48 | conflicts_build._check_for_conflicting_ports 49 | } 50 | 51 | pre-destroot { 52 | conflicts_build._check_for_conflicting_ports 53 | } 54 | -------------------------------------------------------------------------------- /_resources/port1.0/group/hocbinding-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup automatically sets all the fields of the various hs-HOC 4 | # bindings ports (e.g. hs-HOC-Foundation). 5 | # 6 | # Usage: 7 | # 8 | # PortGroup hocbinding 1.0 9 | # hocbinding.setup framework version source 10 | # 11 | # where framework is the name of the bound framework (e.g. Foundation), version 12 | # is the version of the binding, and if the framework additional code is in HOC 13 | # source itself, source is "hoc"; otherwise don't use source. 14 | # 15 | # Example: 16 | # 17 | # PortGroup hocbinding 1.0 18 | # hocbinding.setup Foundation 0.7-r413 hoc 19 | 20 | PortGroup haskell 1.0 21 | 22 | options hocbinding.framework 23 | options hocbinding.deps 24 | default hocbinding.deps {{}} 25 | 26 | proc hocbinding.setup {framework version {source ""}} { 27 | global description name prefix worksrcpath 28 | 29 | hocbinding.framework ${framework} 30 | 31 | haskell.setup HOC-${framework} ${version} 32 | name hs-HOC-${framework} 33 | categories devel 34 | platforms darwin 35 | 36 | description ${framework} framework bindings for HOC 37 | long_description ${description} 38 | 39 | if {${source} eq "hoc"} { 40 | homepage https://code.google.com/p/hoc/ 41 | 42 | worksrcdir hoc/Bindings/Generated/HOC-${framework} 43 | 44 | post-extract { 45 | xinstall -d ${worksrcpath} 46 | } 47 | 48 | depends_build-append \ 49 | port:hs-hoc 50 | 51 | pre-configure { 52 | set args "" 53 | foreach dep ${hocbinding.deps} { 54 | append args " -d ${dep}" 55 | } 56 | 57 | system "cd [file dirname ${worksrcpath}] && \ 58 | hoc-ifgen -f ${hocbinding.framework} -b ../binding-script.txt \ 59 | -a ../AdditionalCode ${args}" 60 | } 61 | 62 | post-destroot { 63 | set pidir ${prefix}/share/HOC 64 | xinstall -d ${destroot}${pidir} 65 | xinstall -m 0644 ${worksrcpath}/${hocbinding.framework}.pi \ 66 | ${destroot}${pidir} 67 | } 68 | } 69 | 70 | universal_variant no 71 | } 72 | -------------------------------------------------------------------------------- /_resources/port1.0/group/obsolete-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; truncate-lines: t -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 2 | # 3 | # Usage: 4 | # 5 | # PortGroup obsolete 1.0 6 | # replaced_by name-of-port-that-deprecated-this-port 7 | 8 | # set a number of reasonable defaults for a port that is only there to 9 | # inform users that they should uninstall it and install something else 10 | # instead; you might want to override some of the defaults though. 11 | 12 | proc obsolete.set_descriptions {replaced_by} { 13 | if {${replaced_by} eq ""} { 14 | description Obsolete port 15 | long_description This port is obsolete. 16 | } else { 17 | description Obsolete port, replaced by ${replaced_by} 18 | long_description This port has been replaced by ${replaced_by}. 19 | } 20 | 21 | default platforms darwin 22 | default maintainers nomaintainer 23 | default homepage https://www.macports.org 24 | default license none 25 | 26 | archive_sites 27 | patchfiles 28 | distfiles 29 | depends_build 30 | depends_extract 31 | depends_fetch 32 | depends_lib 33 | depends_patch 34 | depends_run 35 | depends_test 36 | 37 | supported_archs noarch 38 | livecheck.type none 39 | 40 | if {[info commands known_fail] ne ""} { 41 | known_fail yes 42 | } 43 | } 44 | 45 | # Handle replaced_by set after portgroup inclusion. 46 | option_proc replaced_by obsolete.replaced_by_proc 47 | proc obsolete.replaced_by_proc {option action args} { 48 | switch ${action} { 49 | set - 50 | delete { 51 | obsolete.set_descriptions ${args} 52 | } 53 | } 54 | } 55 | 56 | # Handle replaced_by set before portgroup inclusion. 57 | if {[info exists replaced_by]} { 58 | obsolete.set_descriptions ${replaced_by} 59 | } else { 60 | obsolete.set_descriptions "" 61 | } 62 | 63 | pre-configure { 64 | if {[info exists replaced_by]} { 65 | ui_error "${subport} has been replaced by ${replaced_by};\ 66 | please install that instead." 67 | } else { 68 | ui_error "${subport} is obsolete; please uninstall it." 69 | } 70 | return -code error "obsolete port" 71 | } 72 | -------------------------------------------------------------------------------- /_resources/port1.0/group/x11font-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # Usage: 4 | # PortGroup x11font 1.0 5 | # x11font.setup portname version fontsubdir 6 | # where portname is just the name for the port (and should match the 7 | # distname for simplicity), version is the port's version, and the fontsubdir 8 | # is the subdirectory of ${prefix}/share/fonts used by this font. 9 | # This automatically defines name, version, categories, homepage, 10 | # master_sites, and depends_build as appropriate, and sets up 11 | # configure.args, post-destroot, post-activate, and post-deactivate. 12 | # 13 | 14 | proc x11font.setup {myportname myportversion myfontsubdir} { 15 | global homepage prefix name extract.suffix master_sites x11font_myfontdir 16 | 17 | name ${myportname} 18 | version ${myportversion} 19 | categories x11 x11-font graphics 20 | supported_archs noarch 21 | installs_libs no 22 | homepage https://www.x.org/ 23 | master_sites xorg:individual/font/ 24 | use_bzip2 yes 25 | depends_build port:pkgconfig bin:bdftopcf:bdftopcf \ 26 | port:xorg-font-util bin:gzip:gzip 27 | depends_lib port:fontconfig port:mkfontscale 28 | set x11font_myfontdir ${prefix}/share/fonts/${myfontsubdir} 29 | configure.args --with-fontdir=${x11font_myfontdir} 30 | 31 | post-destroot { 32 | foreach fontsFile {fonts.alias fonts.dir fonts.list fonts.scale fonts.cache-1} { 33 | if {[file exists ${destroot}${x11font_myfontdir}/${fontsFile}]} { 34 | delete ${destroot}${x11font_myfontdir}/${fontsFile} 35 | } 36 | } 37 | } 38 | 39 | post-activate { 40 | system "mkfontscale ${x11font_myfontdir}" 41 | system "mkfontdir ${x11font_myfontdir}" 42 | system "fc-cache ${x11font_myfontdir}" 43 | } 44 | 45 | post-deactivate { 46 | system "mkfontscale ${x11font_myfontdir}" 47 | system "mkfontdir ${x11font_myfontdir}" 48 | system "fc-cache ${x11font_myfontdir}" 49 | } 50 | 51 | livecheck.type regex 52 | livecheck.regex ${name}-(\[\\d.\]+)${extract.suffix} 53 | livecheck.url https://xorg.freedesktop.org/archive/individual/font/?C=M&O=D 54 | } 55 | -------------------------------------------------------------------------------- /python/py-gobject/files/patch-gdesktop.diff: -------------------------------------------------------------------------------- 1 | --- gio/unix-types.defs.orig 2020-09-02 13:56:20.000000000 +0200 2 | +++ gio/unix-types.defs 2020-09-02 13:59:41.000000000 +0200 3 | @@ -15,8 +15,8 @@ 4 | ) 5 | (in-module "giounix") 6 | (parent "GObject") 7 | - (c-name "GDesktopAppInfo") 8 | - (gtype-id "G_TYPE_DESKTOP_APP_INFO") 9 | + (c-name "GOsxAppInfo") 10 | + (gtype-id "G_TYPE_OSX_APP_INFO") 11 | ) 12 | 13 | (define-object FDMessage 14 | --- gio/unix.defs.orig 2020-09-02 13:56:46.000000000 +0200 15 | +++ gio/unix.defs 2020-09-02 13:57:04.000000000 +0200 16 | @@ -31,55 +31,6 @@ 17 | ) 18 | 19 | 20 | - 21 | -;; From gdesktopappinfo.h 22 | - 23 | -(define-function desktop_app_info_get_type 24 | - (c-name "g_desktop_app_info_get_type") 25 | - (return-type "GType") 26 | -) 27 | - 28 | -(define-function desktop_app_info_new_from_filename 29 | - (c-name "g_desktop_app_info_new_from_filename") 30 | - (return-type "GDesktopAppInfo*") 31 | - (parameters 32 | - '("const-char*" "filename") 33 | - ) 34 | -) 35 | - 36 | -(define-function g_desktop_app_info_new_from_keyfile 37 | - (c-name "g_desktop_app_info_new_from_keyfile") 38 | - (return-type "GDesktopAppInfo*") 39 | - (parameters 40 | - '("GKeyFile*" "key_file") 41 | - ) 42 | -) 43 | - 44 | -(define-function desktop_app_info_new 45 | - (c-name "g_desktop_app_info_new") 46 | - (is-constructor-of "GDesktopAppInfo") 47 | - (return-type "GDesktopAppInfo*") 48 | - (parameters 49 | - '("const-char*" "desktop_id") 50 | - ) 51 | -) 52 | - 53 | -(define-method get_is_hidden 54 | - (of-object "GDesktopAppInfo") 55 | - (c-name "g_desktop_app_info_get_is_hidden") 56 | - (return-type "gboolean") 57 | -) 58 | - 59 | -(define-function desktop_app_info_set_desktop_env 60 | - (c-name "g_desktop_app_info_set_desktop_env") 61 | - (return-type "none") 62 | - (parameters 63 | - '("const-char*" "desktop_env") 64 | - ) 65 | -) 66 | - 67 | - 68 | - 69 | ;; From gunixfdmessage.h 70 | 71 | (define-function g_unix_fd_message_get_type 72 | --- gio/unix.override.orig 2020-09-02 13:55:46.000000000 +0200 73 | +++ gio/unix.override 2020-09-02 13:59:41.000000000 +0200 74 | @@ -24,7 +24,7 @@ 75 | #define NO_IMPORT_PYGOBJECT 76 | #include 77 | #include 78 | -#include 79 | +#include 80 | #include 81 | #include 82 | #include -------------------------------------------------------------------------------- /_resources/port1.0/group/pure-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup automatically sets up the standard environment for building 4 | # a module for the Pure language. 5 | # 6 | # Usage: 7 | # 8 | # PortGroup pure 1.0 9 | # pure.setup module module_version 10 | # 11 | # where module is the name of the module (e.g. pure-gsl) and module_version is 12 | # its version. 13 | 14 | 15 | PortGroup github 1.0 16 | 17 | proc pure.setup {module module_version} { 18 | global name homepage 19 | 20 | github.setup agraef pure-lang ${module_version} ${module}- 21 | name ${module} 22 | categories-append pure 23 | homepage https://github.com/agraef/pure-lang/wiki/Addons#${name} 24 | github.tarball_from releases 25 | distname ${name}-${module_version} 26 | 27 | depends_lib-append port:pure 28 | 29 | use_configure no 30 | 31 | build.args-append PUREC_FLAGS=-mcpu=generic 32 | 33 | pre-build { 34 | if {${configure.cxx_stdlib} ne "" && [string match "*clang*" [option configure.cxx]]} { 35 | configure.cxxflags-append -stdlib=${configure.cxx_stdlib} 36 | } 37 | build.args-append CC="${configure.cc}" \ 38 | CFLAGS="${configure.cflags} ${configure.cc_archflags}" \ 39 | CPPFLAGS="${configure.cppflags}" \ 40 | CXX="${configure.cxx}" \ 41 | CXXFLAGS="${configure.cxxflags} ${configure.cxx_archflags}" \ 42 | LDFLAGS="${configure.ldflags} ${configure.ld_archflags}" 43 | } 44 | 45 | post-destroot { 46 | xinstall -d ${destroot}${prefix}/share/doc/${name} 47 | foreach f {COPYING README} { 48 | if {[file exists ${worksrcpath}/${f}]} { 49 | xinstall -m 0644 ${worksrcpath}/${f} ${destroot}${prefix}/share/doc/${name} 50 | } 51 | } 52 | if {[file exists ${worksrcpath}/examples]} { 53 | xinstall -d ${destroot}${prefix}/share/examples 54 | copy ${worksrcpath}/examples ${destroot}${prefix}/share/examples/${name} 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /_resources/port1.0/group/ocaml-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4 2 | # 3 | # Usage: 4 | # PortGroup ocaml 1.0 5 | 6 | # ocaml is not universal 7 | universal_variant no 8 | 9 | # ocaml executable 10 | global ocaml 11 | set ocaml "${prefix}/bin/ocaml" 12 | 13 | # standard place to install OCaml libraries -- same as [exec ocamlfind printconf destdir] 14 | global ocamlfind_dir 15 | set ocamlfind_dir "${prefix}/lib/ocaml/site-lib" 16 | 17 | # most often it is used with a 'destroot' prefix 18 | global ocamlfind_destdir 19 | set ocamlfind_destdir "${destroot}${ocamlfind_dir}" 20 | 21 | # ocamlfind wrapper -- automagicaly obeys destroot 22 | global ocamlfind_wrapper 23 | set ocamlfind_wrapper "${workpath}/ocamlfind" 24 | 25 | depends_lib-append port:ocaml 26 | 27 | # create a clever wrapper for ocamlfind 28 | post-extract { 29 | set wrapper [open ${ocamlfind_wrapper} "w"] 30 | puts ${wrapper} "#!/bin/sh" 31 | puts ${wrapper} "if \[ \"\$1\" = \"install\" \]; then" 32 | puts ${wrapper} " ${prefix}/bin/ocamlfind \"\$@\" -destdir ${ocamlfind_destdir} -ldconf ignore" 33 | puts ${wrapper} "else" 34 | puts ${wrapper} " ${prefix}/bin/ocamlfind \"\$@\"" 35 | puts ${wrapper} "fi" 36 | close ${wrapper} 37 | file attributes ${ocamlfind_wrapper} -permissions +x 38 | } 39 | 40 | # if this is an oasis/setup.ml based installation 41 | proc use_oasis {option} { 42 | depends_build-append port:ocaml-findlib 43 | if {${option} == "yes"} { 44 | global ocaml prefix ocamlfind_wrapper 45 | global configure.cmd configure.pre_args 46 | configure.cmd ${ocaml} 47 | configure.pre_args "setup.ml -configure --override prefix ${prefix} --override ocamlfind ${ocamlfind_wrapper}" 48 | global build.cmd build.target 49 | build.cmd ${configure.cmd} 50 | build.target "setup.ml -build" 51 | global destroot.cmd destroot.target 52 | destroot.cmd ${configure.cmd} 53 | destroot.target "setup.ml -install" 54 | destroot.destdir 55 | } 56 | } 57 | 58 | proc use_oasis_doc {option} { 59 | if {${option} == "yes"} { 60 | global ocaml worksrcpath 61 | post-build { 62 | system -W ${worksrcpath} "${ocaml} setup.ml -doc" 63 | } 64 | } 65 | } 66 | 67 | pre-destroot { 68 | xinstall -m 0755 -d ${ocamlfind_destdir}/stublibs 69 | } 70 | 71 | -------------------------------------------------------------------------------- /_resources/port1.0/group/select-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This portgroup provides access to the port selection mechanism exposed 4 | # by the `port select` command. (Refer to the port(1) and port-select(1) 5 | # man pages for end-user information). 6 | 7 | options select.group select.file select.entries 8 | 9 | default select.group {} 10 | default select.file {} 11 | default select.entries {} 12 | 13 | namespace eval select {} 14 | 15 | proc select::install {group file {name ""}} { 16 | global applications_dir destroot developer_dir filespath \ 17 | frameworks_dir prefix 18 | 19 | if {[file pathtype $file] eq "relative"} { 20 | set file ${filespath}/$file 21 | } 22 | 23 | # Optional argument specifies file name 24 | if {$name eq ""} { 25 | set name [file tail $file] 26 | } 27 | 28 | set selectFile ${destroot}${prefix}/etc/select/$group/$name 29 | 30 | xinstall -m 0755 -d [file dirname $selectFile] 31 | xinstall -m 0644 $file $selectFile 32 | 33 | reinplace -q s|\${prefix}|${prefix}|g $selectFile 34 | reinplace -q s|\${frameworks_dir}|${frameworks_dir}|g $selectFile 35 | reinplace -q s|\${applications_dir}|${applications_dir}|g $selectFile 36 | reinplace -q s|\${developer_dir}|${developer_dir}|g $selectFile 37 | } 38 | 39 | post-destroot { 40 | if {${select.file} ne "" || ${select.group} ne ""} { 41 | select.entries-prepend [list ${select.group} ${select.file}] 42 | } 43 | ui_debug {PortGroup select: Installing select files to destroot} 44 | foreach selectEntry ${select.entries} { 45 | set extras [lassign $selectEntry selectGroup selectFile selectName] 46 | if {[llength $extras] > 0} { 47 | ui_debug "PortGroup select:\ 48 | Ignoring entry with too many elements: '$selectEntry'" 49 | continue 50 | } 51 | if {$selectGroup eq ""} { 52 | ui_debug "PortGroup select:\ 53 | Ignoring entry with missing group name: '$selectEntry'" 54 | continue 55 | } 56 | if {$selectFile eq ""} { 57 | ui_debug "PortGroup select:\ 58 | Ignoring entry with missing file name: '$selectEntry'" 59 | continue 60 | } 61 | select::install $selectGroup $selectFile $selectName 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-WTF-wtf-Randomdevice.diff: -------------------------------------------------------------------------------- 1 | diff --git Source/WTF/wtf/RandomDevice.cpp Source/WTF/wtf/RandomDevice.cpp 2 | index 89165f03..99251674 100644 3 | --- Source/WTF/wtf/RandomDevice.cpp 4 | +++ Source/WTF/wtf/RandomDevice.cpp 5 | @@ -30,7 +30,7 @@ 6 | #include 7 | #include 8 | 9 | -#if !OS(DARWIN) && !OS(FUCHSIA) && OS(UNIX) 10 | +#if (1) 11 | #include 12 | #include 13 | #include 14 | @@ -41,7 +41,7 @@ 15 | #include // windows.h must be included before wincrypt.h. 16 | #endif 17 | 18 | -#if OS(DARWIN) 19 | +#if (0) 20 | #include 21 | #include 22 | #endif 23 | @@ -52,7 +52,7 @@ 24 | 25 | namespace WTF { 26 | 27 | -#if !OS(DARWIN) && !OS(FUCHSIA) && OS(UNIX) 28 | +#if (1) 29 | NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToOpenURandom() 30 | { 31 | CRASH(); 32 | @@ -64,7 +64,7 @@ NEVER_INLINE NO_RETURN_DUE_TO_CRASH static void crashUnableToReadFromURandom() 33 | } 34 | #endif 35 | 36 | -#if !OS(DARWIN) && !OS(FUCHSIA) && !OS(WINDOWS) 37 | +#if (1) 38 | RandomDevice::RandomDevice() 39 | { 40 | int ret = 0; 41 | @@ -77,7 +77,7 @@ RandomDevice::RandomDevice() 42 | } 43 | #endif 44 | 45 | -#if !OS(DARWIN) && !OS(FUCHSIA) && !OS(WINDOWS) 46 | +#if (1) 47 | RandomDevice::~RandomDevice() 48 | { 49 | close(m_fd); 50 | @@ -88,11 +88,11 @@ RandomDevice::~RandomDevice() 51 | // https://bugs.webkit.org/show_bug.cgi?id=170190 52 | void RandomDevice::cryptographicallyRandomValues(unsigned char* buffer, size_t length) 53 | { 54 | -#if OS(DARWIN) 55 | +#if (0) 56 | RELEASE_ASSERT(!CCRandomGenerateBytes(buffer, length)); 57 | #elif OS(FUCHSIA) 58 | zx_cprng_draw(buffer, length); 59 | -#elif OS(UNIX) 60 | +#elif (1) 61 | ssize_t amountRead = 0; 62 | while (static_cast(amountRead) < length) { 63 | ssize_t currentRead = read(m_fd, buffer + amountRead, length - amountRead); 64 | diff --git Source/WTF/wtf/RandomDevice.h Source/WTF/wtf/RandomDevice.h 65 | index 411bde3e..9c9c6da8 100644 66 | --- Source/WTF/wtf/RandomDevice.h 67 | +++ Source/WTF/wtf/RandomDevice.h 68 | @@ -35,7 +35,7 @@ class RandomDevice { 69 | WTF_MAKE_NONCOPYABLE(RandomDevice); 70 | WTF_MAKE_FAST_ALLOCATED; 71 | public: 72 | -#if OS(DARWIN) || OS(FUCHSIA) || OS(WINDOWS) 73 | +#if (0) 74 | RandomDevice() = default; 75 | #else 76 | RandomDevice(); 77 | @@ -48,8 +48,8 @@ public: 78 | void cryptographicallyRandomValues(unsigned char* buffer, size_t length); 79 | 80 | private: 81 | -#if OS(DARWIN) || OS(FUCHSIA) || OS(WINDOWS) 82 | -#elif OS(UNIX) 83 | +#if (0) 84 | +#elif (1) 85 | int m_fd { -1 }; 86 | #else 87 | #error "This configuration doesn't have a strong source of randomness." 88 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/unused/PR-152650-2.patch: -------------------------------------------------------------------------------- 1 | From 4607ea0a569b3c527ae8dce341ab55eb0d69d8f7 Mon Sep 17 00:00:00 2001 2 | From: Jeremy Huddleston Sequoia 3 | Date: Tue, 8 Mar 2016 17:26:23 -0800 4 | Subject: [PATCH 2/2] [GTK][Mac] Enable support for gtk-doc on Mac 5 | 6 | https://bugs.webkit.org/show_bug.cgi?id=152650 7 | 8 | Signed-off-by: Jeremy Huddleston Sequoia 9 | --- 10 | ChangeLog | 10 ++++++++++ 11 | Source/PlatformGTK.cmake | 2 +- 12 | Source/cmake/OptionsGTK.cmake | 5 ----- 13 | 3 files changed, 11 insertions(+), 6 deletions(-) 14 | 15 | diff --git a/Source/PlatformGTK.cmake b/Source/PlatformGTK.cmake 16 | index af4d2e3..0b11b56 100644 17 | --- Source/PlatformGTK.cmake 18 | +++ Source/PlatformGTK.cmake 19 | @@ -34,7 +34,7 @@ endmacro() 20 | add_gtkdoc_generator("docs-build.stamp" "") 21 | if (ENABLE_GTKDOC) 22 | add_custom_target(gtkdoc ALL DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp") 23 | -elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING AND NOT APPLE) 24 | +elseif (NOT ENABLED_COMPILER_SANITIZERS AND NOT CMAKE_CROSSCOMPILING) 25 | add_custom_target(gtkdoc DEPENDS "${CMAKE_BINARY_DIR}/docs-build.stamp") 26 | 27 | # Add a default build step which check that documentation does not have any warnings 28 | diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake 29 | index 6b01f1a..b443d10 100644 30 | --- Source/cmake/OptionsGTK.cmake 31 | +++ Source/cmake/OptionsGTK.cmake 32 | @@ -424,11 +424,6 @@ if (CMAKE_CROSSCOMPILING) 33 | set(ENABLE_INTROSPECTION OFF) 34 | endif () 35 | 36 | -# Override the cached variable, gtk-doc does not really work when building on Mac. 37 | -if (APPLE) 38 | - set(ENABLE_GTKDOC OFF) 39 | -endif () 40 | - 41 | set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk) 42 | set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit) 43 | set(DERIVED_SOURCES_WEBKIT2GTK_DIR ${DERIVED_SOURCES_DIR}/webkit2gtk) 44 | diff --git a/Tools/gtk/gtkdoc.py b/Tools/gtk/gtkdoc.py 45 | index 4c8237b..a628ae0 100644 46 | --- Tools/gtk/gtkdoc.py 47 | +++ Tools/gtk/gtkdoc.py 48 | @@ -322,6 +322,11 @@ class GTKDoc(object): 49 | env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path) 50 | else: 51 | env['LD_LIBRARY_PATH'] = self.library_path 52 | + current_dyld_library_path = env.get('DYLD_LIBRARY_PATH') 53 | + if current_dyld_library_path: 54 | + env['DYLD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_dyld_library_path) 55 | + else: 56 | + env['DYLD_LIBRARY_PATH'] = self.library_path 57 | 58 | if ldflags: 59 | env['LDFLAGS'] = '%s %s' % (ldflags, env.get('LDFLAGS', '')) 60 | -- 61 | 2.7.2 62 | 63 | -------------------------------------------------------------------------------- /_resources/port1.0/group/haskellplatform-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # Usage: 4 | # PortGroup haskell-platform 1.0 5 | # haskellplatform.setup haskell_package version [register_scripts] 6 | # where haskell_package is the name of the package (eg, digest), version is the 7 | # version for it. This automatically defines name, version, categories, 8 | # homepage, master_sites, distname, and depends_build as appropriate, and sets 9 | # up the configure, build, destroot, and post-activate stages. It can do 10 | # pre-deactivate if that ever becomes an option in MacPorts. register_scripts 11 | # can be used to deactivate installing register.sh and unregister.sh as might be 12 | # needed for non-library parts of the haskell platform. Set it to "no" to 13 | # achieve this; defaults to "yes". 14 | 15 | 16 | proc haskellplatform.setup {package version {register_scripts "yes"}} { 17 | global homepage prefix configure.cmd configure.cc destroot worksrcpath name master_sites 18 | 19 | name hs-platform-[string tolower ${package}] 20 | version ${version} 21 | categories devel haskell 22 | homepage https://hackage.haskell.org/package/${package} 23 | master_sites https://hackage.haskell.org/packages/archive/${package}/${version} 24 | distname ${package}-${version} 25 | depends_lib port:ghc 26 | configure.args Setup configure \ 27 | --prefix=${prefix} \ 28 | --with-compiler=${prefix}/bin/ghc \ 29 | -v \ 30 | --enable-library-profiling \ 31 | --with-gcc=${configure.cc} 32 | configure.cmd runhaskell 33 | configure.pre_args 34 | 35 | build.cmd ${configure.cmd} 36 | build.args Setup build -v 37 | build.target 38 | destroot.cmd ${configure.cmd} 39 | destroot.destdir 40 | destroot.target Setup copy --destdir=${destroot} 41 | if {${register_scripts} == "yes"} { 42 | post-destroot { 43 | system "cd ${worksrcpath} && ${configure.cmd} Setup register --gen-script" 44 | system "cd ${worksrcpath} && ${configure.cmd} Setup unregister --gen-script" 45 | xinstall -m 0755 -d ${destroot}${prefix}/libexec/${name} 46 | xinstall -m 0755 -W ${worksrcpath} register.sh unregister.sh \ 47 | ${destroot}${prefix}/libexec/${name} 48 | } 49 | post-activate { 50 | system "${prefix}/libexec/${name}/register.sh" 51 | } 52 | pre-deactivate { 53 | system "${prefix}/libexec/${name}/unregister.sh" 54 | } 55 | } 56 | universal_variant no 57 | 58 | livecheck.type none 59 | } 60 | 61 | -------------------------------------------------------------------------------- /_resources/port1.0/group/legacysupport-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This portgroup provides support for various missing library functions 4 | # on older OS releases. 5 | 6 | # Newest OSX release that requires legacy support. 7 | # Currently OSX 10.11 (Darwin 15) due to clock_gettime 8 | options legacysupport.newest_darwin_requires_legacy 9 | default legacysupport.newest_darwin_requires_legacy 15 10 | 11 | proc add_legacysupport {} { 12 | 13 | global prefix \ 14 | os.platform os.major \ 15 | legacysupport.newest_darwin_requires_legacy 16 | 17 | set MPLegacyIncDir ${prefix}/include/LegacySupport 18 | set AddLDFlag -lMacportsLegacySupport 19 | set AddCFlag -I${MPLegacyIncDir} 20 | set AddCIncPath C_INCLUDE_PATH=${MPLegacyIncDir} 21 | set AddCppIncPath CPLUS_INCLUDE_PATH=${MPLegacyIncDir} 22 | 23 | # Delete everything first to avoid duplicate values 24 | 25 | # port dependency 26 | depends_lib-delete path:lib/libMacportsLegacySupport.dylib:legacy-support 27 | 28 | # configure options 29 | configure.ldflags-delete ${AddLDFlag} 30 | configure.cflags-delete ${AddCFlag} 31 | configure.cppflags-delete ${AddCFlag} 32 | 33 | # Include Dirs 34 | configure.env-delete ${AddCIncPath} ${AddCppIncPath} 35 | build.env-delete ${AddCIncPath} ${AddCppIncPath} 36 | 37 | if {${os.platform} eq "darwin" && ${os.major} <= ${legacysupport.newest_darwin_requires_legacy}} { 38 | 39 | # Add Build Support 40 | ui_debug "Adding legacy build support" 41 | 42 | # Depend on the support library or devel version if installed 43 | depends_lib-append path:lib/libMacportsLegacySupport.dylib:legacy-support 44 | 45 | # Add to configure options 46 | configure.ldflags-append ${AddLDFlag} 47 | configure.cflags-append ${AddCFlag} 48 | configure.cppflags-append ${AddCFlag} 49 | 50 | # Set env vars so gcc/clang add legacy include dir to default search paths 51 | # Note using C_INCLUDE_PATH and CPLUS_INCLUDE_PATH to avoid conflicts 52 | # eith MacPorts setting of CPATH 53 | configure.env-append ${AddCIncPath} ${AddCppIncPath} 54 | build.env-append ${AddCIncPath} ${AddCppIncPath} 55 | 56 | } else { 57 | 58 | # Remove build support 59 | ui_debug "Removing legacy build support" 60 | } 61 | 62 | } 63 | 64 | # Note it is intentional to both call this immediately now, and to 65 | # register a callback to do it again later on. This is to handle the fact 66 | # different ports do things in different ways and one or the other might 67 | # work in any given case. Having both is not a problem, but does lead to it 68 | # indicating being declared twice in port lint --nitpick 69 | add_legacysupport 70 | port::register_callback add_legacysupport 71 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-source-wtf-wtf-unix-cputimeunix-cpp-darwin-version-restore.diff: -------------------------------------------------------------------------------- 1 | diff --git Source/WTF/wtf/unix/CPUTimeUnix.cpp Source/WTF/wtf/unix/CPUTimeUnix.cpp 2 | index 27990893..fe279865 100644 3 | --- Source/WTF/wtf/unix/CPUTimeUnix.cpp 4 | +++ Source/WTF/wtf/unix/CPUTimeUnix.cpp 5 | @@ -26,6 +26,68 @@ 6 | #include "config.h" 7 | #include "CPUTime.h" 8 | 9 | +#if OS(DARWIN) 10 | +#import 11 | +#import 12 | +#import 13 | +#import 14 | +#import 15 | +#import 16 | + 17 | +#include 18 | + 19 | +namespace WTF { 20 | + 21 | +static const int64_t microsecondsPerSecond = 1000000; 22 | + 23 | +static int64_t timeValueToMicroseconds(const time_value_t& value) 24 | +{ 25 | + int64_t result = value.seconds; 26 | + result *= microsecondsPerSecond; 27 | + result += value.microseconds; 28 | + return result; 29 | +} 30 | + 31 | +Optional CPUTime::get() 32 | +{ 33 | + // Account for current threads. 34 | + task_thread_times_info threadInfoData; 35 | + mach_msg_type_number_t threadInfoCount = TASK_THREAD_TIMES_INFO_COUNT; 36 | + kern_return_t result = task_info(mach_task_self(), TASK_THREAD_TIMES_INFO, reinterpret_cast(&threadInfoData), &threadInfoCount); 37 | + if (result != KERN_SUCCESS) 38 | + return nullopt; 39 | + 40 | + int64_t userTime = timeValueToMicroseconds(threadInfoData.user_time); 41 | + int64_t systemTime = timeValueToMicroseconds(threadInfoData.system_time); 42 | + 43 | + // Account for termined threads. 44 | + task_basic_info taskInfoData; 45 | + mach_msg_type_number_t taskInfoCount = TASK_BASIC_INFO_COUNT; 46 | + result = task_info(mach_task_self(), TASK_BASIC_INFO, reinterpret_cast(&taskInfoData), &taskInfoCount); 47 | + if (result != KERN_SUCCESS) 48 | + return nullopt; 49 | + 50 | + userTime += timeValueToMicroseconds(taskInfoData.user_time); 51 | + systemTime += timeValueToMicroseconds(taskInfoData.system_time); 52 | + 53 | + return CPUTime { MonotonicTime::now(), Seconds::fromMicroseconds(userTime), Seconds::fromMicroseconds(systemTime) }; 54 | +} 55 | + 56 | +Seconds CPUTime::forCurrentThread() 57 | +{ 58 | + mach_msg_type_number_t infoCount = THREAD_BASIC_INFO_COUNT; 59 | + thread_basic_info_data_t info; 60 | + 61 | + mach_port_t threadPort = mach_thread_self(); 62 | + thread_info(threadPort, THREAD_BASIC_INFO, reinterpret_cast(&info), &infoCount); 63 | + mach_port_deallocate(mach_task_self(), threadPort); 64 | + 65 | + return Seconds(info.user_time.seconds + info.system_time.seconds) + Seconds::fromMicroseconds(info.user_time.microseconds + info.system_time.microseconds); 66 | +} 67 | + 68 | +} 69 | +#else //OS(DARWIN) 70 | + 71 | #include 72 | #include 73 | #include 74 | @@ -54,3 +114,4 @@ Seconds CPUTime::forCurrentThread() 75 | } 76 | 77 | } 78 | +#endif //OS(DARWIN) 79 | \ No newline at end of file 80 | -------------------------------------------------------------------------------- /_resources/port1.0/group/cxx11-1.1.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup introduces no new options. Simply including this 4 | # PortGroup indicates that a port requires C++11 5 | # 6 | # Ideally the functionality of this PortGroup should be integrated into 7 | # MacPorts base as a new option. 8 | 9 | PortGroup compiler_blacklist_versions 1.0 10 | 11 | # Compilers supporting C++11 are GCC >= 4.6 and clang >= 3.3. 12 | 13 | if {${configure.cxx_stdlib} eq "libstdc++"} { 14 | 15 | # see https://trac.macports.org/ticket/53194 16 | configure.cxx_stdlib macports-libstdc++ 17 | 18 | proc cxx11.add_dependencies {} { 19 | global os.major os.platform 20 | depends_lib-delete path:lib/libgcc/libgcc_s.1.dylib:libgcc 21 | depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc 22 | if {${os.platform} eq "darwin" && ${os.major} < 13} { 23 | # prior to OS X Mavericks, libstdc++ was the default C++ runtime, so 24 | # assume MacPorts libstdc++ must be ABI compatible with system libstdc++ 25 | # for OS X Mavericks and above, users must select libstdc++, so 26 | # assume they want default ABI compatibility 27 | # see https://gcc.gnu.org/onlinedocs/gcc-5.2.0/libstdc++/manual/manual/using_dual_abi.html 28 | configure.cxxflags-delete -D_GLIBCXX_USE_CXX11_ABI=0 29 | configure.cxxflags-append -D_GLIBCXX_USE_CXX11_ABI=0 30 | configure.objcxxflags-delete -D_GLIBCXX_USE_CXX11_ABI=0 31 | configure.objcxxflags-append -D_GLIBCXX_USE_CXX11_ABI=0 32 | } 33 | } 34 | # do not force all Portfiles to switch from depends_lib to depends_lib-append 35 | port::register_callback cxx11.add_dependencies 36 | 37 | if {(${os.platform} eq "darwin" && ${os.major} < 10) || ${build_arch} eq "ppc" || ${build_arch} eq "ppc64"} { 38 | # ports will build with gcc6, gcc4ABI-compatible 39 | pre-configure { 40 | ui_msg "C++11 ports are compiling with GCC. EXPERIMENTAL." 41 | } 42 | compiler.whitelist macports-gcc-6 macports-gcc-7 43 | universal_variant no 44 | } else { 45 | compiler.whitelist macports-clang-5.0 macports-clang-6.0 macports-clang-7.0 macports-clang-8.0 46 | } 47 | 48 | # see https://trac.macports.org/ticket/54766 49 | depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc 50 | 51 | compiler.blacklist-append \ 52 | macports-gcc-4.3 macports-gcc-4.4 macports-gcc-4.5 macports-gcc \ 53 | macports-llvm-gcc-4.2 apple-gcc-4.0 apple-gcc-4.2 gcc-3.3 gcc gcc-4.0 llvm-gcc-4.2 54 | 55 | } else { 56 | 57 | # GCC compilers cannot use libc++ 58 | # We do not know what "cc" is, so blacklist it as well. 59 | compiler.blacklist-append *gcc* {clang < 700} cc 60 | # add macports 7 and 8 to fallback list (can be removed once done by base in a public release) 61 | compiler.fallback-append macports-clang-8.0 macports-clang-7.0 macports-clang-9.0 62 | 63 | } 64 | -------------------------------------------------------------------------------- /_resources/port1.0/group/gpg_verify-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This portgroup is for ports that verify package-provided gpg signatures 4 | # 5 | # A single signature verification by the Portfile author is sufficient, 6 | # along with the standard checksum phase. The default Portfile behavior 7 | # is not to check gpg signatures, and assume that the Portfile author 8 | # has already done this. The flag `gpg_verify.use_gpg_verification` 9 | # is used within conditionals to run the procedure `gpg_verify.verify_gpg_signature`. 10 | # 11 | # Usage: 12 | # PortGroup gpg_verify 1.0 13 | # gpg_verify.use_gpg_verification yes 14 | # gpg_verify.verify_gpg_signature pubkey_file signature_file test_file 15 | # 16 | # Note that many PGP key servers are intermittently accessible; therefore, it is 17 | # good practice to include the keyid file in ${filespath}. Also, the checksum 18 | # phase requires at least one hash check of downloaded files, including PGP 19 | # signatures for which hash checks are unnecessary. It is therefore recommended 20 | # to use `size` for signature file checksums, which is often constant for the same 21 | # keyid. 22 | # Example (from the julia Portfile): 23 | # if {[option gpg_verify.use_gpg_verification]} { 24 | # distfiles-append \ 25 | # ${name}-${version}-full${extract.suffix}.asc 26 | # checksums-append \ 27 | # ${name}-${version}-full${extract.suffix}.asc \ 28 | # size 866 29 | # } 30 | 31 | options gpg_verify.use_gpg_verification 32 | default gpg_verify.use_gpg_verification {no} 33 | 34 | options gpg_verify.gpg 35 | default gpg_verify.gpg {${prefix}/bin/gpg} 36 | 37 | proc gpg_verify.add_dependencies {} { 38 | if {[option gpg_verify.use_gpg_verification]} { 39 | depends_fetch-append port:gnupg2 40 | } 41 | } 42 | port::register_callback gpg_verify.add_dependencies 43 | 44 | options gpg_verify.gpg_homedir 45 | default gpg_verify.gpg_homedir {${workpath}/.gnupg} 46 | 47 | pre-checksum { 48 | if {[geteuid] == 0} { 49 | xinstall -o ${macportsuser} -d [option gpg_verify.gpg_homedir] 50 | } else { 51 | xinstall -d [option gpg_verify.gpg_homedir] 52 | } 53 | } 54 | 55 | proc gpg_verify.verify_gpg_signature {pubkey_file signature_file test_file} { 56 | # pre-load public key to avoid keyserver downtime issues 57 | # https://pgp.mit.edu/pks/lookup?op=get&search=0x${gpg_keyid} 58 | # note: tcl exec will return error if error messages not directed to /dev/null 59 | system "/bin/sh -c '[option gpg_verify.gpg] \ 60 | --homedir [option gpg_verify.gpg_homedir] \ 61 | --import ${pubkey_file} 2>/dev/null || /usr/bin/true'" 62 | set gpg_verification [exec /bin/sh -c \ 63 | "if [option gpg_verify.gpg] --homedir [option gpg_verify.gpg_homedir] \ 64 | --verify ${signature_file} ${test_file} 2>/dev/null; \ 65 | then echo 'VERIFIED'; else echo 'UNVERIFIED'; fi"] 66 | if {[string trim ${gpg_verification}] != "VERIFIED"} { 67 | error "GPG signature verification failed on ${test_file} with pubkey file ${pubkey_file}." 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /www/webkit2-gtk-devel/files/patch-webkit2gtk-272-macports.diff: -------------------------------------------------------------------------------- 1 | diff --git Source/WebKit/NetworkProcess/NetworkLoadParameters.h Source/WebKit/NetworkProcess/NetworkLoadParameters.h 2 | index de74d33a..fb021faa 100644 3 | --- Source/WebKit/NetworkProcess/NetworkLoadParameters.h 4 | +++ Source/WebKit/NetworkProcess/NetworkLoadParameters.h 5 | @@ -35,6 +35,9 @@ 6 | #include 7 | #include 8 | 9 | +/* audit_token_t */ 10 | +#include 11 | + 12 | namespace WebKit { 13 | 14 | enum class PreconnectOnly { No, Yes }; 15 | diff --git Source/WebKit/Platform/IPC/ArgumentCoders.h Source/WebKit/Platform/IPC/ArgumentCoders.h 16 | index f1ea1ecb..12ceec79 100644 17 | --- Source/WebKit/Platform/IPC/ArgumentCoders.h 18 | +++ Source/WebKit/Platform/IPC/ArgumentCoders.h 19 | @@ -34,6 +34,9 @@ 20 | #include 21 | #include 22 | 23 | +/* audit_token_t */ 24 | +#include 25 | + 26 | namespace IPC { 27 | 28 | // An argument coder works on POD types 29 | diff --git Source/WebKit/Shared/SandboxExtension.h Source/WebKit/Shared/SandboxExtension.h 30 | index 5839d3fc..6f110183 100644 31 | --- Source/WebKit/Shared/SandboxExtension.h 32 | +++ Source/WebKit/Shared/SandboxExtension.h 33 | @@ -33,6 +33,9 @@ 34 | #include 35 | #include 36 | 37 | +/* audit_token_t */ 38 | +#include 39 | + 40 | namespace IPC { 41 | class Encoder; 42 | class Decoder; 43 | diff --git Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp 44 | index 57e8a557..45df4cf6 100644 45 | --- ./Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp.orig 2019-11-22 04:57:54.000000000 -0800 46 | +++ ./Source/WebKit/UIProcess/API/glib/WebKitProtocolHandler.cpp 2019-11-27 05:52:39.000000000 -0800 47 | @@ -273,7 +273,7 @@ 48 | "
Type
" 49 | " %s" 50 | " ", 51 | - PlatformDisplay::sharedDisplay().type() == PlatformDisplay::Type::Wayland ? "Wayland" : "X11"); 52 | + "X11"); 53 | #endif 54 | 55 | auto rect = IntRect(screenRect(nullptr)); 56 | @@ -333,9 +333,10 @@ 57 | " ", 58 | webGLEnabled(request) ? "Yes" : "No"); 59 | 60 | +#if USE(GLX) 61 | auto glContext = GLContext::createOffscreenContext(); 62 | glContext->makeContextCurrent(); 63 | - 64 | +#endif 65 | g_string_append_printf(html, 66 | " " 67 | "
API
" 68 | @@ -349,7 +350,7 @@ 69 | " %s" 70 | " ", 71 | nativeInterface()); 72 | - 73 | +#if USE(GLX) 74 | g_string_append_printf(html, 75 | " " 76 | "
GL_RENDERER
" 77 | @@ -377,7 +378,6 @@ 78 | " %s" 79 | " ", 80 | reinterpret_cast(glGetString(GL_SHADING_LANGUAGE_VERSION))); 81 | - 82 | #if USE(OPENGL_ES) 83 | g_string_append_printf(html, 84 | " " 85 | @@ -402,6 +402,7 @@ 86 | extensions->str); 87 | g_string_free(extensions, TRUE); 88 | #endif 89 | +#endif 90 | 91 | bool isGLX = false; 92 | #if USE(GLX) 93 | -------------------------------------------------------------------------------- /python/py-gobject/Portfile: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | 3 | PortSystem 1.0 4 | PortGroup python 1.0 5 | PortGroup active_variants 1.1 6 | 7 | name py-gobject 8 | set my_name pygobject 9 | version 2.28.7 10 | revision 0 11 | epoch 20110613 12 | set branch [join [lrange [split ${version} .] 0 1] .] 13 | 14 | categories-append gnome 15 | license LGPL-2.1+ 16 | maintainers nomaintainer 17 | platforms darwin 18 | 19 | description Python bindings for GObject. 20 | 21 | long_description \ 22 | PyGObject provides a wrapper for the GObject+ library \ 23 | for use in Python programs. 24 | 25 | homepage http://www.pygtk.org/ 26 | master_sites gnome:sources/${my_name}/${branch}/ 27 | distname ${my_name}-${version} 28 | use_xz yes 29 | 30 | checksums rmd160 e9fea538da79ad27c42434d4a2173b3eb636408b \ 31 | sha256 bb9d25a3442ca7511385a7c01b057492095c263784ef31231ffe589d83a96a5a \ 32 | size 744584 33 | 34 | python.versions 27 35 36 37 38 35 | 36 | if {${subport} ne ${name}} { 37 | depends_build-append \ 38 | port:pkgconfig 39 | 40 | depends_lib-append \ 41 | path:lib/pkgconfig/glib-2.0.pc:glib2 \ 42 | port:libffi \ 43 | port:py${python.version}-cairo \ 44 | port:gobject-introspection 45 | 46 | patchfiles patch-pygi-info.c.diff 47 | 48 | use_configure yes 49 | configure.python ${python.bin} 50 | configure.env-append PKG_CONFIG_PATH=${python.prefix}/lib/pkgconfig 51 | configure.pre_args --prefix='${python.prefix}' 52 | configure.args-append --disable-glibtest \ 53 | --enable-introspection=no 54 | configure.cppflags-append \ 55 | -I${python.prefix}/include \ 56 | -I${prefix}/include/cairo 57 | build.cmd [portbuild::build_getmaketype] 58 | build.target 59 | 60 | destroot.cmd ${build.cmd} 61 | destroot.target install 62 | destroot.destdir DESTDIR=${destroot} 63 | 64 | test.run yes 65 | test.env PYTHONPATH=[glob -nocomplain ${worksrcpath}/build/lib*] 66 | test.target check 67 | 68 | post-destroot { 69 | set docdir ${prefix}/share/doc/${subport} 70 | xinstall -d ${destroot}${docdir} 71 | xinstall -m 0644 -W ${worksrcpath} AUTHORS COPYING ChangeLog NEWS README \ 72 | ${destroot}${docdir} 73 | } 74 | 75 | variant quartz { 76 | require_active_variants path:lib/pkgconfig/glib-2.0.pc:glib2 quartz 77 | patchfiles-append patch-gdesktop.diff 78 | } 79 | 80 | variant x11 { 81 | require_active_variants path:lib/pkgconfig/glib-2.0.pc:glib2 x11 82 | } 83 | 84 | if {![variant_isset quartz]} { 85 | default_variants +x11 86 | } 87 | if {![variant_isset x11]} { 88 | default_variants +quartz 89 | } 90 | if {![variant_isset quartz] && ![variant_isset x11]} { 91 | pre-configure { 92 | return -code error "Either +x11 or +quartz is required" 93 | } 94 | } 95 | } 96 | 97 | livecheck.type none 98 | -------------------------------------------------------------------------------- /_resources/port1.0/group/gnu_info-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # Usage: 4 | # PortGroup gnu_info 1.0 5 | # 6 | # In the default case of your package installing a single ${subport}.info file 7 | # in ${prefix}/share/info, you don't need to do anything. 8 | # 9 | # If your package installs a single info file in the standard directory, but 10 | # its name does not equal your port's name (e.g. when the port has been renamed 11 | # due to a naming conflict), set gnu_info.name: 12 | # 13 | # gnu_info.name ddrescue 14 | # 15 | # If your package installs more than a single info file, set the gnu_info.files 16 | # property: 17 | # 18 | # gnu_info.files ${gnu_info.path}/${name}.info ${gnu_info.path}/${name}-dev.info 19 | # 20 | # If your package installs info files in a non-standard path, you may want to 21 | # set gnu_info.dir to this alternative path. Note that the dir file will still 22 | # be in the standard location ${prefix}/share/info/dir; you can control this 23 | # property using gnu_info.dirfile. 24 | # 25 | # gnu_info.dir ${prefix}/share/info/${name} 26 | # 27 | # If you also want to change the location of the GNU info dir file, set 28 | # gnu_info.dirfile. The default should, however, be fine for all use cases. 29 | # 30 | # gnu_info.dirfile ${prefix}/share/info/dir 31 | # 32 | # If your package installs info files in more than one directory, you will have 33 | # to use gnu_info.files with multiple different paths. 34 | 35 | # The name of the info file the port installs in in ${gnu_info.dir}. Defaults 36 | # to the name of the port. 37 | options gnu_info.name 38 | default gnu_info.name {${subport}} 39 | 40 | # List of GNU info files installed by this port. Use absolute paths only. 41 | # Defaults to ${gnu_info.dir}/${gnu_info.name}.info 42 | options gnu_info.files 43 | default gnu_info.files {[list ${gnu_info.dir}/${gnu_info.name}.info]} 44 | 45 | # Directory that contains the installed info file, defaults to 46 | # ${prefix}/share/info. This is only used in the default value of 47 | # gnu_info.files, so if you set that, this property has no effect. Note that 48 | # this property does NOT affect the location of the GNU info dir file. That is 49 | # instead controlled by gnu_info.dirfile. 50 | options gnu_info.dir 51 | default gnu_info.dir {${prefix}/share/info} 52 | 53 | # Absolute path of the GNU info dir file. Defaults to ${prefix}/share/info/dir. 54 | # You shouldn't have to change this. 55 | options gnu_info.dirfile 56 | default gnu_info.dirfile {${prefix}/share/info/dir} 57 | 58 | # Absolute path to the install-info binary to be used for installation of info 59 | # files. Defaults to ${prefix}/bin/install-info. 60 | options gnu_info.install_info 61 | default gnu_info.install_info {${prefix}/bin/install-info} 62 | 63 | # Add the necessary dependency for activation and de-activation 64 | depends_run-delete port:texinfo 65 | depends_run-append port:texinfo 66 | 67 | post-activate { 68 | foreach infofile ${gnu_info.files} { 69 | ui_debug "Registering GNU info file ${infofile} in ${gnu_info.dirfile} using ${gnu_info.install_info}" 70 | system "${gnu_info.install_info} ${infofile} ${gnu_info.dirfile}" 71 | } 72 | } 73 | 74 | pre-deactivate { 75 | foreach infofile ${gnu_info.files} { 76 | ui_debug "Unregistering GNU info file ${infofile} in ${gnu_info.dirfile} using ${gnu_info.install_info}" 77 | system "${gnu_info.install_info} --delete ${infofile} ${gnu_info.dirfile}" 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /_resources/port1.0/group/qmake-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This portgroup defines standard settings when using qmake. 4 | # 5 | # Usage: 6 | # PortGroup qmake 1.0 7 | 8 | PortGroup qt4 1.0 9 | PortGroup active_variants 1.1 10 | 11 | options qt4.debug_variant 12 | default qt4.debug_variant yes 13 | 14 | pre-configure { 15 | configure.cmd ${qt_qmake_cmd} 16 | configure.pre_args-delete --prefix=${prefix} 17 | configure.pre_args-append PREFIX=${prefix} \ 18 | "QMAKE_CC=${configure.cc}" \ 19 | "QMAKE_CXX=${configure.cxx}" \ 20 | "QMAKE_OBJC=${configure.objc}" \ 21 | "QMAKE_CFLAGS=\"${configure.cflags} [get_canonical_archflags cc]\"" \ 22 | "QMAKE_CXXFLAGS=\"${configure.cxxflags} [get_canonical_archflags cxx]\"" \ 23 | "QMAKE_LFLAGS=\"${configure.ldflags}\"" \ 24 | "QMAKE_LINK_C=${configure.cc}" \ 25 | "QMAKE_LINK_C_SHLIB=${configure.cc}" \ 26 | "QMAKE_LINK=${configure.cxx}" \ 27 | "QMAKE_LINK_SHLIB=${configure.cxx}" 28 | configure.universal_args-delete --disable-dependency-tracking 29 | 30 | if {[variant_exists universal] && [variant_isset universal]} { 31 | configure.pre_args-append "CONFIG+=\"${qt_arch_types}\"" 32 | } 33 | } 34 | 35 | # add debug variant if one does not exist and one is requested via qt4.debug_variant 36 | # variant is added in eval_variants so that qt4.debug_variant can be set anywhere in the Portfile 37 | rename ::eval_variants ::real_qmake_eval_variants 38 | proc eval_variants {variations} { 39 | global qt4.debug_variant 40 | if { ![variant_exists debug] && [tbool qt4.debug_variant] } { 41 | variant debug description {Build both release and debug binaries and libraries} { 42 | configure.pre_args-append "CONFIG+=debug" 43 | } 44 | } 45 | uplevel ::real_qmake_eval_variants $variations 46 | } 47 | 48 | # check for +debug variant of this port, and make sure Qt was 49 | # installed with +debug as well; if not, error out. 50 | platform darwin { 51 | pre-extract { 52 | if {[variant_exists debug] && \ 53 | [variant_isset debug] && \ 54 | ![info exists building_qt4]} { 55 | if {![catch {set result [active_variants "qt4-mac" "debug" ""]}]} { 56 | if {$result} { 57 | # code to be executed if $depspec is active with at least all variants in 58 | # $required and none from $forbidden 59 | } else { 60 | # code to be executed if $depspec is active, but either not with all 61 | # variants in $required or any variant in $forbidden 62 | return -code error "\n\nERROR:\n\ 63 | In order to install this port with variant +debug,\ 64 | qt4-mac must also be installed with variant +debug.\n" 65 | } 66 | } else { 67 | # code to be executed if $depspec isn't active 68 | return -code error "\n\nERROR:\n\ 69 | Requested to install this port with variant +debug,\ 70 | but qt4-mac is not installed or installed but not active.\n" 71 | } 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /_resources/port1.0/group/cltversion-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup lets a port know the version of the Command Line Tool (CLT) package installed. 4 | # 5 | # Usage: 6 | # 7 | # PortGroup cltversion 1.0 8 | # cltversion is the version of CLT package installed 9 | # developerversion is the version of Apple provided developer tools to be used by MacPorts (CLTs or Xcode) 10 | # 11 | 12 | namespace eval cltversion { 13 | } 14 | 15 | options cltversion \ 16 | developerversion 17 | 18 | default cltversion {[cltversion::get_default_cltversion]} 19 | default developerversion {[cltversion::get_default_developerversion]} 20 | 21 | proc cltversion::get_default_cltversion {} { 22 | global cltversion._cltversion_version_cache 23 | 24 | if {[info exists cltversion._cltversion_version_cache]} { 25 | return [set cltversion._cltversion_version_cache] 26 | } 27 | 28 | if {![catch {exec /usr/sbin/pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | /usr/bin/grep version: | /usr/bin/cut -d: -f2} result]} { 29 | } elseif {![catch {exec /usr/sbin/pkgutil --pkg-info=com.apple.pkg.CLTools_Base | /usr/bin/grep version: | /usr/bin/cut -d: -f2} result]} { 30 | } elseif {![catch {exec /usr/sbin/pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI | /usr/bin/grep version: | /usr/bin/cut -d: -f2} result]} { 31 | } elseif {![catch {exec /usr/sbin/pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLILeo | /usr/bin/grep version: | /usr/bin/cut -d: -f2} result]} { 32 | } else { 33 | set result "" 34 | } 35 | 36 | set result [string trim ${result}] 37 | 38 | # There are reports of pkgutil returning (null) for version. 39 | # It is unclear why this is or how common it is. 40 | # Ensure $result is a valid version number. 41 | if {[vercmp ${result} 0] >= 0} { 42 | ui_debug "cltversion: Found Command Line Tools Version ${result}" 43 | } else { 44 | ui_debug "cltversion: Unable to Find Command Line Tools using pkgutil" 45 | 46 | # This should be the end of the story. 47 | # However, it would seem that receipts for command line tools are easily lost when upgrading Xcode. 48 | # So it is possible that command line tools are installed (the files exist), but `pkgutil` does not recognize them. 49 | 50 | # On OS X 10.9, running `xcode-select --install` seems to reinstall the command line tools. 51 | # For later OS versions, however, if `/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib` exists, then `xcode-select --install` refuses to reinstall. 52 | 53 | if {[file exists /usr/lib/libxcselect.dylib]} { 54 | set test_file /Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib 55 | } else { 56 | set test_file /usr/bin/make 57 | } 58 | 59 | if {![file exists ${test_file}]} { 60 | # Command line tools do not seem to be installed. 61 | set result none 62 | } else { 63 | ui_warn "cltversion: The Command Line Tools are installed, but MacPorts cannot determine the version." 64 | ui_warn "cltversion: For a possible fix, please see: https://trac.macports.org/wiki/ProblemHotlist#reinstall-clt" 65 | set result "" 66 | } 67 | } 68 | set cltversion._cltversion_version_cache ${result} 69 | return ${result} 70 | } 71 | 72 | proc cltversion::get_default_developerversion {} { 73 | global use_xcode xcodeversion cltversion 74 | if {${use_xcode}} { 75 | return ${xcodeversion} 76 | } else { 77 | return ${cltversion} 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /_resources/port1.0/group/linear_algebra-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup sets up variants for serial linear algebra (Accelerate/ATLAS/OpenBLAS/OpenBLAS-devel). 4 | # 5 | # Usage: 6 | # 7 | # PortGroup linear_algebra 1.0 8 | # 9 | # If only BLAS and not LAPACK is used, set: 10 | # linalg.setup blas_only 11 | # If BLAS/LAPACK are only called from C and not Fortran, then Accelerate can be used 12 | # directly and vecLibFort is not needed. Set: 13 | # linalg.setup noveclibfort 14 | # 15 | # in pre-configure, a line like this may be needed: 16 | # configure.args-append --with-blas="-L${prefix}/lib ${linalglib}" 17 | # or 18 | # configure.args-append ${cmake_linalglib} (for CMake) 19 | # 20 | # 21 | # If +threads and +atlas are set, the threaded ATLAS library will be used. 22 | # 23 | 24 | # scalapack. 25 | 26 | PortGroup active_variants 1.1 27 | 28 | options linalglib \ 29 | cmake_linalglib \ 30 | blas_only \ 31 | veclibfort 32 | 33 | default linalglib "" 34 | default cmake_linalglib "" 35 | default blas_only no 36 | default veclibfort yes 37 | 38 | proc linalg.setup {args} { 39 | global blas_only, veclibfort 40 | 41 | foreach v $args { 42 | if {$v eq "blas_only"} { 43 | blas_only yes 44 | } elseif {$v eq "noveclibfort"} { 45 | veclibfort no 46 | } else { 47 | ui_error "Internal error: Unknown argument '$v' to linalg.setup." 48 | return -code error "Internal error: Unknown argument '$v' to linalg.setup." 49 | } 50 | } 51 | } 52 | 53 | if {![variant_isset accelerate] && ![variant_isset atlas] && ![variant_isset openblas]} { 54 | default_variants-append +accelerate 55 | } 56 | 57 | # choose one of the following for serial linear algebra 58 | variant accelerate conflicts atlas openblas description {Build with linear algebra from built-in Accelerate framework} { 59 | if {$veclibfort} { 60 | depends_lib-append port:vecLibFort 61 | linalglib -lvecLibFort 62 | cmake_linalglib -DBLAS_LIBRARIES=vecLibFort \ 63 | -DLAPACK_LIBRARIES=vecLibFort 64 | } else { 65 | linalglib -framework Accelerate 66 | cmake_linalglib -DBLA_VENDOR=Apple 67 | } 68 | } 69 | 70 | variant atlas conflicts accelerate openblas description {Build with linear algebra from ATLAS} { 71 | depends_lib-append port:atlas 72 | if {[variant_isset threads]} { 73 | linalglib -ltatlas 74 | cmake_linalglib -DBLAS_LIBRARIES=tatlas \ 75 | -DLAPACK_LIBRARIES=tatlas 76 | } else { 77 | linalglib -lsatlas 78 | cmake_linalglib -DBLAS_LIBRARIES=satlas \ 79 | -DLAPACK_LIBRARIES=satlas 80 | } 81 | # FindBLAS.cmake and FindLAPACK.cmake do not find MacPorts Atlas properly 82 | # configure.args-append -DBLA_VENDOR=ATLAS 83 | } 84 | 85 | variant openblas conflicts accelerate atlas description {Build with linear algebra from OpenBLAS} { 86 | # allow OpenBLAS-devel too 87 | depends_lib-append path:lib/libopenblas.dylib:OpenBLAS 88 | if {!$blas_only} { 89 | require_active_variants path:lib/libopenblas.dylib:OpenBLAS lapack 90 | } 91 | linalglib -lopenblas 92 | cmake_linalglib -DBLA_VENDOR=OpenBLAS 93 | } 94 | 95 | if {![variant_isset accelerate] && ![variant_isset openblas] && ![variant_isset atlas] } { 96 | ui_error "You must select either the +accelerate, +atlas, or +openblas variant for linear algebra." 97 | return -code error "No linear-algebra variant selected." 98 | } 99 | -------------------------------------------------------------------------------- /_resources/port1.0/group/deprecated-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | 3 | # This PortGroup is used to indicate that a port is deprecated. 4 | # Ports using this PortGroup are not necessarily about to be removed, but usage of those ports is discouraged. 5 | # Some possible reasons for deprecation: 6 | # * the port no longer builds on recent versions of macOS and/or Xcode 7 | # * the project is no longer maintained upstream 8 | # * the port is severely out of date, and maintaining it has become a burden no-one wants to take on 9 | 10 | # deprecated.maximum_xcodeversion: maximum version of Xcode supported 11 | # deprecated.maximum_osmajor: maximum OS version supported 12 | # deprecated.upstream_support: is the project supported upstream? 13 | # deprecated.macports_support: does the project have proper support from the MacPorts maintainers? 14 | 15 | options deprecated.maximum_xcodeversion \ 16 | deprecated.maximum_osmajor \ 17 | deprecated.upstream_support \ 18 | deprecated.macports_support \ 19 | deprecated.eol_version 20 | default deprecated.maximum_xcodeversion {} 21 | default deprecated.maximum_osmajor {} 22 | default deprecated.upstream_support yes 23 | default deprecated.macports_support yes 24 | default deprecated.eol_version no 25 | 26 | 27 | proc deprecated.deprecate_port {} { 28 | global deprecated.maximum_xcodeversion \ 29 | deprecated.maximum_osmajor \ 30 | deprecated.upstream_support \ 31 | deprecated.macports_support \ 32 | deprecated.eol_version \ 33 | os.platform \ 34 | os.major \ 35 | xcodeversion 36 | if {${os.platform} eq "darwin" && (${deprecated.maximum_osmajor} ne {}) && ([vercmp ${os.major} ${deprecated.maximum_osmajor}] > 0)} { 37 | depends_lib 38 | depends_run 39 | archive_sites 40 | pre-fetch { 41 | ui_error "building ${name} is not supported on OS version greater than ${deprecated.maximum_osmajor}" 42 | return -code error {unsupported platform} 43 | } 44 | } elseif {${os.platform} eq "darwin" && (${deprecated.maximum_xcodeversion} ne {}) && ([vercmp ${xcodeversion} ${deprecated.maximum_xcodeversion}] > 0)} { 45 | depends_lib 46 | depends_run 47 | archive_sites 48 | pre-fetch { 49 | ui_error "building ${name} is not supported with Xcode greater than ${deprecated.maximum_xcodeversion}" 50 | return -code error {unsupported platform} 51 | } 52 | } elseif {!${deprecated.upstream_support}} { 53 | notes-prepend " 54 | This port is deprecated since the project is no longer maintained upstream.\ 55 | It is likely to be removed from MacPorts at some point in the future.\ 56 | If you find this port useful and would like to see it continue, please consider posting to the macports-users mailing list.\ 57 | See https://trac.macports.org/wiki/MailingLists for more details. 58 | " "" 59 | } elseif {!${deprecated.macports_support}} { 60 | notes-prepend " 61 | This port is deprecated due to the difficulty of maintaining it.\ 62 | It is possible it will be removed from MacPorts at some point in the future.\ 63 | If you find this port useful and would like to see it continue, please consider contributing to the MacPort project.\ 64 | See https://guide.macports.org/chunked/project.contributing.html for more details. 65 | " "" 66 | } elseif {${deprecated.eol_version}} { 67 | notes-prepend " 68 | This port is for a software version that is no longer receiving upstream updates. It may have security vulnerabilities\ 69 | or other issues that will not be fixed. Newer versions are provided as separate ports. 70 | " "" 71 | } 72 | } 73 | 74 | port::register_callback deprecated.deprecate_port 75 | -------------------------------------------------------------------------------- /_resources/port1.0/group/compiler_blacklist_versions-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # Including this PortGroup in a Portfile enhances the compiler.blacklist option 4 | # to support blacklisting only specific build numbers of the given compiler. 5 | # This PortGroup only knows about the build numbering scheme used by Apple's 6 | # versions of gcc, llvm-gcc and clang provided with Xcode and the command line 7 | # tools. As such, on platforms other than Darwin, any blacklist entries 8 | # specifying a compiler build number will just be removed without being checked. 9 | # 10 | # Examples: 11 | # 12 | # Blacklist only clang build numbers less than 318.0.61: 13 | # compiler.blacklist-append {clang < 318.0.61} 14 | # 15 | # Blacklist only clang build numbers greater than or equal to 421.11.66: 16 | # compiler.blacklist-append {clang >= 421.11.66} 17 | # 18 | # Blacklist only clang build numbers greater than or equal to 421.11.66 but less than 444: 19 | # compiler.blacklist-append {clang >= 421.11.66 < 444} 20 | # 21 | # Blacklist all versions of clang (same as without this PortGroup): 22 | # compiler.blacklist-append clang 23 | # 24 | # Known limitations: 25 | # 26 | # Trying to remove an enhanced compiler.blacklist specification will not work 27 | # (it will silently do nothing): 28 | # compiler.blacklist-delete {clang >= 421.11.66} 29 | # Workaround: 30 | # compiler.blacklist-delete clang 31 | # 32 | # This PortGroup was created following this discussion: 33 | # https://lists.macosforge.org/pipermail/macports-dev/2012-November/021103.html 34 | 35 | option_proc compiler.blacklist compiler_blacklist_versions._set_compiler_blacklist 36 | 37 | proc compiler_blacklist_versions._set_compiler_blacklist {option action args} { 38 | global os.platform 39 | if {${action} ne "set"} return 40 | foreach blacklist [option ${option}] { 41 | if {[llength ${blacklist}] > 1} { 42 | compiler.blacklist-delete ${blacklist} 43 | if {${os.platform} ne "darwin"} { 44 | continue 45 | } 46 | set compiler [lindex ${blacklist} 0] 47 | set comparisons [lrange ${blacklist} 1 end] 48 | set compiler_version [compiler.command_line_tools_version ${compiler}] 49 | if {[compiler_blacklist_versions._matches_all_versions ${compiler} ${comparisons}]} { 50 | if {${compiler_version} eq ""} { 51 | ui_debug "compiler ${compiler} blacklisted because it's not installed or it doesn't work" 52 | } else { 53 | ui_debug "compiler ${compiler} ${compiler_version} blacklisted because it matches {${blacklist}}" 54 | } 55 | compiler.blacklist-append ${compiler} 56 | } else { 57 | ui_debug "compiler ${compiler} ${compiler_version} not blacklisted because it doesn't match {${blacklist}}" 58 | } 59 | } 60 | } 61 | } 62 | 63 | proc compiler_blacklist_versions._matches_all_versions {compiler comparisons} { 64 | if {[llength ${comparisons}] % 2} { 65 | return -code error "invalid/incomplete comparison specification \"${comparisons}\"" 66 | } 67 | while {[llength ${comparisons}] > 0} { 68 | set comparison_operator [lindex ${comparisons} 0] 69 | set test_version [lindex ${comparisons} 1] 70 | if {![compiler_blacklist_versions._version_matches ${compiler} ${comparison_operator} ${test_version}]} { 71 | return 0 72 | } 73 | set comparisons [lrange ${comparisons} 2 end] 74 | } 75 | return 1 76 | } 77 | 78 | proc compiler_blacklist_versions._version_matches {compiler comparison_operator test_version} { 79 | set actual_version [compiler.command_line_tools_version ${compiler}] 80 | if {${actual_version} eq ""} { 81 | return 1 82 | } 83 | return [expr [vercmp ${actual_version} ${test_version}] ${comparison_operator} 0] 84 | } 85 | -------------------------------------------------------------------------------- /_resources/port1.0/group/gobject_introspection-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup adds dependencies and arguments for building with gobject 4 | # introspection. There is just one option to set: 5 | # 6 | # gobject_introspection: whether to use gobject introspection. The default 7 | # is no. Possible values are yes and no. 8 | # 9 | # It is imperative to either set this option *after* you set the port's 10 | # dependencies, not before, or alternately, ensure you always append to 11 | # dependencies rather than overwriting them. Otherwise you'll overwrite 12 | # the dependencies the portgroup sets. 13 | 14 | options gobject_introspection 15 | default gobject_introspection no 16 | option_proc gobject_introspection gobject_introspection._set 17 | 18 | proc gobject_introspection._set {option action args} { 19 | if {"set" ne ${action}} { 20 | return 21 | } 22 | 23 | if {${args}} { 24 | depends_lib-append port:gobject-introspection 25 | 26 | platform darwin 8 { 27 | depends_build-append port:gmake 28 | } 29 | } else { 30 | depends_lib-delete port:gobject-introspection 31 | 32 | platform darwin 8 { 33 | depends_build-delete port:gmake 34 | } 35 | } 36 | } 37 | 38 | pre-configure { 39 | if {${gobject_introspection}} { 40 | configure.args-append --enable-introspection 41 | platform darwin 8 { 42 | configure.env-append MAKE=${prefix}/bin/gmake 43 | } 44 | } else { 45 | configure.args-append --disable-introspection 46 | } 47 | } 48 | 49 | pre-build { 50 | if {${gobject_introspection}} { 51 | # gobject-introspection uses g-ir-scanner, which uses $CC from args. 52 | if {[info exists universal_archs_to_use]} { 53 | global merger_build_args 54 | foreach arch ${universal_archs_to_use} { 55 | lappend merger_build_args(${arch}) CC="${configure.cc} -arch ${arch}" 56 | } 57 | } else { 58 | # This deliberately does not use [get_canonical_archflags cc] 59 | # because that would cause g-ir-scanner to report an error: 60 | # 61 | # clang: error: cannot use 'cpp-output' output with multiple -arch 62 | # options 63 | # 64 | # This means that the $CC passed to make at build and destroot time 65 | # does not contain the right -arch flags for universal builds that 66 | # don't use the muniversal portgroup, but this is assumed not to 67 | # affect the output of g-ir-scanner. It is even possible that the 68 | # -arch flags aren't necessary at all for g-ir-scanner, but this has 69 | # not been investigated. 70 | # 71 | # The non-g-ir-scanner parts of the build are assumed to build with 72 | # the correct -arch flags as determined at configure time. 73 | build.args-append CC="${configure.cc} [join ${configure.cc_archflags}]" 74 | } 75 | 76 | # The rules enabled by gobject-introspection require GNU make 3.81+ 77 | platform darwin 8 { 78 | build.cmd-replace [portbuild::build_getmaketype] ${prefix}/bin/gmake 79 | } 80 | } 81 | } 82 | 83 | pre-destroot { 84 | if {${gobject_introspection}} { 85 | # gobject-introspection uses g-ir-scanner, which uses $CC from args. 86 | if {[info exists universal_archs_to_use]} { 87 | global merger_destroot_args 88 | foreach arch ${universal_archs_to_use} { 89 | lappend merger_destroot_args(${arch}) CC="${configure.cc} -arch ${arch}" 90 | } 91 | } else { 92 | # This deliberately does not use [get_canonical_archflags cc]. See 93 | # explanation in pre-build block. 94 | destroot.args-append CC="${configure.cc} [join ${configure.cc_archflags}]" 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /_resources/port1.0/group/archcheck-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup checks that the architecture(s) of the given files match 4 | # the architecture(s) we are trying to install this port as now. This is 5 | # a crutch to get us by until a proper solution is implemented in base. 6 | # See #20728. 7 | # 8 | # Usage: 9 | # 10 | # PortGroup archcheck 1.0 11 | # archcheck.files file1 file2 ... 12 | # 13 | # Files can (and probably usually should) be specified relative to ${prefix}. 14 | 15 | options archcheck.files 16 | default archcheck.files {} 17 | 18 | if {"darwin" eq ${os.platform}} { 19 | pre-configure { 20 | if {[variant_exists universal] && [variant_isset universal]} { 21 | set requested_archs ${configure.universal_archs} 22 | } else { 23 | set requested_archs ${configure.build_arch} 24 | } 25 | foreach file ${archcheck.files} { 26 | # Prepend prefix if necessary. 27 | if {"/" != [string index ${file} 0]} { 28 | set file [file join ${prefix} ${file}] 29 | } 30 | 31 | # Make sure the file exists -- there have been cases where dylibs are 32 | # inexplicably absent (e.g. #23057). 33 | if {![file exists ${file}]} { 34 | ui_error "The file ${file} does not exist, though it was" 35 | ui_error "expected to have been provided by one of ${name}'s dependencies. Try" 36 | ui_error "rebuilding the port that should have provided that file by running" 37 | ui_error "" 38 | ui_error " sudo port -n upgrade --force " 39 | ui_error "" 40 | return -code error "missing required file" 41 | } 42 | 43 | set file_archs [string trim [strsed [exec lipo -info ${file}] {s/.*://}]] 44 | set file_archs [string map {ppc7400 ppc ppc7450 ppc} ${file_archs}] 45 | 46 | foreach file_arch ${file_archs} { 47 | switch ${file_arch} { 48 | i386 - 49 | x86_64 - 50 | ppc - 51 | ppc64 { 52 | # ok 53 | } 54 | default { 55 | ui_error "File ${file} contains unexpected architecture ${file_arch}." 56 | ui_error "This may be a bug in the archcheck portgroup." 57 | return -code error "unexpected architecture" 58 | } 59 | } 60 | } 61 | 62 | foreach requested_arch ${requested_archs} { 63 | if {-1 == [string first " ${requested_arch} " " ${file_archs} "]} { 64 | set dependency [strsed [exec ${prefix}/bin/port provides ${file} 2>/dev/null] {s/.*: //}] 65 | ui_error "You cannot install ${name} for the architecture(s) ${requested_archs} because" 66 | ui_error "its dependency ${dependency} only contains the architecture(s) ${file_archs}." 67 | # Dependency is not universal? 68 | if {1 == [llength ${file_archs}]} { 69 | # Trying to install this port either universal or for non-default arch? 70 | if {([variant_exists universal] && [variant_isset universal]) || (${build_arch} != ${configure.build_arch})} { 71 | ui_error "" 72 | ui_error "Try rebuilding ${dependency} (and all its dependencies) with" 73 | ui_error "the +universal variant by running" 74 | ui_error "" 75 | ui_error " sudo port upgrade --enforce-variants ${dependency} +universal" 76 | ui_error "" 77 | # Dependency's arch is not the default arch? User has likely upgraded 78 | # from Leopard to Snow Leopard and has not reinstalled all ports. 79 | } elseif {${file_archs} != ${build_arch}} { 80 | ui_error "" 81 | ui_error "Did you upgrade to a new version of macOS? If so, please see" 82 | ui_error "" 83 | ui_error " https://trac.macports.org/wiki/Migration" 84 | ui_error "" 85 | } 86 | } 87 | return -code error "incompatible architectures in dependencies" 88 | } 89 | } 90 | } 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /_resources/port1.0/group/java-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup accommodates Java projects by setting the JAVA_HOME environment 4 | # variable appropriately for the configure, build, and destroot phases. 5 | # 6 | # Usage: 7 | # 8 | # PortGroup java 1.0 9 | # 10 | # java.version 1.8 11 | # 12 | # The java.version option allows one to optionally specify a required Java 13 | # version. The syntax is the same as that accepted by /usr/libexec/java_home: 14 | # 15 | # - Java 8 and earlier are "1.8", etc. 16 | # - Java 9 and later are "9", etc. 17 | # - "+" and "*" wilcards are supported 18 | # 19 | # If the required Java cannot be found, an error will be thrown at pre-fetch. 20 | 21 | options java.version java.home java.fallback 22 | 23 | default java.version {} 24 | default java.home {} 25 | default java.fallback {} 26 | 27 | # allow PortGroup to be used inside a variant (e.g. octave) 28 | global java_version_not_found 29 | set java_version_not_found no 30 | 31 | pre-fetch { 32 | if { ${java_version_not_found} } { 33 | # Check again, incase java became available, .e.g openjdk installed as a dependency 34 | java_set_env 35 | # If still not present, error out 36 | if { ${java_version_not_found} } { 37 | ui_error "${name} requires Java ${java.version} but no such installation could be found." 38 | return -code error "missing required Java version" 39 | } 40 | } 41 | } 42 | 43 | # Search for a good value for JAVA_HOME 44 | proc find_java_home {} { 45 | set home_value "" 46 | 47 | # Default setting to found, until proved otherwise below 48 | global java_version_not_found 49 | set java_version_not_found no 50 | 51 | global java.version java.fallback 52 | if { ${java.version} ne "" } { 53 | if { [catch {set val [exec "/usr/libexec/java_home" "-f" "-v" ${java.version}]}] } { 54 | # Don't return an error because that would prevent the port from 55 | # even being indexed when the required Java is missing. Instead, set 56 | # a flag to be checked at pre-fetch. 57 | set java_version_not_found yes 58 | } else { 59 | set home_value $val 60 | ui_debug "Discovered JAVA_HOME via /usr/libexec/java_home: $home_value" 61 | } 62 | } 63 | 64 | # Default to any valid value that made it through the environment 65 | if { ![file isdirectory $home_value] && \ 66 | [info exists ::env(JAVA_HOME)] } { 67 | set val $::env(JAVA_HOME) 68 | if { [file isdirectory $val] } { 69 | set home_value $val 70 | ui_debug "Discovered JAVA_HOME via env: $home_value" 71 | } 72 | } 73 | 74 | # First, ask the system where java home is 75 | if { ![file isdirectory $home_value] && ![catch {set val [exec "/usr/libexec/java_home"]}] } { 76 | set home_value $val 77 | ui_debug "Discovered JAVA_HOME via /usr/libexec/java_home: $home_value" 78 | } 79 | 80 | # Fall back to more conventional way to find java home 81 | if { ![file isdirectory $home_value] } { 82 | foreach loc { "/System/Library/Frameworks/JavaVM.framework/Home" } { 83 | if { [file isdirectory $loc] } { 84 | set home_value $loc 85 | ui_debug "Discovered JAVA_HOME via search path: $home_value" 86 | break 87 | } 88 | } 89 | } 90 | 91 | # Warn user if we couldn't find a likely JAVA_HOME 92 | if { ![file isdirectory $home_value]} { 93 | ui_warn "No value for java JAVA_HOME was automatically discovered" 94 | } 95 | 96 | # Add dependency if required 97 | if { ${java_version_not_found} && ${java.fallback} ne "" } { 98 | ui_debug "Adding dependency on JDK fallback ${java.fallback}" 99 | depends_lib-append port:${java.fallback} 100 | } 101 | 102 | return $home_value 103 | } 104 | 105 | proc java_set_env {} { 106 | # Set the best value we can find for JAVA_HOME 107 | set java_home [find_java_home] 108 | configure.env-append JAVA_HOME=${java_home} 109 | build.env-append JAVA_HOME=${java_home} 110 | destroot.env-append JAVA_HOME=${java_home} 111 | java.home ${java_home} 112 | } 113 | port::register_callback java_set_env 114 | -------------------------------------------------------------------------------- /_resources/port1.0/group/xcode_workaround-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup attempts to work around a bug in Xcode 11 on Catalina. 4 | # See https://forums.developer.apple.com/thread/121887 5 | # 6 | # Usage: 7 | # 8 | # PortGroup xcode_workaround 1.0 9 | # 10 | # xcode_workaround.type: 11 | # append_to_compiler_flags (add -fno-stack-check to compiler flags) 12 | # append_to_compiler_name (add -fno-stack-check to compiler name) 13 | # avoid_xcode_compiler (blacklist broken compiler) 14 | # 15 | # xcode_workaround.fixed_xcode_version: minimum developer version in which bug is fixed 16 | 17 | PortGroup cltversion 1.0 18 | 19 | namespace eval xcode_workaround { 20 | } 21 | 22 | options xcode_workaround.type 23 | options xcode_workaround.fixed_xcode_version 24 | 25 | default xcode_workaround.type {append_to_compiler_flags} 26 | default xcode_workaround.fixed_xcode_version {11.3} 27 | 28 | proc xcode_workaround::xcode_workaround.appy_fix {} { 29 | global \ 30 | os.major \ 31 | xcodeversion \ 32 | cltversion \ 33 | developerversion \ 34 | xcode_workaround.type \ 35 | xcode_workaround.fixed_xcode_version \ 36 | configure.cc \ 37 | configure.cxx \ 38 | configure.cflags \ 39 | configure.cxxflags \ 40 | configure.objcflags \ 41 | configure.objcxxflags \ 42 | compiler.blacklist \ 43 | use_xcode 44 | 45 | if {${os.major} != 19} { 46 | # -fno-stack-check is the default prior to macOS 10.15 47 | # assume this issue will be fixed by macOS 10.16 48 | set apply_fix no 49 | } else { 50 | # N.B. vercmp should properly handle none or "" for $xcodeversion or $cltversion 51 | set xcode_is_ok [expr [vercmp $xcodeversion ${xcode_workaround.fixed_xcode_version}] >= 0] 52 | 53 | if {${use_xcode}} { 54 | set apply_fix [expr !${xcode_is_ok}] 55 | } else { 56 | set clt_is_ok [expr [vercmp $cltversion ${xcode_workaround.fixed_xcode_version}] >= 0] 57 | 58 | if {${xcode_is_ok} && !${clt_is_ok}} { 59 | # MacPorts defaults to CLTs, but Xcode can easily be ahead 60 | ui_debug "xcode_workaround: using Xcode since the bug is fixed there" 61 | use_xcode yes 62 | set apply_fix no 63 | } else { 64 | set apply_fix [expr !${clt_is_ok}] 65 | } 66 | } 67 | } 68 | 69 | if {${apply_fix}} { 70 | switch -- ${xcode_workaround.type} { 71 | append_to_compiler_flags { 72 | ui_debug "xcode_workaround: Adding -fno-stack-check to compiler flags." 73 | configure.cflags-delete -fno-stack-check 74 | configure.cflags-append -fno-stack-check 75 | configure.cxxflags-delete -fno-stack-check 76 | configure.cxxflags-append -fno-stack-check 77 | configure.objcflags-delete -fno-stack-check 78 | configure.objcflags-append -fno-stack-check 79 | configure.objcxxflags-delete -fno-stack-check 80 | configure.objcxxflags-append -fno-stack-check 81 | } 82 | append_to_compiler_name { 83 | ui_debug "xcode_workaround: Adding -fno-stack-check to compiler name." 84 | configure.cc-delete -fno-stack-check 85 | configure.cc-append -fno-stack-check 86 | configure.cxx-delete -fno-stack-check 87 | configure.cxx-append -fno-stack-check 88 | } 89 | avoid_xcode_compiler { 90 | ui_debug "xcode_workaround: blacklisting Clang compiler." 91 | compiler.blacklist-delete clang 92 | compiler.blacklist-append clang 93 | } 94 | default { 95 | ui_error "${xcode_workaround.type} is an unrecognized option for xcode_workaround.type" 96 | return -code error "unrecognized Xcode 11 workaround type" 97 | } 98 | } 99 | } 100 | } 101 | port::register_callback xcode_workaround::xcode_workaround.appy_fix 102 | 103 | proc xcode_workaround::xcode_workaround._proc {option action args} { 104 | if {$action ne "set"} return 105 | xcode_workaround.appy_fix 106 | } 107 | 108 | option_proc xcode_workaround.type xcode_workaround::xcode_workaround._proc 109 | -------------------------------------------------------------------------------- /_resources/port1.0/group/legacysupport-1.1.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This portgroup provides support older OS releases by: 4 | # * providing a library for various missing library functions 5 | # * ameliorate the mixing of libstdc++ libraries 6 | 7 | # Usage: 8 | # 9 | # PortGroup legacysupport 1.1 10 | # 11 | # legacysupport.newest_darwin_requires_legacy: newest macOS release that requires legacy support 12 | # 13 | # legacysupport.header_search: preprocessor flag used to locate header directory 14 | # 15 | # legacysupport.library_name: linker flag used to add library 16 | # 17 | # legacysupport.redirect_bins: binary files that mix different versions of libstdc++ 18 | # create a wrapper so that only MacPorts libstdc++ is used 19 | 20 | options legacysupport.newest_darwin_requires_legacy 21 | default legacysupport.newest_darwin_requires_legacy {} 22 | 23 | options legacysupport.header_search 24 | default legacysupport.header_search {-isystem${prefix}/include/LegacySupport} 25 | 26 | options legacysupport.library_name 27 | default legacysupport.library_name {${prefix}/lib/libMacportsLegacySupport.dylib} 28 | 29 | options legacysupport.redirect_bins 30 | default legacysupport.redirect_bins {} 31 | 32 | # please remove when a86f95c has been in a released MacPorts version for at least two weeks 33 | # see https://github.com/macports/macports-base/commit/a86f95c5ab86ee52c8fec2271e005591179731de 34 | if {![info exists compiler.limit_flags]} { 35 | options compiler.limit_flags 36 | default compiler.limit_flags no 37 | } 38 | 39 | namespace eval legacysupport { 40 | } 41 | 42 | proc legacysupport::add_legacysupport {} { 43 | global prefix \ 44 | os.platform \ 45 | os.major 46 | 47 | if {${os.platform} eq "darwin" && ${os.major} <= [option legacysupport.newest_darwin_requires_legacy]} { 48 | ui_debug "Adding legacy build support" 49 | 50 | # depend on the support library or devel version if installed 51 | depends_lib-delete path:lib/libMacportsLegacySupport.dylib:legacy-support 52 | depends_lib-append path:lib/libMacportsLegacySupport.dylib:legacy-support 53 | 54 | configure.ldflags-delete [option legacysupport.library_name] 55 | configure.ldflags-append [option legacysupport.library_name] 56 | 57 | if {![option compiler.limit_flags]} { 58 | configure.cppflags-delete [option legacysupport.header_search] 59 | configure.cppflags-prepend [option legacysupport.header_search] 60 | } 61 | 62 | compiler.cpath-delete ${prefix}/include/LegacySupport 63 | compiler.cpath-prepend ${prefix}/include/LegacySupport 64 | } 65 | 66 | # see https://trac.macports.org/ticket/59832 67 | if {${os.platform} eq "darwin" && [option configure.cxx_stdlib] eq "macports-libstdc++"} { 68 | foreach phase {configure build destroot test} { 69 | ${phase}.env-delete DYLD_LIBRARY_PATH=${prefix}/lib/libgcc 70 | ${phase}.env-append DYLD_LIBRARY_PATH=${prefix}/lib/libgcc 71 | } 72 | } 73 | } 74 | 75 | port::register_callback legacysupport::add_legacysupport 76 | 77 | proc legacysupport::legacysupport_proc {option action args} { 78 | if {$action ne "set"} return 79 | legacysupport::add_legacysupport 80 | } 81 | 82 | option_proc legacysupport.newest_darwin_requires_legacy legacysupport::legacysupport_proc 83 | 84 | # see https://trac.macports.org/ticket/59832 85 | post-destroot { 86 | if {${os.platform} eq "darwin" && ${configure.cxx_stdlib} eq "macports-libstdc++"} { 87 | foreach rbin ${legacysupport.redirect_bins} { 88 | set dir [file dirname ${rbin}] 89 | if {${dir} eq "."} { 90 | set dir ${prefix}/bin 91 | } 92 | set bin ${dir}/[file tail ${rbin}] 93 | 94 | move ${destroot}${bin} \ 95 | ${destroot}${bin}-orig 96 | 97 | set wrapper [open "${destroot}${bin}" w 0755] 98 | puts ${wrapper} "#!/bin/bash" 99 | puts ${wrapper} "" 100 | puts ${wrapper} {if [ -n "$DYLD_LIBRARY_PATH" ]; then} 101 | puts ${wrapper} " DYLD_LIBRARY_PATH=${prefix}/lib/libgcc:\${DYLD_LIBRARY_PATH}" 102 | puts ${wrapper} {else} 103 | puts ${wrapper} " DYLD_LIBRARY_PATH=${prefix}/lib/libgcc" 104 | puts ${wrapper} {fi} 105 | puts ${wrapper} {export DYLD_LIBRARY_PATH} 106 | puts ${wrapper} "" 107 | puts ${wrapper} {exec "${0}-orig" "$@"} 108 | close $wrapper 109 | 110 | } 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /_resources/port1.0/group/bitbucket-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup sets up default behaviors for projects hosted at bitbucket. 4 | # 5 | # Usage: 6 | # 7 | # PortGroup bitbucket 1.0 8 | # bitbucket.setup author project version [tag_prefix] 9 | 10 | options bitbucket.author bitbucket.project bitbucket.version bitbucket.tag_prefix 11 | options bitbucket.homepage bitbucket.master_sites bitbucket.tarball_from 12 | options bitbucket.livecheck_branch 13 | 14 | default bitbucket.homepage {https://bitbucket.org/${bitbucket.author}/${bitbucket.project}} 15 | 16 | # Later code assumes that bitbucket.master_sites is a simple string, not a list. 17 | default bitbucket.master_sites {${bitbucket.homepage}/get} 18 | default bitbucket.tarball_from tags 19 | 20 | default master_sites {${bitbucket.master_sites}} 21 | 22 | option_proc bitbucket.tarball_from handle_tarball_from 23 | 24 | proc handle_tarball_from {option action args} { 25 | global bitbucket.author bitbucket.project bitbucket.master_sites bitbucket.version 26 | 27 | # the port writer can set bitbucket.tarball_from to "downloads" and have the URI path accordingly changed 28 | if {[string equal ${action} "set"] && ${args} eq "downloads"} { 29 | bitbucket.tarball_from ${args} 30 | bitbucket.master_sites https://bitbucket.org/${bitbucket.author}/${bitbucket.project}/downloads 31 | default livecheck.url {${bitbucket.master_sites}} 32 | default distname {${bitbucket.project}-${bitbucket.version}} 33 | } 34 | } 35 | 36 | proc bitbucket.livecheck_regex {} { 37 | global bitbucket.tag_prefix bitbucket.tarball_from distname extract.suffix version 38 | switch ${bitbucket.tarball_from} { 39 | tags { 40 | set dir get 41 | } 42 | default { 43 | set dir ${bitbucket.tarball_from} 44 | } 45 | } 46 | return ${dir}/[regsub -- [quotemeta ${version}] ${distname} {([0-9.]+)}][quotemeta [quotemeta ${extract.suffix}]] 47 | } 48 | 49 | proc bitbucket.setup {bb_author bb_project bb_version {bb_tag_prefix ""}} { 50 | global bitbucket.author bitbucket.homepage bitbucket.master_sites bitbucket.project bitbucket.tag_prefix bitbucket.version extract.suffix PortInfo 51 | 52 | bitbucket.author ${bb_author} 53 | bitbucket.project ${bb_project} 54 | bitbucket.version ${bb_version} 55 | bitbucket.tag_prefix ${bb_tag_prefix} 56 | 57 | if {!([info exists PortInfo(name)] && (${PortInfo(name)} ne ${bitbucket.project}))} { 58 | name ${bitbucket.project} 59 | } 60 | version ${bitbucket.version} 61 | homepage ${bitbucket.homepage} 62 | hg.url ${bitbucket.homepage} 63 | hg.tag [join ${bitbucket.tag_prefix}]${bitbucket.version} 64 | default distname {${hg.tag}} 65 | fetch.ignore_sslcert yes 66 | 67 | post-extract { 68 | # It is assumed that bitbucket.master_sites is a simple string, not a list. 69 | # Here be dragons. 70 | if {![file exists ${worksrcpath}] && \ 71 | ${fetch.type} eq "standard" && \ 72 | ${bitbucket.master_sites} in ${master_sites} && \ 73 | [llength ${distfiles}] > 0 && \ 74 | [llength [glob -nocomplain ${workpath}/*]] > 0} { 75 | move [glob ${workpath}/*] ${worksrcpath} 76 | } 77 | } 78 | 79 | if {[join ${bitbucket.tag_prefix}] eq "" && \ 80 | [regexp "^\[0-9a-f\]{9,}\$" ${bitbucket.version}]} { 81 | default livecheck.type regexm 82 | default livecheck.url {${bitbucket.homepage}/atom} 83 | default livecheck.regex {changeset:(\[0-9a-f\]{[string length ${bitbucket.version}]})\[0-9a-f\]*} 84 | } else { 85 | default livecheck.type regex 86 | default livecheck.url {${bitbucket.homepage}/downloads?tab=tags} 87 | default livecheck.regex {[bitbucket.livecheck_regex]} 88 | } 89 | 90 | default livecheck.version {${bitbucket.version}} 91 | } 92 | 93 | # proc that sets the livecheck to only check a branch instead of the newest 94 | # commits (meant to be used when the version is a hash); to be called *after* 95 | # bitbucket.setup 96 | proc bitbucket.livecheck {bb_branch} { 97 | global bitbucket.homepage bitbucket.author bitbucket.project bitbucket.version 98 | 99 | livecheck.url ${bitbucket.homepage}/commits/branch/${bb_branch} 100 | livecheck.type regexm 101 | livecheck.regex 7 | # https://guide.macports.org/#reference.portgroup.gitlab 8 | # 9 | # Documentation (sources): 10 | # https://gitlab.com/macports/macports-guide/blob/master/guide/xml/portgroup-gitlab.xml 11 | 12 | options gitlab.author gitlab.project gitlab.version gitlab.tag_prefix gitlab.tag_suffix 13 | 14 | options gitlab.instance 15 | default gitlab.instance {https://gitlab.com} 16 | 17 | options gitlab.homepage 18 | default gitlab.homepage {${gitlab.instance}/${gitlab.author}/${gitlab.project}} 19 | 20 | # Later code assumes that gitlab.master_sites is a simple string, not a list. 21 | options gitlab.master_sites 22 | default gitlab.master_sites {${gitlab.homepage}/-/archive/${git.branch}} 23 | 24 | options gitlab.livecheck.branch 25 | default gitlab.livecheck.branch master 26 | 27 | options gitlab.livecheck.regex 28 | default gitlab.livecheck.regex {(\[0-9]\[^<]+)} 29 | 30 | proc gitlab.setup {gl_author gl_project gl_version {gl_tag_prefix ""} {gl_tag_suffix ""}} { 31 | global extract.suffix gitlab.author gitlab.project gitlab.version gitlab.tag_prefix gitlab.tag_suffix 32 | global gitlab.homepage gitlab.master_sites gitlab.livecheck.branch PortInfo 33 | 34 | gitlab.author ${gl_author} 35 | gitlab.project ${gl_project} 36 | gitlab.version ${gl_version} 37 | gitlab.tag_prefix ${gl_tag_prefix} 38 | gitlab.tag_suffix ${gl_tag_suffix} 39 | 40 | if {!([info exists PortInfo(name)] && (${PortInfo(name)} ne ${gitlab.project}))} { 41 | name ${gitlab.project} 42 | } 43 | 44 | version ${gitlab.version} 45 | default homepage ${gitlab.homepage} 46 | git.url ${gitlab.homepage}.git 47 | git.branch [join ${gitlab.tag_prefix}]${gitlab.version}[join ${gitlab.tag_suffix}] 48 | default master_sites {${gitlab.master_sites}} 49 | distname ${gitlab.project}-${gitlab.version} 50 | use_bzip2 yes 51 | 52 | # I don't _think_ we need this bit from the github portgroup, but keeping 53 | # around until we have more use cases... 54 | # post-extract { 55 | # # When fetching from a tag, the extracted directory name will contain a 56 | # # truncated commit hash. So that the port author need not specify what 57 | # # that hash is every time the version number changes, rename the 58 | # # directory to the value of distname (not worksrcdir: ports may want to 59 | # # set worksrcdir to a subdirectory of the extracted directory). 60 | # # It is assumed that gitlab.master_sites is a simple string, not a list. 61 | # # Here be dragons. 62 | # if {![file exists ${worksrcpath}] && \ 63 | # ${fetch.type} eq "standard" && \ 64 | # ${gitlab.master_sites} in ${master_sites} && \ 65 | # [llength ${distfiles}] > 0 && \ 66 | # [llength [glob -nocomplain ${workpath}/*]] > 0} { 67 | # if {[file exists [glob -nocomplain ${workpath}/${gitlab.author}-${gitlab.project}-*]] && \ 68 | # [file isdirectory [glob -nocomplain ${workpath}/${gitlab.author}-${gitlab.project}-*]]} { 69 | # move [glob ${workpath}/${gitlab.author}-${gitlab.project}-*] ${workpath}/${distname} 70 | # } else { 71 | # # tarball is not "${gitlab.author}-${gitlab.project}-*" 72 | # ui_error "\n\ngitlab PortGroup: Error: \${worksrcpath} does not exist after extracting distfiles. This might indicate that the author or project is different than set in the Portfile due to a rename at GitHub. Please examine the extracted directory in ${workpath} and try to correct the Portfile by either changing the author or project or adding the worksrcdir option with the correct directory name.\n" 73 | # return -code error "Unexpected gitlab tarball extract." 74 | # } 75 | # } 76 | # } 77 | 78 | # If the version is composed entirely of hex characters, and is at least 7 79 | # characters long, and is not exactly 8 decimal digits (which might be a 80 | # version in YYYYMMDD format), and no tag prefix or suffix is provided, then 81 | # assume we are using a commit hash and livecheck commits; otherwise 82 | # livecheck tags. 83 | if {[join ${gitlab.tag_prefix}] eq "" && \ 84 | [join ${gitlab.tag_suffix}] eq "" && \ 85 | [regexp "^\[0-9a-f\]{7,}\$" ${gitlab.version}] && \ 86 | ![regexp "^\[0-9\]{8}\$" ${gitlab.version}]} { 87 | livecheck.type regexm 88 | default livecheck.url {${gitlab.homepage}/-/commits/${gitlab.livecheck.branch}?format=atom} 89 | livecheck.regex commit/(\[0-9a-f\]{[string length ${gitlab.version}]})\[0-9a-f\]* 90 | } else { 91 | livecheck.type regex 92 | livecheck.url ${gitlab.homepage}/-/tags?format=atom 93 | default livecheck.regex {[list tags/[join ${gitlab.tag_prefix}][join ${gitlab.livecheck.regex}][join ${gitlab.tag_suffix}]]} 94 | } 95 | livecheck.version ${gitlab.version} 96 | } 97 | -------------------------------------------------------------------------------- /_resources/port1.0/group/haskell_cabal-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # Usage: 4 | # PortGroup haskell_cabal 1.0 5 | # 6 | # This PortGroup configures the build to use the Haskell Cabal tool. It 7 | # modifies the defaults for a number of variables, so your Portfile should take 8 | # care not to accidentally overwrite them. 9 | # 10 | # The PortGroup will automatically add the required build dependencies for 11 | # port:cabal. 12 | # 13 | # The configure, build, destroot and test phases are set up (although the test 14 | # phase is not enabled automatically). A default livecheck is configured to 15 | # hackage.haskell.org using ${name}. 16 | # 17 | # This PortGroup offers the following options: 18 | # 19 | # haskell_cabal.bin 20 | # The cabal binary. Defaults to ${prefix}/bin/cabal. 21 | # 22 | # haskell_cabal.default_args 23 | # Default arguments for cabal used across invocations in configure, build, and 24 | # destroot phases. Defaults to 25 | # --prefix=${prefix} 26 | # --bindir=${prefix}/bin 27 | # --libdir=${prefix}/lib 28 | # --libsubdir=${name} 29 | # --dynlibdir=${prefix}/lib 30 | # --libexecdir=${prefix}/libexec 31 | # --libexecsubdir=${name} 32 | # --datadir=${prefix}/share/${name} 33 | # --docdir=${prefix}/share/doc/${name} 34 | # --htmldir=${prefix}/share/doc/${name} 35 | # --sysconfdir=${prefix}/etc/${name} 36 | # --enable-documentation 37 | # --enable-relocatable 38 | 39 | proc haskell_cabal.add_dependencies {} { 40 | global name 41 | if { ${name} ne "cabal" } { 42 | depends_build-append port:cabal \ 43 | port:ghc 44 | } 45 | } 46 | port::register_callback haskell_cabal.add_dependencies 47 | 48 | # libHSbase shipped with GHC links against system libiconv, which provides the 49 | # 'iconv' symbol, but not the 'libiconv' symbol. Because the compilation 50 | # process statically links libHSbase.a, we must have /usr/lib in the library 51 | # search path first :/ 52 | compiler.library_path 53 | compiler.cpath 54 | 55 | options haskell_cabal.bin haskell_cabal.default_args 56 | default haskell_cabal.bin ${prefix}/bin/cabal 57 | default haskell_cabal.default_args \ 58 | {--prefix=${prefix} \ 59 | --bindir=${prefix}/bin \ 60 | --libdir=${prefix}/lib \ 61 | --libsubdir=${name} \ 62 | --dynlibdir=${prefix}/lib \ 63 | --libexecdir=${prefix}/libexec \ 64 | --libexecsubdir=${name} \ 65 | --datadir=${prefix}/share/${name} \ 66 | --docdir=${prefix}/share/doc/${name} \ 67 | --htmldir=${prefix}/share/doc/${name} \ 68 | --sysconfdir=${prefix}/etc/${name} \ 69 | --enable-documentation \ 70 | --enable-relocatable} 71 | 72 | pre-configure { 73 | system -W ${worksrcpath} "${haskell_cabal.bin} new-update" 74 | } 75 | 76 | default configure.cmd {${haskell_cabal.bin}} 77 | default configure.pre_args {} 78 | default configure.args {new-configure ${haskell_cabal.default_args}} 79 | 80 | default build.cmd {${haskell_cabal.bin}} 81 | default build.target {new-build} 82 | default build.args {${haskell_cabal.default_args}} 83 | 84 | # ensure /usr/bin/gcc is used; see https://github.com/haskell/cabal/issues/1325 85 | default build.env {PATH=${worksrcpath}/bin:$env(PATH)} 86 | pre-build { 87 | xinstall -d ${worksrcpath}/bin 88 | ln -s /usr/bin/gcc ${worksrcpath}/bin/gcc 89 | } 90 | 91 | # Note: cabal new-install does *not* use the specified --prefix'ed datadir 92 | # Do not use new-install; rather, new-update / new-configure / new-build 93 | 94 | destroot { 95 | # install binary 96 | set cabal_build ${worksrcpath}/dist-newstyle/build 97 | fs-traverse f ${cabal_build} { 98 | if { [file isdirectory ${f}] 99 | && [file tail ${f}] eq "${name}-${version}" } { 100 | set cabal_build ${f} 101 | break 102 | } 103 | } 104 | fs-traverse f ${cabal_build} { 105 | if { [file isfile ${f}] 106 | && [file executable ${f}] 107 | && [file tail ${f}] eq "${name}" 108 | && [file tail [file dirname ${f}]] eq "${name}" } { 109 | xinstall -m 0755 ${f} ${destroot}${prefix}/bin/${name} 110 | } 111 | } 112 | 113 | # install documentation 114 | if { [file isdirectory ${cabal_build}/doc] } { 115 | xinstall -d ${destroot}${prefix}/share/doc/${name} 116 | fs-traverse f_or_d ${cabal_build}/doc { 117 | set subpath [strsed ${f_or_d} "s|${cabal_build}/doc||"] 118 | if { ${subpath} ne "" } { 119 | if { [file isdirectory ${f_or_d}] } { 120 | xinstall -d \ 121 | ${destroot}${prefix}/share/doc/${name}${subpath} 122 | } elseif { [file isfile ${f_or_d}] } { 123 | xinstall -m 0644 ${f_or_d} \ 124 | ${destroot}${prefix}/share/doc/${name}${subpath} 125 | } 126 | } 127 | } 128 | } 129 | 130 | # install cabal data-files 131 | if { [file exists ${worksrcpath}/data] 132 | && [file isdirectory ${worksrcpath}/data] } { 133 | xinstall -m 0644 {*}[glob ${worksrcpath}/data/*] \ 134 | ${destroot}${prefix}/share/${name} 135 | } 136 | } 137 | 138 | default livecheck.type {regex} 139 | default livecheck.url {https://hackage.haskell.org/package/${name}} 140 | default livecheck.regex {"/package/[quotemeta ${name}]-\\\[^/\\\]+/[quotemeta ${name}]-(\\\[^\\\"\\\]+)[quotemeta ${extract.suffix}]"} 141 | -------------------------------------------------------------------------------- /_resources/port1.0/group/haskell-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # Usage: 4 | # PortGroup haskell 1.0 5 | # haskell.setup haskell_package version [haskell_compiler] 6 | # where haskell_package is the name of the package (eg, digest), version 7 | # is the version for it, and haskell_compiler is which compiler to use 8 | # (ghc is the default if not specified, and currently the only option). 9 | # This automatically defines name, version, categories, homepage, 10 | # master_sites, distname, and depends_build as appropriate, and sets up 11 | # the configure, build, destroot, and post-activate stages. 12 | 13 | 14 | # List of supported compilers 15 | set haskell.compiler_list {ghc} 16 | 17 | # Configuration for each compiler 18 | 19 | # I'm explicitly *not* determining the GHC version programatically here, 20 | # because doing so would allow GHC packages to continue working when 21 | # installed from source after a GHC update without a revbump. That's however 22 | # not what I want, because it has previously lead to problems when mixing 23 | # buildbot packages with locally compiled ones around the time of GHC 24 | # updates. 25 | array set haskell.compiler_configuration { 26 | ghc {port ghc 27 | version 7.8.3 28 | compiler ${prefix}/bin/ghc 29 | ghc-pkg ${prefix}/bin/ghc-pkg} 30 | } 31 | 32 | proc haskell.setup {package version {compiler ghc} {register_scripts "yes"} {target "standalone"}} { 33 | global haskell.compiler_list 34 | global haskell.compiler_configuration 35 | global homepage prefix configure.cmd destroot worksrcpath name master_sites configure.cc extract.suffix 36 | 37 | if {![info exists haskell.compiler_configuration($compiler)]} { 38 | return -code error "Compiler ${compiler} not currently supported" 39 | } 40 | array set compiler_config [lindex [array get haskell.compiler_configuration $compiler] 1] 41 | 42 | if {${target} eq "standalone"} { 43 | # Do not set name when used for haskell platform port, because those 44 | # are subports and cannot touch $name 45 | name hs-[string tolower ${package}] 46 | } 47 | version ${version} 48 | categories devel haskell 49 | homepage https://hackage.haskell.org/package/${package} 50 | master_sites https://hackage.haskell.org/package/${package}-${version} 51 | distname ${package}-${version} 52 | depends_lib port:${compiler_config(port)} 53 | configure.cmd runhaskell 54 | configure.pre_args 55 | configure.args Setup configure \ 56 | --prefix=${prefix} \ 57 | --with-compiler=[subst ${compiler_config(compiler)}] \ 58 | -v \ 59 | --enable-library-profiling \ 60 | --with-gcc=${configure.cc} 61 | build.cmd ${configure.cmd} 62 | build.args Setup build -v 63 | build.target 64 | destroot.cmd ${configure.cmd} 65 | destroot.destdir 66 | destroot.target Setup copy --destdir=${destroot} 67 | if {${register_scripts} == "yes"} { 68 | # Create the package config, drop it in package.conf.d for the current 69 | # GHC version and run ghc-pkg recache. 70 | # Do not use the Setup register --gen-script and Setup unregister 71 | # --gen-script method to generate scripts and call them during 72 | # activation. It previously caused a mess that was hard to clean up, 73 | # especially since ghc-pkg is pretty stubborn in removing packages when 74 | # there are still dependencies left. 75 | 76 | set package_conf_d ${prefix}/lib/ghc-${compiler_config(version)}/package.conf.d/ 77 | set generate_pkg_config_cmdline [list \ 78 | ${configure.cmd} Setup register \ 79 | --gen-pkg-config=${package}-${version}.conf] 80 | set generate_pkg_config_hook [subst { 81 | xinstall -d -m 0755 [list ${destroot}${package_conf_d}] 82 | system -W [list ${worksrcpath}] [list $generate_pkg_config_cmdline] 83 | xinstall -m 0644 [list ${worksrcpath}/${package}-${version}.conf] \ 84 | [list ${destroot}${package_conf_d}] 85 | }] 86 | post-destroot $generate_pkg_config_hook 87 | 88 | set ghc_pkg_recache [list [subst ${compiler_config(ghc-pkg)}] recache -v] 89 | set ghc_pkg_recache_hook [subst { 90 | system [list $ghc_pkg_recache] 91 | }] 92 | post-activate $ghc_pkg_recache_hook 93 | post-deactivate $ghc_pkg_recache_hook 94 | } 95 | 96 | set ghc_pkg_list [list [subst ${compiler_config(ghc-pkg)}] list] 97 | set ghc_pkg_check [list [subst ${compiler_config(ghc-pkg)}] check] 98 | 99 | pre-configure [subst { 100 | global ports_trace 101 | 102 | ui_debug "Listing installed haskell packages" 103 | catch {system [list $ghc_pkg_list]} 104 | 105 | if [list {![tbool ports_trace]}] { 106 | ui_debug "Running ghc-pkg check" 107 | catch {system [list $ghc_pkg_check]} 108 | } else { 109 | ui_debug "Skipping ghc-pkg check because it generates wrong results in trace mode" 110 | } 111 | }] 112 | 113 | if {${target} eq "standalone"} { 114 | livecheck.type regex 115 | livecheck.url https://hackage.haskell.org/package/${package} 116 | livecheck.regex "/package/[quotemeta ${package}]-\[^/\]+/[quotemeta ${package}]-(\[^\"\]+)[quotemeta ${extract.suffix}]" 117 | } else { 118 | # Disable livecheck for haskell platform ports 119 | livecheck.type none 120 | } 121 | 122 | universal_variant no 123 | } 124 | -------------------------------------------------------------------------------- /_resources/port1.0/group/apache2-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | 3 | # 4 | # values to be used in eg configuration files 5 | # 6 | options apache2.prefix 7 | default apache2.prefix {${prefix}} 8 | options apache2.exec_prefix 9 | default apache2.exec_prefix {${apache2.prefix}} 10 | options apache2.name 11 | default apache2.name {${name}} 12 | options apache2.exec_name 13 | default apache2.exec_name httpd 14 | options apache2.bindir 15 | default apache2.bindir {${apache2.exec_prefix}/bin} 16 | options apache2.sbindir 17 | default apache2.sbindir {${apache2.exec_prefix}/sbin} 18 | options apache2.libdir 19 | default apache2.libdir {${apache2.exec_prefix}/lib/${apache2.name}} 20 | options apache2.libexecdir 21 | default apache2.libexecdir {${apache2.libdir}/modules} 22 | options apache2.mandir 23 | default apache2.mandir {${apache2.prefix}/share/${apache2.name}/man} 24 | options apache2.docdir 25 | default apache2.docdir {${apache2.prefix}/share/doc/${apache2.name}} 26 | options apache2.sysconfdir 27 | default apache2.sysconfdir {${apache2.prefix}/etc/${apache2.name}} 28 | options apache2.datadir 29 | default apache2.datadir {${apache2.prefix}/www/${apache2.name}} 30 | options apache2.installbuilddir 31 | default apache2.installbuilddir {${apache2.datadir}/build} 32 | options apache2.errordir 33 | default apache2.errordir {${apache2.datadir}/error} 34 | options apache2.iconsdir 35 | default apache2.iconsdir {${apache2.datadir}/icons} 36 | options apache2.htdocsdir 37 | default apache2.htdocsdir {${apache2.datadir}/html} 38 | options apache2.manualdir 39 | default apache2.manualdir {${apache2.datadir}/manual} 40 | options apache2.cgidir 41 | default apache2.cgidir {${apache2.datadir}/cgi-bin} 42 | options apache2.includedir 43 | default apache2.includedir {${apache2.prefix}/include/${apache2.name}} 44 | options apache2.localstatedir 45 | default apache2.localstatedir {${apache2.prefix}/var} 46 | options apache2.runtimedir 47 | default apache2.runtimedir {${apache2.localstatedir}/run/${apache2.name}} 48 | options apache2.logfiledir 49 | default apache2.logfiledir {${apache2.localstatedir}/log/${apache2.name}} 50 | options apache2.proxycachedir 51 | default apache2.proxycachedir {${apache2.localstatedir}/tmp/${apache2.name}} 52 | 53 | options apache2.user 54 | default apache2.user _www 55 | options apache2.group 56 | default apache2.group _www 57 | 58 | # General settings 59 | options apache2.listen_ports 60 | default apache2.listen_ports "80 443" 61 | options apache2.contact 62 | default apache2.contact ops@example.com 63 | options apache2.timeout 64 | default apache2.timeout 300 65 | options apache2.keepalive 66 | default apache2.keepalive On 67 | options apache2.keepaliverequests 68 | default apache2.keepaliverequests 100 69 | options apache2.keepalivetimeout 70 | default apache2.keepalivetimeout 5 71 | 72 | # Security 73 | options apache2.servertokens 74 | default apache2.servertokens Prod 75 | options apache2.serversignature 76 | default apache2.serversignature On 77 | options apache2.traceenable 78 | default apache2.traceenable On 79 | 80 | # mod_auth_openids 81 | options apache2.allowed_openids 82 | default apache2.allowed_openids {} 83 | 84 | # Prefork Attributes 85 | options apache2.prefork.startservers 86 | default apache2.prefork.startservers 16 87 | options apache2.prefork.minspareservers 88 | default apache2.prefork.minspareservers 16 89 | options apache2.prefork.maxspareservers 90 | default apache2.prefork.maxspareservers 32 91 | options apache2.prefork.serverlimit 92 | default apache2.prefork.serverlimit 400 93 | options apache2.prefork.maxclients 94 | default apache2.prefork.maxclients 400 95 | options apache2.prefork.threadsperchild 96 | default apache2.prefork.threadsperchild 10000 97 | 98 | # Worker Attributes 99 | options apache2.worker.startservers 100 | default apache2.worker.startservers 4 101 | options apache2.worker.maxclients 102 | default apache2.worker.maxclients 1024 103 | options apache2.worker.minsparethreads 104 | default apache2.worker.minsparethreads 64 105 | options apache2.worker.maxsparethreads 106 | default apache2.worker.maxsparethreads 192 107 | options apache2.worker.threadsperchild 108 | default apache2.worker.threadsperchild 64 109 | 110 | # Default modules to enable via include_recipe 111 | 112 | set apache_default_modules(enmod) {} 113 | set apache_default_modules(dismod) {} 114 | 115 | # 116 | # mimics installation via apxs, but under Debian/Ubuntu layout 117 | # which renders apxs useless for activating modules 118 | # has been made simpler as we always starts with a clean slate 119 | # 120 | # expanded functionality compared to apxs: 121 | # ++ optionally installs dylibs 122 | # 123 | proc apxsInstall { moduleName activate dylibs } { 124 | global apache2 destroot prefix 125 | 126 | xinstall -m 0755 -d -W ${destroot}${apache2.sysconfdir} \ 127 | mods-available mods-enabled 128 | 129 | # strip pre-/suffix from moduleName 130 | set moduleName [regsub {_module} ${moduleName} "" ] 131 | set moduleName [regsub {mod_} ${moduleName} "" ] 132 | 133 | set loadFileName ${apache2.sysconfdir}/mods-available/${moduleName}.load 134 | set loadFile [open ${loadFileName} w 644] 135 | 136 | foreach libName ${dylibs} { 137 | set dylibFile [ exec find ${prefix}/lib -type f -iname "lib${libName}*.dylib" ] 138 | puts ${loadFile} "LoadFile ${dylibFile}" 139 | } 140 | 141 | puts ${loadFile} "LoadModule ${moduleName}_module ${apache2.libexecdir}/mod_${moduleName}.so" 142 | 143 | close ${loadFile} 144 | 145 | if { ${activate} == "yes" } { 146 | exec "${apache2.sbindir}/a2enmod" ${moduleName} 147 | } 148 | } 149 | -------------------------------------------------------------------------------- /_resources/port1.0/group/kde4-1.1.tcl: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4 2 | # 3 | # Usage: 4 | # PortGroup kde4 1.1 5 | 6 | # Use CMake and Qt4 port groups 7 | PortGroup cmake 1.0 8 | PortGroup qt4 1.0 9 | 10 | # Make sure to not use any already installed headers and libraries; 11 | # these are set in CPATH and LIBRARY_PATH anyway. 12 | configure.ldflags-delete -L${prefix}/lib 13 | configure.cppflags-delete -I${prefix}/include 14 | 15 | # setup all KDE4 ports to build in a separate directory from the source: 16 | cmake.out_of_source yes 17 | 18 | # Automoc added as build dependency here as most, if not all kde 19 | # programs currently need it. The automoc port, which includes this 20 | # PortGroup overrides depends_build, removing "port:automoc" to 21 | # prevent a cyclic dependency 22 | depends_build-append port:automoc 23 | 24 | # Phonon added as library dependency here as most, if not all KDE 25 | # programs current need it. The phonon port, which includes this 26 | # PortGroup overrides depends_lib, removing "port:phonon" to prevent a 27 | # cyclic dependency 28 | depends_lib-append port:phonon 29 | 30 | # set compiler to Apple's GCC 4.2 31 | switch ${os.platform}_${os.major} { 32 | darwin_8 { 33 | configure.compiler apple-gcc-4.2 34 | } 35 | darwin_9 { 36 | configure.compiler gcc-4.2 37 | } 38 | } 39 | 40 | # Install the kdelibs headerfiles in their own directory to prevent clashes with KF5 headers 41 | set kde4.include_prefix KDE4 42 | set kde4.include_dirs ${prefix}/include/${kde4.include_prefix} 43 | set kde4.cmake_module_dir \ 44 | ${prefix}/lib/cmake/${kde4.include_prefix} 45 | 46 | set kde4.mirror https://download.kde.org/Attic/ 47 | 48 | # augment the CMake module lookup path, if necessary depending on 49 | # where Qt4 is installed. 50 | if {${qt_cmake_module_dir} ne ${cmake_share_module_dir}} { 51 | set cmake_module_path ${kde4.cmake_module_dir}\;${cmake_share_module_dir}\;${qt_cmake_module_dir} 52 | } else { 53 | # prepend our own (new) install location for cmake modules: 54 | set cmake_module_path ${kde4.cmake_module_dir}\;${cmake_share_module_dir} 55 | } 56 | configure.args-delete -DCMAKE_MODULE_PATH=${cmake_share_module_dir} 57 | configure.args-append -DCMAKE_MODULE_PATH="${cmake_module_path}" \ 58 | -DCMAKE_PREFIX_PATH="${cmake_module_path}" 59 | 60 | 61 | # standard configure args; virtually all KDE ports use CMake and Qt4. 62 | configure.args-append -DBUILD_doc=OFF \ 63 | -DBUILD_docs=OFF \ 64 | -DBUILD_SHARED_LIBS=ON \ 65 | -DBUNDLE_INSTALL_DIR=${applications_dir}/KDE4 \ 66 | -DKDE_DISTRIBUTION_TEXT=\"MacPorts\/Mac OS X\" \ 67 | ${qt_cmake_defines} 68 | 69 | # explicitly define certain headers and libraries, to avoid 70 | # conflicts with those installed into system paths by the user. 71 | configure.args-append -DDOCBOOKXSL_DIR=${prefix}/share/xsl/docbook-xsl-nons \ 72 | -DGETTEXT_INCLUDE_DIR=${prefix}/include \ 73 | -DGETTEXT_LIBRARY=${prefix}/lib/libgettextlib.dylib \ 74 | -DGIF_INCLUDE_DIR=${prefix}/include \ 75 | -DGIF_LIBRARY=${prefix}/lib/libgif.dylib \ 76 | -DJASPER_INCLUDE_DIR=${prefix}/include \ 77 | -DJASPER_LIBRARY=${prefix}/lib/libjasper.dylib \ 78 | -DJPEG_INCLUDE_DIR=${prefix}/include \ 79 | -DJPEG_LIBRARY=${prefix}/lib/libjpeg.dylib \ 80 | -DLBER_LIBRARIES=${prefix}/lib/liblber.dylib \ 81 | -DLDAP_INCLUDE_DIR=${prefix}/include \ 82 | -DLDAP_LIBRARIES=${prefix}/lib/libldap.dylib \ 83 | -DLIBEXSLT_INCLUDE_DIR=${prefix}/include \ 84 | -DLIBEXSLT_LIBRARIES=${prefix}/lib/libexslt.dylib \ 85 | -DLIBICALSS_LIBRARY=${prefix}/lib/libicalss.dylib \ 86 | -DLIBICAL_INCLUDE_DIRS=${prefix}/include \ 87 | -DLIBICAL_LIBRARY=${prefix}/lib/libical.dylib \ 88 | -DLIBINTL_INCLUDE_DIR=${prefix}/include \ 89 | -DLIBINTL_LIBRARY=${prefix}/lib/libintl.dylib \ 90 | -DLIBXML2_INCLUDE_DIR=${prefix}/include/libxml2 \ 91 | -DLIBXML2_LIBRARIES=${prefix}/lib/libxml2.dylib \ 92 | -DLIBXML2_XMLLINT_EXECUTABLE=${prefix}/bin/xmllint \ 93 | -DLIBXSLT_INCLUDE_DIR=${prefix}/include \ 94 | -DLIBXSLT_LIBRARIES=${prefix}/lib/libxslt.dylib \ 95 | -DPNG_INCLUDE_DIR=${prefix}/include \ 96 | -DPNG_PNG_INCLUDE_DIR=${prefix}/include \ 97 | -DPNG_LIBRARY=${prefix}/lib/libpng.dylib \ 98 | -DTIFF_INCLUDE_DIR=${prefix}/include \ 99 | -DTIFF_LIBRARY=${prefix}/lib/libtiff.dylib 100 | 101 | # These two can be removed (see #46240): 102 | # -DQCA2_INCLUDE_DIR=${prefix}/include/QtCrypto \ 103 | # -DQCA2_LIBRARIES=${prefix}/lib/libqca.dylib \ 104 | # These ones are obsolete, as purely based on mysql5 paths (see #49296): 105 | # -DMYSQLD_EXECUTABLE=${prefix}/libexec/mysqld \ 106 | # -DMYSQL_INCLUDE_DIR=${prefix}/include/mysql5/mysql \ 107 | # -DMYSQL_LIB_DIR=${prefix}/lib/mysql5/mysql \ 108 | # -DMYSQLCONFIG_EXECUTABLE=${prefix}/bin/mysql_config5 \ 109 | 110 | # standard variant for building documentation 111 | variant docs description "Build documentation" { 112 | depends_build-append path:bin/doxygen:doxygen 113 | configure.args-delete -DBUILD_doc=OFF -DBUILD_docs=OFF 114 | } 115 | 116 | notes " 117 | Don't forget that dbus needs to be started as the local\ 118 | user (not with sudo) before any KDE programs will launch. 119 | To start it run the following command: 120 | launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist 121 | " 122 | -------------------------------------------------------------------------------- /_resources/port1.0/group/tests/ruby-1.0.tcl: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This test needs macports to be installed to work 3 | # start as tcl \ 4 | exec tclsh "$0" "$@" 5 | 6 | set prefix [file dirname [file dirname [exec which port]]] 7 | set os.platform i686-darwin 8 | 9 | # mock the commands the ruby group uses 10 | proc name p0 { 11 | global name.found 12 | set name.found $p0 13 | } 14 | proc version p0 { 15 | global version.found 16 | set version.found $p0 17 | } 18 | proc categories p0 {} 19 | proc distname p0 {} 20 | proc dist_subdir p0 {} 21 | proc depends_lib p0 { 22 | global depends_lib.found 23 | set depends_lib.found $p0 24 | } 25 | proc post-extract p0 {} 26 | proc configure.cmd {p0 p1 p2} {} 27 | proc configure.pre_args p0 {} 28 | proc build.target p0 { 29 | global build.target.found 30 | set build.target.found $p0 31 | } 32 | proc build.cmd {p0 p1 p2} {} 33 | proc pre-destroot p0 {} 34 | proc destroot.cmd {p0 p1 p2} {} 35 | proc destroot.target p0 {} 36 | proc destroot.destdir {} {} 37 | proc post-destroot p0 {} 38 | 39 | proc use_configure p0 {} 40 | proc extract.suffix p0 {} 41 | proc depends_lib-append p0 {} 42 | proc extract p0 {} 43 | proc build p0 {} 44 | proc destroot p0 {} 45 | 46 | # directory which contains test file 47 | set testdir [file dirname ${argv0}] 48 | 49 | namespace eval tests { 50 | # Backwards compatible behaviour, assumes ruby1.8 51 | proc test_rubysetup_ruby18_default {} { 52 | global prefix 53 | global ruby.bin 54 | global ruby.version 55 | global ruby.module 56 | global ruby.project 57 | global ruby.filename 58 | global ruby.docs 59 | global ruby.lib ruby.archlib 60 | 61 | global build.target.found 62 | global name.found 63 | global version.found 64 | global depends_lib.found 65 | 66 | ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL} 67 | 68 | if {![file exists ${ruby.bin}]} { return } 69 | if {"1.8" ne ${ruby.version}} { error "ruby.version failed: ${ruby.version}" } 70 | if {"test_module" ne ${ruby.module}} { error "ruby.module failed" } 71 | if {"tmod" ne ${ruby.project}} { error "ruby.project failed" } 72 | if {"tmod" ne ${ruby.filename}} { error "ruby.filename failed" } 73 | if {{README INSTALL} ne ${ruby.docs}} { error "ruby.docs failed"} 74 | if {"setup" ne ${build.target.found}} { error "type-derived field build.target failed: ${build.target.found}"} 75 | if {"rb-test_module" ne ${name.found}} { error "drived name failed: ${name.found}" } 76 | if {"9.9" ne ${version.found}} { error "port version set failed" } 77 | if {"port:ruby" ne ${depends_lib.found}} { error "depends_lib failed: ${depends_lib.found}" } 78 | 79 | if {"${prefix}/lib/ruby/vendor_ruby/1.8" ne ${ruby.lib}} { error "ruby.lib failed: ${ruby.lib}" } 80 | if {!(0 == [string first "${prefix}/lib/ruby/vendor_ruby/1.8/i686-darwin" ${ruby.archlib}])} { error "ruby.archlib failed: ${ruby.archlib}" } 81 | } 82 | 83 | proc test_rubysetup_type_gem {} { 84 | if {[catch {ruby.setup {test_module tmod} 9.9 gem {README INSTALL}}]} { 85 | error "gem type port fails" 86 | } 87 | } 88 | 89 | proc test_rubysetup_ruby19 {} { 90 | global prefix 91 | global ruby.version 92 | global ruby.module 93 | global ruby.project 94 | global ruby.filename 95 | global ruby.bin 96 | global ruby.docs 97 | global ruby.lib ruby.archlib 98 | 99 | global build.target.found 100 | global name.found 101 | global version.found 102 | global depends_lib.found 103 | 104 | ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL} custom ruby19 105 | 106 | # changed prefix 107 | if {![file exists ${ruby.bin}]} { return } 108 | if {![string equal "1.9.0" ${ruby.version}]} { error "ruby.version failed: '${ruby.version}'" } 109 | if {![string equal "rb19-test_module" ${name.found}]} { error "drived name failed: ${name.found}" } 110 | 111 | if {![string equal "test_module" ${ruby.module}]} { error "ruby.module failed" } 112 | if {![string equal "tmod" ${ruby.project}]} { error "ruby.project failed" } 113 | if {![string equal "tmod" ${ruby.filename}]} { error "ruby.filename failed" } 114 | if {![string equal {README INSTALL} ${ruby.docs}]} { error "ruby.docs failed"} 115 | if {![string equal "setup" ${build.target.found}]} { error "type-derived field failed: ${build.target.found}"} 116 | if {![string equal "9.9" ${version.found}]} { error "port version set failed" } 117 | if {![string equal "port:ruby19" ${depends_lib.found}]} { error "depends_lib failed: ${depends_lib.found}" } 118 | 119 | if {![string equal "${prefix}/lib/ruby/vendor_ruby/1.9.0" ${ruby.lib}]} { error "ruby.lib failed: ${ruby.lib}" } 120 | if {!(0 == [string first "${prefix}/lib/ruby/vendor_ruby/1.9.0/i686-darwin" ${ruby.archlib}])} { error "ruby.archlib failed: ${ruby.archlib}" } 121 | } 122 | 123 | proc test_setup_implementation_specifics {} { 124 | if {![catch {ruby.setup {test_module tmod} 9.9 setup.rb {README INSTALL} custom "rubz"}]} { 125 | error "wrong implementation name signals error" 126 | } 127 | } 128 | 129 | proc test_variables_exported_without_rubysetup_call {} { 130 | global prefix 131 | global ruby.bin ruby.rdoc ruby.gem 132 | global ruby.version ruby.arch ruby.lib ruby.archlib 133 | if {"${prefix}/bin/ruby" ne ${ruby.bin}} { error "variable ruby.bin missing" } 134 | if {"${prefix}/bin/rdoc" ne ${ruby.rdoc}} { error "variable ruby.rdoc missing" } 135 | if {"${prefix}/bin/gem" ne ${ruby.gem}} { error "variable ruby.gem missing" } 136 | if {"1.8" ne ${ruby.version}} { error "variable ruby.version missing" } 137 | if {"" eq ${ruby.arch}} { error "variable ruby.arch missing" } 138 | if {"${prefix}/lib/ruby/vendor_ruby/1.8" ne ${ruby.lib}} { error "variable ruby.lib missing" } 139 | if {"" eq ${ruby.archlib}} { error "variable ruby.archlib missing" } 140 | } 141 | 142 | # run all tests 143 | if {![file executable $prefix/bin/ruby]} { 144 | puts "WARNING: No ruby found, can't run ruby port group tests without installed ruby port; skipping." 145 | } else { 146 | foreach test [info procs test_*] { 147 | # evaluate port group file in global context 148 | # to reset global variables 149 | uplevel {source "${testdir}/../ruby-1.0.tcl"} 150 | $test 151 | } 152 | } 153 | } 154 | -------------------------------------------------------------------------------- /_resources/port1.0/group/github-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup accommodates projects hosted at GitHub. 4 | # 5 | # Documentation: 6 | # https://guide.macports.org/#reference.portgroup.github 7 | # 8 | # Documentation (sources): 9 | # https://github.com/macports/macports-guide/blob/master/guide/xml/portgroup-github.xml 10 | 11 | options github.author github.project github.version github.tag_prefix github.tag_suffix 12 | 13 | options github.homepage 14 | default github.homepage {https://github.com/${github.author}/${github.project}} 15 | 16 | options github.raw 17 | default github.raw {https://raw.githubusercontent.com/${github.author}/${github.project}} 18 | 19 | # Later code assumes that github.master_sites is a simple string, not a list. 20 | options github.master_sites 21 | default github.master_sites {${github.homepage}/tarball/${git.branch}} 22 | 23 | options github.tarball_from 24 | default github.tarball_from tarball 25 | option_proc github.tarball_from handle_tarball_from 26 | proc handle_tarball_from {option action args} { 27 | global github.author github.project github.master_sites git.branch github.homepage 28 | 29 | if {${action} eq "set"} { 30 | github.tarball_from ${args} 31 | switch ${args} { 32 | downloads { 33 | github.master_sites https://github.com/downloads/${github.author}/${github.project} 34 | } 35 | releases { 36 | github.master_sites ${github.homepage}/releases/download/${git.branch} 37 | } 38 | archive { 39 | github.master_sites ${github.homepage}/archive/${git.branch} 40 | } 41 | tarball { 42 | github.master_sites ${github.homepage}/tarball/${git.branch} 43 | } 44 | tags { 45 | return -code error "the value \"tags\" is deprecated for github.tarball_from. Please use \"tarball\" instead." 46 | } 47 | default { 48 | return -code error "invalid value \"${args}\" for github.tarball_from" 49 | } 50 | } 51 | } 52 | } 53 | 54 | options github.livecheck.branch 55 | default github.livecheck.branch master 56 | 57 | options github.livecheck.regex 58 | default github.livecheck.regex {(\[^"]+)} 59 | 60 | proc github.setup {gh_author gh_project gh_version {gh_tag_prefix ""} {gh_tag_suffix ""}} { 61 | global extract.suffix github.author github.project github.version github.tag_prefix github.tag_suffix 62 | global github.homepage github.master_sites github.livecheck.branch PortInfo 63 | 64 | github.author ${gh_author} 65 | github.project ${gh_project} 66 | github.version ${gh_version} 67 | github.tag_prefix ${gh_tag_prefix} 68 | github.tag_suffix ${gh_tag_suffix} 69 | 70 | if {!([info exists PortInfo(name)] && (${PortInfo(name)} ne ${github.project}))} { 71 | name ${github.project} 72 | } 73 | 74 | version ${github.version} 75 | default homepage ${github.homepage} 76 | git.url ${github.homepage}.git 77 | git.branch [join ${github.tag_prefix}]${github.version}[join ${github.tag_suffix}] 78 | default master_sites {${github.master_sites}} 79 | distname ${github.project}-${github.version} 80 | 81 | post-extract { 82 | # When fetching from a tag, the extracted directory name will contain a 83 | # truncated commit hash. So that the port author need not specify what 84 | # that hash is every time the version number changes, rename the 85 | # directory to the value of distname (not worksrcdir: ports may want to 86 | # set worksrcdir to a subdirectory of the extracted directory). 87 | # It is assumed that github.master_sites is a simple string, not a list. 88 | # Here be dragons. 89 | if {![file exists ${worksrcpath}] && \ 90 | ${fetch.type} eq "standard" && \ 91 | ${github.master_sites} in ${master_sites} && \ 92 | [llength ${distfiles}] > 0 && \ 93 | [llength [glob -nocomplain ${workpath}/*]] > 0} { 94 | if {[file exists [glob -nocomplain ${workpath}/${github.author}-${github.project}-*]] && \ 95 | [file isdirectory [glob -nocomplain ${workpath}/${github.author}-${github.project}-*]]} { 96 | move [glob ${workpath}/${github.author}-${github.project}-*] ${workpath}/${distname} 97 | } else { 98 | # tarball is not "${github.author}-${github.project}-*" 99 | ui_error "\n\ngithub PortGroup: Error: \${worksrcpath} does not exist after extracting distfiles. This might indicate that the author or project is different than set in the Portfile due to a rename at GitHub. Please examine the extracted directory in ${workpath} and try to correct the Portfile by either changing the author or project or adding the worksrcdir option with the correct directory name.\n" 100 | return -code error "Unexpected github tarball extract." 101 | } 102 | } 103 | } 104 | 105 | # If the version is composed entirely of hex characters, and is at least 7 106 | # characters long, and is not exactly 8 decimal digits (which might be a 107 | # version in YYYYMMDD format), and no tag prefix or suffix is provided, then 108 | # assume we are using a commit hash and livecheck commits; otherwise 109 | # livecheck tags. 110 | if {[join ${github.tag_prefix}] eq "" && \ 111 | [join ${github.tag_suffix}] eq "" && \ 112 | [regexp "^\[0-9a-f\]{7,}\$" ${github.version}] && \ 113 | ![regexp "^\[0-9\]{8}\$" ${github.version}]} { 114 | livecheck.type regexm 115 | default livecheck.url {${github.homepage}/commits/${github.livecheck.branch}.atom} 116 | livecheck.regex tag:github.com,2008:Grit::Commit/(\[0-9a-f\]{[string length ${github.version}]})\[0-9a-f\]* 117 | } else { 118 | livecheck.type regex 119 | livecheck.url ${github.homepage}/tags 120 | default livecheck.regex {[list archive/[join ${github.tag_prefix}][join ${github.livecheck.regex}][join ${github.tag_suffix}]\\.tar\\.gz]} 121 | } 122 | livecheck.version ${github.version} 123 | } 124 | -------------------------------------------------------------------------------- /_resources/port1.0/group/crossbinutils-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This PortGroup automatically sets all the fields of the various cross binutils 4 | # ports (e.g. spu-binutils). 5 | # 6 | # Usage: 7 | # 8 | # PortGroup crossbinutils 1.0 9 | # crossbinutils.setup spu 2.27 10 | 11 | options crossbinutils.target 12 | 13 | array set crossbinutils.versions_info { 14 | 2.26 {bzip2 { 15 | rmd160 ce0400ffcc1200280854fefb29f97b63507bad14 \ 16 | sha256 c2ace41809542f5237afc7e3b8f32bb92bc7bc53c6232a84463c423b0714ecd9 \ 17 | size 25543552 18 | }} 19 | 2.30 {xz { 20 | rmd160 7f439bd642e514e89075a47758414ea65c50c3b3 \ 21 | sha256 6e46b8aeae2f727a36f0bd9505e405768a72218f1796f0d09757d45209871ae6 \ 22 | size 20286700 23 | }} 24 | 2.31 {xz { 25 | rmd160 cc4eece9d281ca10511e0618fac1f6ddbd9b42df \ 26 | sha256 231036df7ef02049cdbff0681f4575e571f26ea8086cf70c2dcd3b6c0f4216bf \ 27 | size 20445772 28 | }} 29 | 2.31.1 {xz { 30 | rmd160 9eeff67d0ae96bfb1bd1db20991b90166d5b15c5 \ 31 | sha256 5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86 \ 32 | size 20467996 33 | }} 34 | 2.32 {xz { 35 | rmd160 cfff50aae6534512a51fbb720e30f37484f8193e \ 36 | sha256 0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04 \ 37 | size 20774880 38 | }} 39 | 2.33.1 {xz { 40 | rmd160 f621e04d98d257acbc1f82a4043e565cf91207b4 \ 41 | sha256 ab66fc2d1c3ec0359b8e08843c9f33b63e8707efdff5e4cc5c200eae24722cbf \ 42 | size 21490848 43 | }} 44 | 2.34 {xz { 45 | rmd160 8ee249f7c98c925ef650eaca3b4d1710d75be4e7 \ 46 | sha256 f00b0e8803dc9bab1e2165bd568528135be734df3fabf8d0161828cd56028952 \ 47 | size 21637796 48 | }} 49 | } 50 | 51 | proc crossbinutils.setup {target version} { 52 | global master_sites workpath worksrcpath extract.suffix prefix crossbinutils.target crossbinutils.versions_info 53 | 54 | crossbinutils.target ${target} 55 | 56 | name ${target}-binutils 57 | version ${version} 58 | categories cross devel 59 | platforms darwin 60 | license GPL-3+ 61 | maintainers nomaintainer 62 | 63 | description FSF Binutils for ${target} cross development 64 | long_description \ 65 | Free Software Foundation development toolchain ("binutils") for \ 66 | ${target} cross development. 67 | 68 | homepage https://www.gnu.org/software/binutils/binutils.html 69 | master_sites gnu:binutils \ 70 | http://mirrors.ibiblio.org/gnu/ftp/gnu/binutils/ 71 | dist_subdir binutils 72 | distname binutils-${version} 73 | worksrcdir binutils-[string trimright ${version} {[a-zA-Z]}] 74 | 75 | if {[info exists crossbinutils.versions_info($version)]} { 76 | use_[lindex [set crossbinutils.versions_info($version)] 0] yes 77 | 78 | checksums binutils-${version}${extract.suffix} {*}[lindex [set crossbinutils.versions_info($version)] 1] 79 | } else { 80 | # the old default 81 | use_bzip2 yes 82 | #use_xz yes 83 | } 84 | 85 | post-extract { 86 | delete ${worksrcpath}/etc 87 | file mkdir ${workpath}/build 88 | } 89 | 90 | post-patch { 91 | set infopages { 92 | gas/doc as 93 | bfd/doc bfd 94 | binutils/doc binutils 95 | gprof gprof 96 | ld ld 97 | } 98 | 99 | foreach {dir page} ${infopages} { 100 | # Fix texinfo source file 101 | set tex [glob -directory ${worksrcpath}/${dir} ${page}.texi*] 102 | reinplace -q \ 103 | /setfilename/s/${page}/${crossbinutils.target}-${page}/ ${tex} 104 | reinplace -q s/(${page})/(${crossbinutils.target}-${page})/g ${tex} 105 | reinplace -q \ 106 | "s/@file{${page}}/@file{${crossbinutils.target}-${page}}/g" \ 107 | ${tex} 108 | move ${tex} \ 109 | ${worksrcpath}/${dir}/${crossbinutils.target}-${page}[file extension ${tex}] 110 | 111 | # Fix Makefile 112 | reinplace -q -E \ 113 | s/\[\[:<:\]\]${page}\\.(info|texi)/${crossbinutils.target}-&/g \ 114 | ${worksrcpath}/${dir}/Makefile.in 115 | } 116 | 117 | # Fix packages' names. 118 | foreach dir {bfd binutils gas gold gprof ld opcodes} { 119 | reinplace -q "/^ PACKAGE=/s/=.*/=${crossbinutils.target}-${dir}/" \ 120 | ${worksrcpath}/${dir}/configure 121 | } 122 | 123 | # Install target-compatible libbfd/libiberty in the target's directory 124 | reinplace -q "s|bfdlibdir=.*|bfdlibdir='${prefix}/${crossbinutils.target}/host/lib'|g" \ 125 | ${worksrcpath}/bfd/configure \ 126 | ${worksrcpath}/opcodes/configure 127 | reinplace -q "s|bfdincludedir=.*|bfdincludedir='${prefix}/${crossbinutils.target}/host/include'|g" \ 128 | ${worksrcpath}/bfd/configure \ 129 | ${worksrcpath}/opcodes/configure 130 | 131 | reinplace -q "s|\$(libdir)|\"${prefix}/${crossbinutils.target}/host/lib\"|g" \ 132 | ${worksrcpath}/libiberty/Makefile.in 133 | reinplace -q "s|/\$(MULTIOSDIR)||g" \ 134 | ${worksrcpath}/libiberty/Makefile.in 135 | } 136 | 137 | depends_lib \ 138 | port:gettext \ 139 | port:zlib 140 | 141 | configure.dir ${workpath}/build 142 | configure.cmd ${worksrcpath}/configure 143 | 144 | configure.ldflags-append \ 145 | -lintl 146 | 147 | configure.args \ 148 | --target=${target} \ 149 | --program-prefix=${target}- \ 150 | --enable-install-libiberty=${prefix}/${crossbinutils.target}/host 151 | 152 | build.dir ${workpath}/build 153 | 154 | destroot.violate_mtree yes 155 | 156 | post-destroot { 157 | set docdir ${prefix}/share/doc/${name} 158 | xinstall -d ${destroot}${docdir} 159 | xinstall -m 0644 \ 160 | {*}[glob -type f ${worksrcpath}/{COPYING*,ChangeLog,MAINTAINERS,README*}] \ 161 | ${destroot}${docdir} 162 | } 163 | 164 | universal_variant no 165 | 166 | livecheck.type regex 167 | livecheck.url [lindex ${master_sites} 1] 168 | livecheck.regex "binutils-((?!.*binutils.*|\\${extract.suffix}).*)\\${extract.suffix}" 169 | } 170 | -------------------------------------------------------------------------------- /_resources/port1.0/group/gnustep-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | 3 | # 4 | # Group code for GNUstep ports. 5 | # 6 | 7 | # 8 | # Overview of gnustep 1.0 PortGroup : 9 | # 10 | 11 | # 12 | # default categories gnustep 13 | # default homepage http://www.gnustep.org/ 14 | # default master_sites gnustep:core 15 | # default depends_lib port:gnustep-core 16 | # 17 | # array set gnustep.post_flags Apple CC two-level namespaces requires all 18 | # symbols to be resolved at link time, 19 | # so most of the patches are just that. 20 | # Setting the gnustep.post_flags array makes this 21 | # simple beyond common understanding ! 22 | # ex: 23 | # platform darwin { 24 | # array set gnustep.post_flags { 25 | # BundleSubDir "-lfoo -lbar" 26 | # } 27 | # } 28 | # 29 | # 30 | # proc set_gnustep_make Sets GNUSTEP_MAKEFILES 31 | # according to the FilesystemLayout 32 | # 33 | # proc set_gnustep_env Sets DYLD_LIBRARY_PATH and PATH 34 | # for the gnustep FilesystemLayout 35 | # 36 | # 37 | # default gnustep.cc CC=gcc-mp-4.2 38 | # 39 | # default use_configure no 40 | # default configure.env Sets the environment for the gnustep FilesystemLayout 41 | # configure.pre_args-append ${gnustep.cc} [set_gnustep_make]" 42 | # 43 | # default build.env {[set_gnustep_env]} 44 | # default build.type gnu 45 | # build.pre_args-append "messages=yes [set_gnustep_make]" 46 | # 47 | # default destroot.env {[set_gnustep_env]} 48 | # destroot.pre_args-append "messages=yes [set_gnustep_make] [set_gnustep_domain]" 49 | # 50 | # variant with_docs Most GNUstep programs providing documentation 51 | # follow the same pattern 52 | # 53 | 54 | # 55 | # GNUstep utilities 56 | # 57 | 58 | # 59 | # Adds SHARED_LD_POSTFLAGS for Darwin's linker 60 | # 61 | # Sets GNUSTEP_INSTALLATION_DOMAIN for ports using the 62 | # deprecated GNUSTEP_SYSTEM_ROOT variable 63 | # 64 | 65 | array set gnustep.post_flags {} 66 | 67 | post-patch { 68 | foreach {src_subdir post_libs} [array get gnustep.post_flags] { 69 | set fl [ open ${worksrcpath}/$src_subdir/GNUmakefile.preamble a ] 70 | puts $fl "\nSHARED_LD_POSTFLAGS += $post_libs" 71 | close $fl 72 | } 73 | foreach gmf [glob -nocomplain -directory ${worksrcpath} GNUmakefile*] { 74 | reinplace \ 75 | "s|GNUSTEP_INSTALLATION_DIR = \$\(GNUSTEP_SYSTEM_ROOT\)|GNUSTEP_INSTALLATION_DOMAIN=SYSTEM|g" \ 76 | $gmf 77 | } 78 | } 79 | 80 | # 81 | # Returns true (1) if current file layout is gnustep 82 | # Returns false (0) otherwise 83 | # 84 | 85 | proc gnustep_layout {} { 86 | global prefix 87 | 88 | if {[file exists ${prefix}/GNUstep/System/Library/Makefiles]} { 89 | return 1 90 | } 91 | return 0 92 | } 93 | 94 | # 95 | # Sets GNUSTEP_SYSTEM_LIBRARY according to the FilesystemLayout 96 | # 97 | 98 | proc set_system_library {} { 99 | global prefix 100 | 101 | if {[gnustep_layout]} { 102 | return "${prefix}/GNUstep/System/Library" 103 | } 104 | return "${prefix}/lib/GNUstep" 105 | } 106 | 107 | # 108 | # Sets GNUSTEP_LOCAL_LIBRARY according to the FilesystemLayout 109 | # 110 | 111 | proc set_local_library {} { 112 | global prefix 113 | 114 | if {[gnustep_layout]} { 115 | return "${prefix}/GNUstep/Local/Library" 116 | } 117 | return "${prefix}/lib/GNUstep" 118 | } 119 | 120 | # 121 | # Sets GNUSTEP_MAKEFILES according to the FilesystemLayout 122 | # 123 | 124 | proc set_gnustep_make {} { 125 | global prefix 126 | 127 | if {[gnustep_layout]} { 128 | return "GNUSTEP_MAKEFILES=${prefix}/GNUstep/System/Library/Makefiles" 129 | } 130 | return "GNUSTEP_MAKEFILES=${prefix}/share/GNUstep/Makefiles" 131 | } 132 | 133 | # 134 | # Sets DYLD_LIBRARY_PATH and PATH for the gnustep FilesystemLayout 135 | # 136 | 137 | proc set_gnustep_env {} { 138 | global env prefix 139 | 140 | if {[gnustep_layout]} { 141 | return [list "DYLD_LIBRARY_PATH=${prefix}/GNUstep/Local/Library/Libraries:${prefix}/GNUstep/System/Library/Libraries" \ 142 | "PATH=${prefix}/GNUstep/Local/Tools:${prefix}/GNUstep/System/Tools:$env(PATH)"] 143 | } 144 | return [list] 145 | } 146 | 147 | # 148 | # Options this group provides : 149 | # 150 | 151 | options gnustep.cc 152 | default gnustep.cc {CC=${configure.cc}} 153 | 154 | platform darwin 8 { 155 | configure.compiler apple-gcc-4.2 156 | depends_build port:apple-gcc42 157 | } 158 | platform darwin 9 { 159 | configure.compiler gcc-4.2 160 | } 161 | 162 | options system_library 163 | options local_library 164 | default system_library {[set_system_library]} 165 | default local_library {[set_local_library]} 166 | 167 | # 168 | # Default values for this group : 169 | # 170 | 171 | default categories gnustep 172 | default homepage http://www.gnustep.org/ 173 | 174 | default master_sites gnustep:core 175 | default depends_lib port:gnustep-core 176 | 177 | default use_configure no 178 | default configure.env {[set_gnustep_env]} 179 | configure.pre_args-append "${gnustep.cc} [set_gnustep_make]" 180 | 181 | default build.env {[set_gnustep_env]} 182 | default build.type gnu 183 | build.pre_args-append "messages=yes [set_gnustep_make]" 184 | 185 | default destroot.env {[set_gnustep_env]} 186 | default destroot.violate_mtree yes 187 | destroot.pre_args-append "messages=yes [set_gnustep_make]" 188 | 189 | # 190 | # To build and install documentation provided by the port 191 | # 192 | 193 | variant with_docs { 194 | depends_build-append bin:latex2html:latex2html \ 195 | bin:texi2pdf:texinfo \ 196 | bin:texi2html:texi2html \ 197 | bin:pdftex:texlive-basic \ 198 | port:gnustep-base 199 | 200 | post-destroot { 201 | 202 | if {[file exists ${worksrcpath}/Documentation/GNUmakefile]} { 203 | 204 | ui_msg "$UI_PREFIX Making documentation for ${name}" 205 | 206 | _cd ${worksrcpath}/Documentation 207 | system "${destroot.env} ${destroot.cmd} \ 208 | ${destroot.pre_args} ${destroot.destdir}" 209 | 210 | set info_dir \ 211 | ${destroot}${prefix}/GNUstep/System/Library/Documentation/info 212 | if {[file exists ${info_dir}/manual.info]} { 213 | set manual_name [regsub {gnustep-} ${name} ""] 214 | file rename ${info_dir}/manual.info \ 215 | ${info_dir}/${manual_name}-manual.info 216 | } 217 | } 218 | } 219 | } 220 | 221 | 222 | -------------------------------------------------------------------------------- /_resources/port1.0/group/qt4-1.0.tcl: -------------------------------------------------------------------------------- 1 | # -*- 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 2 | # 3 | # This portgroup defines standard settings when using Qt4. 4 | # 5 | # Usage: 6 | # PortGroup qt4 1.0 7 | 8 | # standard Qt4 name 9 | global qt_name 10 | set qt_name qt4 11 | 12 | # standard install directory 13 | global qt_dir 14 | set qt_dir ${prefix}/libexec/qt4 15 | 16 | # standard Qt includes directory 17 | global qt_includes_dir 18 | set qt_includes_dir ${qt_dir}/include 19 | 20 | # standard Qt libraries directory 21 | global qt_libs_dir 22 | set qt_libs_dir ${qt_dir}/lib 23 | 24 | # standard Qt libraries directory 25 | global qt_frameworks_dir 26 | set qt_frameworks_dir ${qt_dir}/Library/Frameworks 27 | 28 | # standard Qt non-.app executables directory 29 | global qt_bins_dir 30 | set qt_bins_dir ${qt_dir}/bin 31 | 32 | # standard Qt .app executables directory, if created 33 | global qt_apps_dir 34 | set qt_apps_dir ${applications_dir}/Qt4 35 | 36 | # standard Qt share directory 37 | global qt_share_dir 38 | set qt_share_dir ${qt_dir}/share 39 | 40 | # standard Qt documents directory 41 | global qt_docs_dir 42 | if {${qt_dir} ne ${prefix}} { 43 | set qt_docs_dir ${qt_share_dir}/doc 44 | } else { 45 | set qt_docs_dir ${qt_share_dir}/doc/${qt_name} 46 | } 47 | 48 | # standard Qt plugins directory 49 | global qt_plugins_dir 50 | if {${qt_dir} ne ${prefix}} { 51 | set qt_plugins_dir ${qt_share_dir}/plugins 52 | } else { 53 | set qt_plugins_dir ${qt_share_dir}/${qt_name}/plugins 54 | } 55 | 56 | # standard Qt mkspecs directory 57 | global qt_mkspecs_dir 58 | if {${qt_dir} ne ${prefix}} { 59 | set qt_mkspecs_dir ${qt_share_dir}/mkspecs 60 | } else { 61 | set qt_mkspecs_dir ${qt_share_dir}/${qt_name}/mkspecs 62 | } 63 | 64 | # standard Qt imports directory 65 | global qt_imports_dir 66 | if {${qt_dir} ne ${prefix}} { 67 | set qt_imports_dir ${qt_share_dir}/imports 68 | } else { 69 | set qt_imports_dir ${qt_share_dir}/${qt_name}/imports 70 | } 71 | 72 | # standard Qt data directory 73 | # Don't append /data. Here be dragons. 74 | global qt_data_dir 75 | if {${qt_dir} ne ${prefix}} { 76 | set qt_data_dir ${qt_share_dir} 77 | } else { 78 | set qt_data_dir ${qt_share_dir}/${qt_name} 79 | } 80 | 81 | # standard Qt translations directory 82 | global qt_translations_dir 83 | if {${qt_dir} ne ${prefix}} { 84 | set qt_translations_dir ${qt_share_dir}/translations 85 | } else { 86 | set qt_translations_dir ${qt_share_dir}/${qt_name}/translations 87 | } 88 | 89 | # standard Qt sysconf directory 90 | global qt_sysconf_dir 91 | if {${qt_dir} ne ${prefix}} { 92 | set qt_sysconf_dir ${qt_share_dir}/sysconf 93 | } else { 94 | set qt_sysconf_dir ${qt_share_dir}/${qt_name}/sysconf 95 | } 96 | 97 | # standard Qt examples directory 98 | global qt_examples_dir 99 | if {${qt_dir} ne ${prefix}} { 100 | set qt_examples_dir ${qt_share_dir}/examples 101 | } else { 102 | set qt_examples_dir ${qt_share_dir}/${qt_name}/examples 103 | } 104 | 105 | # standard Qt demos directory 106 | global qt_demos_dir 107 | if {${qt_dir} ne ${prefix}} { 108 | set qt_demos_dir ${qt_share_dir}/demos 109 | } else { 110 | set qt_demos_dir ${qt_share_dir}/${qt_name}/demos 111 | } 112 | 113 | # standard CMake module directory for Qt-related files 114 | global qt_cmake_module_dir 115 | set qt_cmake_module_dir ${qt_share_dir}/cmake/Modules 116 | 117 | # standard qmake command location 118 | global qt_qmake_cmd 119 | set qt_qmake_cmd ${qt_bins_dir}/qmake 120 | 121 | # standard qmake spec 122 | global qt_qmake_spec 123 | set qt_qmake_spec macx-g++ 124 | 125 | # standard moc command location 126 | global qt_moc_cmd 127 | set qt_moc_cmd ${qt_bins_dir}/moc 128 | 129 | # standard uic command location 130 | global qt_uic_cmd 131 | set qt_uic_cmd ${qt_bins_dir}/uic 132 | 133 | # standard lrelease command location 134 | global qt_lrelease_cmd 135 | set qt_lrelease_cmd ${qt_bins_dir}/lrelease 136 | 137 | # standard lupdate command location 138 | global qt_lupdate_cmd 139 | set qt_lupdate_cmd ${qt_dir}/bin/lupdate 140 | 141 | # standard PKGCONFIG path 142 | global qt_pkg_config_dir 143 | set qt_pkg_config_dir ${qt_libs_dir}/pkgconfig 144 | 145 | # standard cmake info for Qt4 146 | global qt_cmake_defines 147 | set qt_cmake_defines \ 148 | "-DQT_QT_INCLUDE_DIR=${qt_includes_dir} \ 149 | -DQT_QMAKESPEC=${qt_qmake_spec} \ 150 | -DQT_ZLIB_LIBRARY=${prefix}/lib/libz.dylib \ 151 | -DQT_PNG_LIBRARY=${prefix}/lib/libpng.dylib" 152 | 153 | # set Qt understood arch types, based on user preference 154 | options qt_arch_types 155 | default qt_arch_types {[string map {i386 x86} [get_canonical_archs]]} 156 | 157 | # allow for depending on either qt4-mac and qt4-mac-devel, simultaneously 158 | 159 | if {![info exists building_qt4]} { 160 | if {${os.platform} eq "darwin"} { 161 | 162 | # see if the framework install exists, and if so depend on it; 163 | # if not, depend on the library version 164 | 165 | if {[file exists ${qt_frameworks_dir}/QtCore/QtCore]} { 166 | depends_lib-append path:Library/Frameworks/QtCore/QtCore:qt4-mac 167 | } else { 168 | depends_lib-append path:lib/libQtCore.4.dylib:qt4-mac 169 | } 170 | 171 | } else { 172 | return -code error "MacPorts does not support qt4 on platforms other than darwin" 173 | } 174 | } 175 | 176 | # standard configure environment, when not building qt4 177 | 178 | if {![info exists building_qt4]} { 179 | configure.env-append \ 180 | QTDIR=${qt_dir} \ 181 | QMAKE=${qt_qmake_cmd} \ 182 | QMAKESPEC=${qt_qmake_spec} \ 183 | MOC=${qt_moc_cmd} 184 | 185 | # make sure Qt directories are in various paths, if Qt is not 186 | # directly installed into ${prefix} 187 | 188 | if {${qt_dir} ne ${prefix}} { 189 | configure.env-append PATH=${qt_dir}/bin:$env(PATH) 190 | configure.pkg_config_path-append ${qt_pkg_config_dir} 191 | } 192 | } else { 193 | configure.env-append QMAKE_NO_DEFAULTS="" 194 | } 195 | 196 | # standard build environment, when not building qt4 197 | 198 | if {![info exists building_qt4]} { 199 | build.env-append \ 200 | QTDIR=${qt_dir} \ 201 | QMAKE=${qt_qmake_cmd} \ 202 | QMAKESPEC=${qt_qmake_spec} \ 203 | MOC=${qt_moc_cmd} 204 | 205 | # make sure the Qt binaries' directory is in the path, if it is 206 | # not the current prefix 207 | 208 | if {${qt_dir} ne ${prefix}} { 209 | build.env-append PATH=${qt_dir}/bin:$env(PATH) 210 | } 211 | } else { 212 | build.env-append QMAKE_NO_DEFAULTS="" 213 | } 214 | 215 | # use PKGCONFIG for Qt discovery in configure scripts 216 | depends_build-append port:pkgconfig 217 | 218 | # standard destroot environment 219 | 220 | destroot.env-append \ 221 | INSTALL_ROOT=${destroot} \ 222 | DESTDIR=${destroot} 223 | 224 | # standard destroot environment, when not building qt4 225 | 226 | if {![info exists building_qt4]} { 227 | destroot.env-append \ 228 | QTDIR=${qt_dir} \ 229 | QMAKE=${qt_qmake_cmd} \ 230 | QMAKESPEC=${qt_qmake_spec} \ 231 | MOC=${qt_moc_cmd} 232 | 233 | # make sure the Qt binaries' directory is in the path, if it is 234 | # not the current prefix 235 | 236 | if {${qt_dir} ne ${prefix}} { 237 | destroot.env-append PATH=${qt_dir}/bin:$env(PATH) 238 | } 239 | } else { 240 | destroot.env-append QMAKE_NO_DEFAULTS="" 241 | } 242 | --------------------------------------------------------------------------------