# Maintainer: Ariel Abreu # Contributor: James Brink # Contributor: X0rg _gitname=darling pkgbase=$_gitname-git pkgname=( 'darling-git' 'darling-extra-git' 'darling-core-git' 'darling-system-git' 'darling-cli-git' 'darling-ffi-git' 'darling-cli-devenv-git' 'darling-cli-gui-common-git' 'darling-iokitd-git' 'darling-cli-devenv-gui-common-git' 'darling-cli-extra-git' 'darling-gui-git' 'darling-python2-git' 'darling-cli-python2-common-git' 'darling-pyobjc-git' 'darling-ruby-git' 'darling-perl-git' 'darling-jsc-webkit-common-git' 'darling-jsc-git' 'darling-iosurface-git' 'darling-cli-devenv-gui-stubs-common-git' 'darling-gui-stubs-git' ) pkgver=r4178.fe0da1407 pkgrel=1 arch=('x86_64') url="https://www.darlinghq.org" license=('GPL3') makedepends=( # `depends` for darling-core 'xdg-user-dirs' # `depends` for darling-cli 'fuse' # depends for darling-gui 'libfreetype.so' 'libjpeg.so' 'libpng' 'libtiff.so' 'libgif.so' 'libEGL.so' 'libfontconfig.so' 'libx11' 'libxext' 'libxrandr' 'libxcursor' 'libxkbfile' 'libcairo.so' 'libdbus-1.so' 'libGL.so' 'glu' 'libswresample.so' 'libavcodec.so' 'libavformat.so' 'libavutil.so' 'libpulse.so' # optdepends for darling-gui 'libvulkan.so' 'llvm-libs' # actual makedepends 'cmake' 'clang' 'flex' 'bison' 'icu' 'pkg-config' 'llvm' 'libbsd' 'git' 'git-lfs' 'python' 'libxml2' 'vulkan-headers' ) makedepends_x86_64=('gcc-multilib' 'lib32-gcc-libs') # Darling git repo and all submodules. source=('darling-libressl-2.2.9'::'git+https://github.com/darlinghq/darling-libressl.git#branch=v2.2.9' 'darling-libressl-2.5.5'::'git+https://github.com/darlinghq/darling-libressl.git#branch=v2.5.5' 'darling-libressl-2.6.5'::'git+https://github.com/darlinghq/darling-libressl.git#branch=v2.6.5' 'darling-libressl-2.8.3'::'git+https://github.com/darlinghq/darling-libressl.git#branch=v2.8.3' 'git+https://github.com/darlinghq/cctools-port.git' 'git+https://github.com/darlinghq/darling-adv_cmds.git' 'git+https://github.com/darlinghq/darling-apr.git' 'git+https://github.com/darlinghq/darling-architecture' 'git+https://github.com/darlinghq/darling-AvailabilityVersions' 'git+https://github.com/darlinghq/darling-awk.git' 'git+https://github.com/darlinghq/darling-bash.git' 'git+https://github.com/darlinghq/darling-basic_cmds.git' 'git+https://github.com/darlinghq/darling-bc.git' 'git+https://github.com/darlinghq/darling-BerkeleyDB.git' 'git+https://github.com/darlinghq/darling-bind9.git' 'git+https://github.com/darlinghq/darling-bmalloc.git' 'git+https://github.com/darlinghq/darling-bootstrap_cmds.git' 'git+https://github.com/darlinghq/darling-bsm.git' 'git+https://github.com/darlinghq/darling-bzip2.git' 'git+https://github.com/darlinghq/darling-cctools.git' 'git+https://github.com/darlinghq/darling-cfnetwork.git' 'git+https://github.com/darlinghq/darling-cocotron.git' 'git+https://github.com/darlinghq/darling-commoncrypto.git' 'git+https://github.com/darlinghq/darling-compiler-rt.git' 'git+https://github.com/darlinghq/darling-configd.git' 'git+https://github.com/darlinghq/darling-copyfile.git' 'git+https://github.com/darlinghq/darling-corecrypto.git' 'git+https://github.com/darlinghq/darling-corefoundation.git' 'git+https://github.com/darlinghq/darling-coretls.git' 'git+https://github.com/darlinghq/darling-crontabs.git' 'git+https://github.com/darlinghq/darling-csu.git' 'git+https://github.com/darlinghq/darling-cups.git' 'git+https://github.com/darlinghq/darling-curl.git' 'git+https://github.com/darlinghq/darling-dbuskit.git' 'git+https://github.com/darlinghq/darling-DirectoryService.git' 'git+https://github.com/darlinghq/darling-dmg.git' 'git+https://github.com/darlinghq/darling-doc_cmds.git' 'git+https://github.com/darlinghq/darling-DSTools.git' 'git+https://github.com/darlinghq/darling-dtrace.git' 'git+https://github.com/darlinghq/darling-dyld.git' 'git+https://github.com/darlinghq/darling-energytrace.git' 'git+https://github.com/darlinghq/darling-expat.git' 'git+https://github.com/darlinghq/darling-file_cmds.git' 'git+https://github.com/darlinghq/darling-file.git' 'git+https://github.com/darlinghq/darling-files.git' 'git+https://github.com/darlinghq/darling-foundation.git' 'git+https://github.com/darlinghq/darling-glut.git' 'git+https://github.com/darlinghq/darling-gnudiff.git' 'git+https://github.com/darlinghq/darling-gnutar.git' 'git+https://github.com/darlinghq/darling-gpatch.git' 'git+https://github.com/darlinghq/darling-grep.git' 'git+https://github.com/darlinghq/darling-groff.git' 'git+https://github.com/darlinghq/darling-Heimdal.git' 'git+https://github.com/darlinghq/darling-icu.git' 'git+https://github.com/darlinghq/darling-installer.git' 'git+https://github.com/darlinghq/darling-IOGraphics.git' 'git+https://github.com/darlinghq/darling-IOHIDFamily.git' 'git+https://github.com/darlinghq/darling-iokitd.git' 'git+https://github.com/darlinghq/darling-IOKitTools.git' 'git+https://github.com/darlinghq/darling-iokituser.git' 'git+https://github.com/darlinghq/darling-IONetworkingFamily.git' 'git+https://github.com/darlinghq/darling-iostoragefamily.git' 'git+https://github.com/darlinghq/darling-JavaScriptCore.git' 'git+https://github.com/darlinghq/darling-keymgr.git' 'git+https://github.com/darlinghq/darling-less.git' 'git+https://github.com/darlinghq/darling-libarchive.git' 'git+https://github.com/darlinghq/darling-libauto.git' 'git+https://github.com/darlinghq/darling-Libc.git' 'git+https://github.com/darlinghq/darling-libclosure.git' 'git+https://github.com/darlinghq/darling-libcxx.git' 'git+https://github.com/darlinghq/darling-libcxxabi.git' 'git+https://github.com/darlinghq/darling-libdispatch.git' 'git+https://github.com/darlinghq/darling-libedit.git' 'git+https://github.com/darlinghq/darling-libffi.git' 'git+https://github.com/darlinghq/darling-libiconv.git' 'git+https://github.com/darlinghq/darling-Libinfo.git' 'git+https://github.com/darlinghq/darling-libkqueue.git' 'git+https://github.com/darlinghq/darling-liblzma.git' 'git+https://github.com/darlinghq/darling-libmalloc.git' 'git+https://github.com/darlinghq/darling-libnetwork.git' 'git+https://github.com/darlinghq/darling-Libnotify.git' 'git+https://github.com/darlinghq/darling-libplatform.git' 'git+https://github.com/darlinghq/darling-libpthread.git' 'git+https://github.com/darlinghq/darling-libresolv.git' 'git+https://github.com/darlinghq/darling-librpcsvc.git' 'git+https://github.com/darlinghq/darling-libstdcxx.git' 'git+https://github.com/darlinghq/darling-Libsystem.git' 'git+https://github.com/darlinghq/darling-libtelnet.git' 'git+https://github.com/darlinghq/darling-libtrace.git' 'git+https://github.com/darlinghq/darling-libunwind.git' 'git+https://github.com/darlinghq/darling-libutil.git' 'git+https://github.com/darlinghq/darling-libxml2.git' 'git+https://github.com/darlinghq/darling-libxpc.git' 'git+https://github.com/darlinghq/darling-libxslt.git' 'git+https://github.com/darlinghq/darling-mail_cmds.git' 'git+https://github.com/darlinghq/darling-man.git' 'git+https://github.com/darlinghq/darling-mDNSResponder.git' 'git+https://github.com/darlinghq/darling-metal.git' 'git+https://github.com/darlinghq/darling-misc_cmds.git' 'git+https://github.com/darlinghq/darling-MITKerberosShim.git' 'git+https://github.com/darlinghq/darling-nano.git' 'git+https://github.com/darlinghq/darling-ncurses.git' 'git+https://github.com/darlinghq/darling-netcat.git' 'git+https://github.com/darlinghq/darling-network_cmds.git' 'git+https://github.com/darlinghq/darling-nghttp2.git' 'git+https://github.com/darlinghq/darling-objc4.git' 'git+https://github.com/darlinghq/darling-openal.git' 'git+https://github.com/darlinghq/darling-opendirectory.git' 'git+https://github.com/darlinghq/darling-openjdk.git' 'git+https://github.com/darlinghq/darling-OpenLDAP.git' 'git+https://github.com/darlinghq/darling-openpam.git' 'git+https://github.com/darlinghq/darling-openssh.git' 'git+https://github.com/darlinghq/darling-openssl_certificates.git' 'git+https://github.com/darlinghq/darling-openssl.git' 'git+https://github.com/darlinghq/darling-pam_modules.git' 'git+https://github.com/darlinghq/darling-passwordserver_sasl.git' 'git+https://github.com/darlinghq/darling-patch_cmds.git' 'git+https://github.com/darlinghq/darling-pcre.git' 'git+https://github.com/darlinghq/darling-perl.git' 'git+https://github.com/darlinghq/darling-pyobjc.git' 'git+https://github.com/darlinghq/darling-python_modules.git' 'git+https://github.com/darlinghq/darling-python.git' 'git+https://github.com/darlinghq/darling-remote_cmds.git' 'git+https://github.com/darlinghq/darling-removefile.git' 'git+https://github.com/darlinghq/darling-rsync.git' 'git+https://github.com/darlinghq/darling-ruby.git' 'git+https://github.com/darlinghq/darling-screen.git' 'git+https://github.com/darlinghq/darling-security.git' 'git+https://github.com/darlinghq/darling-SecurityTokend.git' 'git+https://github.com/darlinghq/darling-shell_cmds.git' 'git+https://github.com/darlinghq/darling-SmartCardServices.git' 'git+https://github.com/darlinghq/darling-sqlite.git' 'git+https://github.com/darlinghq/darling-swift.git' 'git+https://github.com/darlinghq/darling-swift-corelibs-foundation.git' 'git+https://github.com/darlinghq/darling-syslog.git' 'git+https://github.com/darlinghq/darling-system_cmds.git' 'git+https://github.com/darlinghq/darling-tcsh.git' 'git+https://github.com/darlinghq/darling-text_cmds.git' 'git+https://github.com/darlinghq/darling-TextEdit.git' 'git+https://github.com/darlinghq/darling-top.git' 'git+https://github.com/darlinghq/darling-usertemplate.git' 'git+https://github.com/darlinghq/darling-vim.git' 'git+https://github.com/darlinghq/darling-WebCore.git' 'git+https://github.com/darlinghq/darling-WTF.git' 'git+https://github.com/darlinghq/darling-xar.git' 'git+https://github.com/darlinghq/darling-xnu.git' 'git+https://github.com/darlinghq/darling-zip.git' 'git+https://github.com/darlinghq/darling-zlib.git' 'git+https://github.com/darlinghq/darling-zsh.git' 'git+https://github.com/darlinghq/darling.git' 'git+https://github.com/darlinghq/darlingserver.git' 'git+https://github.com/darlinghq/fmdb.git' 'git+https://github.com/darlinghq/indium.git' 'git+https://github.com/darlinghq/lzfse.git' 'git+https://github.com/darlinghq/xcbuild.git') # We skip md5 on all git repos md5sums=( 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP') options=('!buildflags') pkgver() { cd "$srcdir/$_gitname" printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } prepare() { cd "$srcdir/$_gitname" echo "Initialize git submodules." git submodule init echo "Updating git submodule paths." git config submodule.src/external/adv_cmds.url "$srcdir/darling-adv_cmds" git config submodule.src/external/apr.url "$srcdir/darling-apr" git config submodule.src/external/architecture.url "$srcdir/darling-architecture" git config submodule.src/external/AvailabilityVersions.url "$srcdir/darling-AvailabilityVersions" git config submodule.src/external/awk.url "$srcdir/darling-awk" git config submodule.src/external/bash.url "$srcdir/darling-bash" git config submodule.src/external/basic_cmds.url "$srcdir/darling-basic_cmds" git config submodule.src/external/bc.url "$srcdir/darling-bc" git config submodule.src/external/BerkeleyDB.url "$srcdir/darling-BerkeleyDB" git config submodule.src/external/bind9.url "$srcdir/darling-bind9" git config submodule.src/external/bmalloc.url "$srcdir/darling-bmalloc" git config submodule.src/external/bootstrap_cmds.url "$srcdir/darling-bootstrap_cmds" git config submodule.src/external/bsm.url "$srcdir/darling-bsm" git config submodule.src/external/bzip2.url "$srcdir/darling-bzip2" git config submodule.src/external/cctools-port.url "$srcdir/cctools-port" git config submodule.src/external/cctools.url "$srcdir/darling-cctools" git config submodule.src/external/cfnetwork.url "$srcdir/darling-cfnetwork" git config submodule.src/external/cocotron.url "$srcdir/darling-cocotron" git config submodule.src/external/commoncrypto.url "$srcdir/darling-commoncrypto" git config submodule.src/external/compiler-rt.url "$srcdir/darling-compiler-rt" git config submodule.src/external/configd.url "$srcdir/darling-configd" git config submodule.src/external/copyfile.url "$srcdir/darling-copyfile" git config submodule.src/external/corecrypto.url "$srcdir/darling-corecrypto" git config submodule.src/external/corefoundation.url "$srcdir/darling-corefoundation" git config submodule.src/external/coretls.url "$srcdir/darling-coretls" git config submodule.src/external/crontabs.url "$srcdir/darling-crontabs" git config submodule.src/external/csu.url "$srcdir/darling-csu" git config submodule.src/external/cups.url "$srcdir/darling-cups" git config submodule.src/external/curl.url "$srcdir/darling-curl" git config submodule.src/external/darling-dmg.url "$srcdir/darling-dmg" git config submodule.src/external/darlingserver.url "$srcdir/darlingserver" git config submodule.src/external/dbuskit.url "$srcdir/darling-dbuskit" git config submodule.src/external/DirectoryService.url "$srcdir/darling-DirectoryService" git config submodule.src/external/doc_cmds.url "$srcdir/darling-doc_cmds" git config submodule.src/external/DSTools.url "$srcdir/darling-DSTools" git config submodule.src/external/dtrace.url "$srcdir/darling-dtrace" git config submodule.src/external/dyld.url "$srcdir/darling-dyld" git config submodule.src/external/energytrace.url "$srcdir/darling-energytrace" git config submodule.src/external/expat.url "$srcdir/darling-expat" git config submodule.src/external/file_cmds.url "$srcdir/darling-file_cmds" git config submodule.src/external/file.url "$srcdir/darling-file" git config submodule.src/external/files.url "$srcdir/darling-files" git config submodule.src/external/fmdb.url "$srcdir/fmdb" git config submodule.src/external/foundation.url "$srcdir/darling-foundation" git config submodule.src/external/glut.url "$srcdir/darling-glut" git config submodule.src/external/gnudiff.url "$srcdir/darling-gnudiff" git config submodule.src/external/gnutar.url "$srcdir/darling-gnutar" git config submodule.src/external/gpatch.url "$srcdir/darling-gpatch" git config submodule.src/external/grep.url "$srcdir/darling-grep" git config submodule.src/external/groff.url "$srcdir/darling-groff" git config submodule.src/external/Heimdal.url "$srcdir/darling-Heimdal" git config submodule.src/external/icu.url "$srcdir/darling-icu" git config submodule.src/external/installer.url "$srcdir/darling-installer" git config submodule.src/external/iokitd.url "$srcdir/darling-iokitd" git config submodule.src/external/IOKitTools.url "$srcdir/darling-IOKitTools" git config submodule.src/external/IOKitUser.url "$srcdir/darling-iokituser" git config submodule.src/external/IONetworkingFamily.url "$srcdir/darling-IONetworkingFamily" git config submodule.src/external/IOStorageFamily.url "$srcdir/darling-iostoragefamily" git config submodule.src/external/JavaScriptCore.url "$srcdir/darling-JavaScriptCore" git config submodule.src/external/keymgr.url "$srcdir/darling-keymgr" git config submodule.src/external/less.url "$srcdir/darling-less" git config submodule.src/external/libarchive.url "$srcdir/darling-libarchive" git config submodule.src/external/libauto.url "$srcdir/darling-libauto" git config submodule.src/external/libc.url "$srcdir/darling-Libc" git config submodule.src/external/libclosure.url "$srcdir/darling-libclosure" git config submodule.src/external/libcxx.url "$srcdir/darling-libcxx" git config submodule.src/external/libcxxabi.url "$srcdir/darling-libcxxabi" git config submodule.src/external/libdispatch.url "$srcdir/darling-libdispatch" git config submodule.src/external/libedit.url "$srcdir/darling-libedit" git config submodule.src/external/libffi.url "$srcdir/darling-libffi" git config submodule.src/external/libiconv.url "$srcdir/darling-libiconv" git config submodule.src/external/Libinfo.url "$srcdir/darling-Libinfo" git config submodule.src/external/libkqueue.url "$srcdir/darling-libkqueue" git config submodule.src/external/liblzma.url "$srcdir/darling-liblzma" git config submodule.src/external/libmalloc.url "$srcdir/darling-libmalloc" git config submodule.src/external/libnetwork.url "$srcdir/darling-libnetwork" git config submodule.src/external/libnotify.url "$srcdir/darling-Libnotify" git config submodule.src/external/libplatform.url "$srcdir/darling-libplatform" git config submodule.src/external/libpthread.url "$srcdir/darling-libpthread" git config submodule.src/external/libresolv.url "$srcdir/darling-libresolv" git config submodule.src/external/libressl-2.2.9.url "$srcdir/darling-libressl-2.2.9" git config submodule.src/external/libressl-2.5.5.url "$srcdir/darling-libressl-2.5.5" git config submodule.src/external/libressl-2.6.5.url "$srcdir/darling-libressl-2.6.5" git config submodule.src/external/libressl-2.8.3.url "$srcdir/darling-libressl-2.8.3" git config submodule.src/external/librpcsvc.url "$srcdir/darling-librpcsvc" git config submodule.src/external/libstdcxx.url "$srcdir/darling-libstdcxx" git config submodule.src/external/libsystem.url "$srcdir/darling-Libsystem" git config submodule.src/external/libtelnet.url "$srcdir/darling-libtelnet" git config submodule.src/external/libtrace.url "$srcdir/darling-libtrace" git config submodule.src/external/libunwind.url "$srcdir/darling-libunwind" git config submodule.src/external/libutil.url "$srcdir/darling-libutil" git config submodule.src/external/libxml2.url "$srcdir/darling-libxml2" git config submodule.src/external/libxpc.url "$srcdir/darling-libxpc" git config submodule.src/external/libxslt.url "$srcdir/darling-libxslt" git config submodule.src/external/lzfse.url "$srcdir/lzfse" git config submodule.src/external/mail_cmds.url "$srcdir/darling-mail_cmds" git config submodule.src/external/man.url "$srcdir/darling-man" git config submodule.src/external/mDNSResponder.url "$srcdir/darling-mDNSResponder" git config submodule.src/external/metal.url "$srcdir/darling-metal" git config submodule.src/external/misc_cmds.url "$srcdir/darling-misc_cmds" git config submodule.src/external/MITKerberosShim.url "$srcdir/darling-MITKerberosShim" git config submodule.src/external/nano.url "$srcdir/darling-nano" git config submodule.src/external/ncurses.url "$srcdir/darling-ncurses" git config submodule.src/external/netcat.url "$srcdir/darling-netcat" git config submodule.src/external/network_cmds.url "$srcdir/darling-network_cmds" git config submodule.src/external/nghttp2.url "$srcdir/darling-nghttp2" git config submodule.src/external/objc4.url "$srcdir/darling-objc4" git config submodule.src/external/OpenAL.url "$srcdir/darling-openal" git config submodule.src/external/OpenDirectory.url "$srcdir/darling-opendirectory" git config submodule.src/external/openjdk.url "$srcdir/darling-openjdk" git config submodule.src/external/OpenLDAP.url "$srcdir/darling-OpenLDAP" git config submodule.src/external/openpam.url "$srcdir/darling-openpam" git config submodule.src/external/openssh.url "$srcdir/darling-openssh" git config submodule.src/external/openssl_certificates.url "$srcdir/darling-openssl_certificates" git config submodule.src/external/openssl.url "$srcdir/darling-openssl" git config submodule.src/external/passwordserver_sasl.url "$srcdir/darling-passwordserver_sasl" git config submodule.src/external/patch_cmds.url "$srcdir/darling-patch_cmds" git config submodule.src/external/pcre.url "$srcdir/darling-pcre" git config submodule.src/external/perl.url "$srcdir/darling-perl" git config submodule.src/external/pyobjc.url "$srcdir/darling-pyobjc" git config submodule.src/external/python_modules.url "$srcdir/darling-python_modules" git config submodule.src/external/python.url "$srcdir/darling-python" git config submodule.src/external/remote_cmds.url "$srcdir/darling-remote_cmds" git config submodule.src/external/removefile.url "$srcdir/darling-removefile" git config submodule.src/external/rsync.url "$srcdir/darling-rsync" git config submodule.src/external/ruby.url "$srcdir/darling-ruby" git config submodule.src/external/screen.url "$srcdir/darling-screen" git config submodule.src/external/security.url "$srcdir/darling-security" git config submodule.src/external/SecurityTokend.url "$srcdir/darling-SecurityTokend" git config submodule.src/external/shell_cmds.url "$srcdir/darling-shell_cmds" git config submodule.src/external/SmartCardServices.url "$srcdir/darling-SmartCardServices" git config submodule.src/external/sqlite.url "$srcdir/darling-sqlite" git config submodule.src/external/swift.url "$srcdir/darling-swift" git config submodule.src/external/syslog.url "$srcdir/darling-syslog" git config submodule.src/external/system_cmds.url "$srcdir/darling-system_cmds" git config submodule.src/external/tcsh.url "$srcdir/darling-tcsh" git config submodule.src/external/text_cmds.url "$srcdir/darling-text_cmds" git config submodule.src/external/TextEdit.url "$srcdir/darling-TextEdit" git config submodule.src/external/top.url "$srcdir/darling-top" git config submodule.src/external/usertemplate.url "$srcdir/darling-usertemplate" git config submodule.src/external/vim.url "$srcdir/darling-vim" git config submodule.src/external/WebCore.url "$srcdir/darling-WebCore" git config submodule.src/external/WTF.url "$srcdir/darling-WTF" git config submodule.src/external/xar.url "$srcdir/darling-xar" git config submodule.src/external/xcbuild.url "$srcdir/xcbuild" git config submodule.src/external/xnu.url "$srcdir/darling-xnu" git config submodule.src/external/zip.url "$srcdir/darling-zip" git config submodule.src/external/zlib.url "$srcdir/darling-zlib" git config submodule.src/external/zsh.url "$srcdir/darling-zsh" echo "Updating git submodules" git -c protocol.file.allow=always submodule update echo "Updating recursive submodules" cd "$srcdir/$_gitname/src/external/openpam/" git submodule init git config submodule.pam_modules.url "$srcdir/darling-pam_modules" git -c protocol.file.allow=always submodule update cd "$srcdir/$_gitname/src/external/IOKitUser" git submodule init git config submodule.IOGraphics.url "$srcdir/darling-IOGraphics" git config submodule.IOHIDFamily.url "$srcdir/darling-IOHIDFamily" git -c protocol.file.allow=always submodule update cd "$srcdir/$_gitname/src/external/metal" git submodule init git config submodule.deps/indium.url "$srcdir/indium" git -c protocol.file.allow=always submodule update cd "$srcdir/$_gitname/src/external/corefoundation" git submodule init git config submodule.submodules/swift-corelibs-foundation.url "$srcdir/darling-swift-corelibs-foundation" git -c protocol.file.allow=always submodule update echo "Updating LFS files" cd "$srcdir/$_gitname/src/external/swift" git lfs pull echo "Creating build directory." cd "$srcdir/$_gitname" mkdir -pv "build" } build() { cd "$srcdir/$_gitname/build" echo "Running cmake." CFLAGS="" CXXFLAGS="" CPPFLAGS="" LDFLAGS="" cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DDEBIAN_PACKAGING=ON -DJSC_UNIFIED_BUILD=ON -DENABLE_METAL=ON echo "Running make." make } package_darling-git() { pkgdesc='Translation layer for running macOS software on Linux' depends=('darling-cli-git' 'darling-python2-git' 'darling-ruby-git' 'darling-perl-git' 'darling-gui-git' 'darling-gui-stubs-git' 'darling-pyobjc-git') provides=('darling' 'darling-cli-devenv') conflicts=('darling') true } package_darling-extra-git() { pkgdesc='Extra components for Darling that are not part of a typical ("stock") installation' depends=('darling-git' 'darling-jsc-git' 'darling-cli-extra-git') provides=('darling-extra') conflicts=('darling-extra') true } package_darling-core-git() { pkgdesc='Core components of Darling' depends=('glibc' 'gcc-libs' 'xdg-user-dirs') depends_x86_64=('lib32-glibc' 'lib32-gcc-libs') provides=('darling-core') conflicts=('darling-core') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=core -P cmake_install.cmake } package_darling-system-git() { pkgdesc='System components of Darling' depends=('darling-core-git') provides=('darling-system') conflicts=('darling-system') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=system -P cmake_install.cmake } package_darling-cli-git() { pkgdesc='CLI components of Darling' depends=( 'darling-system-git' 'darling-cli-gui-common-git' 'darling-cli-python2-common-git' 'fuse' ) provides=('darling-cli') conflicts=('darling-cli') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=cli -P cmake_install.cmake } package_darling-ffi-git() { pkgdesc='libffi built for use within Darling' depends=('darling-core-git') provides=('darling-ffi') conflicts=('darling-ffi') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=ffi -P cmake_install.cmake } package_darling-cli-devenv-git() { pkgdesc='A Darling environment for CLI-only programs for building and developing using the command line developer tools' depends=( 'darling-cli-git' 'darling-python2-git' 'darling-ruby-git' 'darling-perl-git' 'darling-cli-devenv-gui-common-git' 'darling-cli-devenv-gui-stubs-common-git' 'darling-iosurface-git' ) provides=('darling-cli-devenv') conflicts=('darling-cli-devenv' 'darling-gui' 'darling-gui-stubs') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=cli_dev -P cmake_install.cmake } package_darling-cli-gui-common-git() { pkgdesc='Components of Darling that are shared between the CLI and GUI components' depends=('darling-system-git') provides=('darling-cli-gui-common') conflicts=('darling-cli-gui-common') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=cli_gui_common -P cmake_install.cmake } package_darling-iokitd-git() { pkgdesc='IOKit daemon for Darling' depends=('darling-system-git' 'darling-iosurface-git') provides=('darling-iokitd') conflicts=('darling-iokitd') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=iokitd -P cmake_install.cmake } package_darling-cli-devenv-gui-common-git() { pkgdesc='Components of Darling that are shared between the developer environment and the GUI components' depends=('darling-system-git') provides=('darling-cli-devenv-gui-common') conflicts=('darling-cli-devenv-gui-common') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=cli_dev_gui_common -P cmake_install.cmake } package_darling-cli-extra-git() { pkgdesc='Non-standard CLI components of Darling' depends=('darling-cli-git') provides=('darling-cli-extra') conflicts=('darling-cli-extra') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=cli_extra -P cmake_install.cmake } package_darling-gui-git() { pkgdesc='GUI components of Darling' depends=( 'darling-system-git' 'darling-cli-devenv-gui-common-git' 'darling-iokitd-git' 'darling-cli-gui-common-git' 'darling-iosurface-git' 'libfreetype.so' 'libjpeg.so' 'libpng' 'libtiff.so' 'libgif.so' 'libEGL.so' 'libfontconfig.so' 'libx11' 'libxext' 'libxrandr' 'libxcursor' 'libxkbfile' 'libcairo.so' 'libdbus-1.so' 'libGL.so' 'glu' 'libswresample.so' 'libavcodec.so' 'libavformat.so' 'libavutil.so' 'libpulse.so' ) optdepends=( 'libvulkan.so: Metal support' 'llvm-libs: Metal support' ) provides=('darling-gui') conflicts=('darling-gui') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=gui -P cmake_install.cmake } package_darling-python2-git() { pkgdesc='Python 2 (and associated programs) built for use within Darling' depends=('darling-core-git' 'darling-cli-python2-common-git' 'darling-ffi-git') provides=('darling-python2') conflicts=('darling-python2') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=python -P cmake_install.cmake } package_darling-cli-python2-common-git() { pkgdesc='Components of Darling that are shared between the CLI and Python 2 components' depends=('darling-core-git') provides=('darling-cli-python2-common') conflicts=('darling-cli-python2-common') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=cli_python_common -P cmake_install.cmake } package_darling-pyobjc-git() { pkgdesc='PyObjC built for use within Darling' depends=('darling-gui-stubs-git' 'darling-python2-git') provides=('darling-pyobjc') conflicts=('darling-pyobjc') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=pyobjc -P cmake_install.cmake } package_darling-ruby-git() { pkgdesc='Ruby built for use within Darling' depends=('darling-core-git' 'darling-ffi-git') provides=('darling-ruby') conflicts=('darling-ruby') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=ruby -P cmake_install.cmake } package_darling-perl-git() { pkgdesc='Perl built for use within Darling' depends=('darling-core-git') provides=('darling-perl') conflicts=('darling-perl') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=perl -P cmake_install.cmake } package_darling-jsc-webkit-common-git() { pkgdesc='Components of Darling that are shared between JavaScriptCore and WebKit' depends=('darling-system-git') provides=('darling-jsc-webkit-common') conflicts=('darling-jsc-webkit-common') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=jsc_webkit_common -P cmake_install.cmake } package_darling-jsc-git() { pkgdesc='JavaScriptCore built for use within Darling' depends=('darling-system-git' 'darling-jsc-webkit-common-git') provides=('darling-jsc') conflicts=('darling-jsc') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=jsc -P cmake_install.cmake } package_darling-iosurface-git() { pkgdesc='IOSurface framework built for use within Darling' depends=('darling-system-git') provides=('darling-iosurface') conflicts=('darling-iosurface') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=iosurface -P cmake_install.cmake } package_darling-cli-devenv-gui-stubs-common-git() { pkgdesc='Components of Darling that are shared between the developer environment and GUI stub components' depends=('darling-cli-devenv-gui-common-git') provides=('darling-cli-devenv-gui-stubs-common') conflicts=('darling-cli-devenv-gui-stubs-common') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=cli_dev_gui_stubs_common -P cmake_install.cmake } package_darling-gui-stubs-git() { pkgdesc='GUI stub components of Darling' depends=('darling-gui-git' 'darling-cli-devenv-gui-stubs-common-git') provides=('darling-gui-stubs') conflicts=('darling-gui-stubs') cd "$srcdir/$_gitname/build" DESTDIR="$pkgdir" cmake -DCOMPONENT=gui_stubs -P cmake_install.cmake }