darwin: 10.11 → 10.12

Lots of stuff has gotten moved around. Many security libraries have been merged
into the Security monorepo. I’ve cleared them out for now, we will
need to modify Security to build them!

This also moves some things around to more clearly separate
bootstrapping the stdenv from everything else. We want the “normal”
mode to be the non-bootstrapped version. When you ask for “Security”,
you want the actual built software, not a crippled one.

- Add TARGET_OS_OSX to darwin.libSystem. Looks like something
  introduced in 10.12. TARGET_OS_MAC is only set when building for
  desktop (iOS will have TARGET_OS_MAC set)
- Bump darwin.dtrace
- Bump darwin.libpthread
- Remove SmartCardServices, libsecurity*, etc.
- Install some more headers for darling.
This commit is contained in:
Matthew Bauer 2018-10-02 23:14:32 -05:00
parent 73d537672d
commit e6f7f2928f
75 changed files with 704 additions and 1596 deletions

View File

@ -126,25 +126,6 @@ self: super: builtins.intersectAttrs super {
# the system-fileio tests use canonicalizePath, which fails in the sandbox # the system-fileio tests use canonicalizePath, which fails in the sandbox
system-fileio = if pkgs.stdenv.isDarwin then dontCheck super.system-fileio else super.system-fileio; system-fileio = if pkgs.stdenv.isDarwin then dontCheck super.system-fileio else super.system-fileio;
# Prevents needing to add `security_tool` as a run-time dependency for
# everything using x509-system to give access to the `security` executable.
x509-system = if pkgs.stdenv.hostPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc
then let inherit (pkgs.darwin) security_tool;
in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: {
# darwin.security_tool is broken in Mojave (#45042)
# We will use the system provided security for now.
# Beware this WILL break in sandboxes!
# TODO(matthewbauer): If someone really needs this to work in sandboxes,
# I think we can add a propagatedImpureHost dep here, but Im hoping to
# get a proper fix available soonish.
postPatch = (drv.postPatch or "") + ''
substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security
'';
})
else super.x509-system;
# https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216 # https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216
gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"]; gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"];
glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"]; glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"];

View File

@ -67,5 +67,7 @@ runCommand "Toolchains" {} (''
done done
ln -s ${buildPackages.darwin.bootstrap_cmds}/bin/mig $toolchain/bin ln -s ${buildPackages.darwin.bootstrap_cmds}/bin/mig $toolchain/bin
mkdir -p $toolchain/libexec
ln -s ${buildPackages.darwin.bootstrap_cmds}/libexec/migcom $toolchain/libexec
ln -s ${mkdep-darwin-src} $toolchain/bin/mkdep ln -s ${mkdep-darwin-src} $toolchain/bin/mkdep
'') '')

View File

@ -0,0 +1,51 @@
/*
* Copyright (c) 2010 Apple Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/***********************************************************************
* Not to be installed in /usr/local/include
***********************************************************************/
#ifndef _LIBC_CRASHREPORTERCLIENT_H
#define _LIBC_CRASHREPORTERCLIENT_H
#include "stdint.h"
/* Fake the CrashReporterClient API */
#define CRGetCrashLogMessage() 0
#define CRSetCrashLogMessage(m) true
#define CRASH_REPORTER_CLIENT_HIDDEN __attribute__((visibility("hidden")))
#define CRASHREPORTER_ANNOTATIONS_VERSION 4
#define CRASHREPORTER_ANNOTATIONS_SECTION "__crash_info"
struct crashreporter_annotations_t {
uint64_t version; // unsigned long
uint64_t message; // char *
uint64_t signature_string; // char *
uint64_t backtrace; // char *
uint64_t message2; // char *
uint64_t thread; // uint64_t
uint64_t dialog_mode; // unsigned int
};
#endif

View File

@ -11,6 +11,8 @@ appleDerivation {
export PRIVATE_HEADERS_FOLDER_PATH=include export PRIVATE_HEADERS_FOLDER_PATH=include
bash xcodescripts/headers.sh bash xcodescripts/headers.sh
cp ${./CrashReporterClient.h} $out/include/CrashReporterClient.h
cp ${Libc_10-9}/include/NSSystemDirectories.h $out/include cp ${Libc_10-9}/include/NSSystemDirectories.h $out/include
# Ugh Apple stopped releasing this stuff so we need an older one... # Ugh Apple stopped releasing this stuff so we need an older one...

View File

@ -1,9 +1,11 @@
{ stdenv, appleDerivation, cpio, xnu, Libc, Libm, libdispatch, cctools, Libinfo, { stdenv, appleDerivation, cpio, xnu, Libc, Libm, libdispatch, cctools, Libinfo
dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto, copyfile, , dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto
removefile, libresolv, Libnotify, libplatform, libpthread, mDNSResponder, launchd, libutil }: , copyfile, removefile, libresolv, Libnotify, libplatform, libpthread
, mDNSResponder, launchd, libutil, hfs }:
appleDerivation rec { appleDerivation rec {
phases = [ "unpackPhase" "installPhase" ]; dontBuild = true;
dontFixup = true;
nativeBuildInputs = [ cpio ]; nativeBuildInputs = [ cpio ];
@ -17,19 +19,21 @@ appleDerivation rec {
cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/Availability*.h $out/include cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/Availability*.h $out/include
cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/stdarg.h $out/include cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/stdarg.h $out/include
for dep in ${Libc} ${Libm} ${Libinfo} ${dyld} ${architecture} ${libclosure} ${CarbonHeaders} \ for dep in ${Libc} ${Libm} ${Libinfo} ${dyld} ${architecture} \
${libdispatch} ${ncurses.dev} ${CommonCrypto} ${copyfile} ${removefile} ${libresolv} \ ${libclosure} ${CarbonHeaders} ${libdispatch} ${ncurses.dev} \
${Libnotify} ${libplatform} ${mDNSResponder} ${launchd} ${libutil} ${libpthread}; do ${CommonCrypto} ${copyfile} ${removefile} ${libresolv} \
${Libnotify} ${libplatform} ${mDNSResponder} ${launchd} \
${libutil} ${libpthread} ${hfs}; do
(cd $dep/include && find . -name '*.h' | cpio -pdm $out/include) (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include)
done done
(cd ${cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o) (cd ${cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
cat <<EOF > $out/include/TargetConditionals.h cat <<EOF > $out/include/TargetConditionals.h
#ifndef __TARGETCONDITIONALS__ #ifndef __TARGETCONDITIONALS__
#define __TARGETCONDITIONALS__ #define __TARGETCONDITIONALS__
#define TARGET_OS_MAC 1 #define TARGET_OS_MAC 1
#define TARGET_OS_OSX 1
#define TARGET_OS_WIN32 0 #define TARGET_OS_WIN32 0
#define TARGET_OS_UNIX 0 #define TARGET_OS_UNIX 0
#define TARGET_OS_EMBEDDED 0 #define TARGET_OS_EMBEDDED 0

View File

@ -232,6 +232,8 @@ __os_assert_log_ctx
__os_assumes_log __os_assumes_log
__os_assumes_log_ctx __os_assumes_log_ctx
__os_avoid_tail_call __os_avoid_tail_call
__os_crash
__os_crash_callback
__os_debug_log __os_debug_log
__os_debug_log_error_str __os_debug_log_error_str
__putenvp __putenvp
@ -263,6 +265,7 @@ __unsetenvp
__utmpxname __utmpxname
_a64l _a64l
_abort _abort
_abort_report_np
_abs _abs
_acl_add_flag_np _acl_add_flag_np
_acl_add_perm _acl_add_perm
@ -345,6 +348,7 @@ _backtrace
_backtrace_symbols _backtrace_symbols
_backtrace_symbols_fd _backtrace_symbols_fd
_basename _basename
_basename_r
_bcmp _bcmp
_bcopy _bcopy
_brk _brk
@ -377,8 +381,12 @@ _chmodx_np
_clearerr _clearerr
_clearerr_unlocked _clearerr_unlocked
_clock _clock
_clock_getres
_clock_gettime
_clock_gettime_nsec_np
_clock_port _clock_port
_clock_sem _clock_sem
_clock_settime
_closedir _closedir
_compat_mode _compat_mode
_confstr _confstr
@ -411,6 +419,7 @@ _digittoint
_digittoint_l _digittoint_l
_dirfd _dirfd
_dirname _dirname
_dirname_r
_div _div
_dprintf _dprintf
_dprintf_l _dprintf_l
@ -771,8 +780,12 @@ _mergesort_b
_mkdirx_np _mkdirx_np
_mkdtemp _mkdtemp
_mkfifox_np _mkfifox_np
_mkostemp
_mkostemps
_mkpath_np _mkpath_np
_mkpathat_np
_mkstemp _mkstemp
_mkstemp_dprotected_np
_mkstemps _mkstemps
_mktemp _mktemp
_mktime _mktime
@ -805,6 +818,7 @@ _nice
_nl_langinfo _nl_langinfo
_nl_langinfo_l _nl_langinfo_l
_nrand48 _nrand48
_nvis
_off32 _off32
_off64 _off64
_offtime _offtime
@ -959,6 +973,7 @@ _sleep
_sleep$NOCANCEL _sleep$NOCANCEL
_snprintf _snprintf
_snprintf_l _snprintf_l
_snvis
_sockatmark _sockatmark
_sprintf _sprintf
_sprintf_l _sprintf_l
@ -988,6 +1003,7 @@ _strcoll_l
_strcpy _strcpy
_strcspn _strcspn
_strdup _strdup
_strenvisx
_strerror _strerror
_strerror_r _strerror_r
_strfmon _strfmon
@ -1006,14 +1022,23 @@ _strncpy
_strndup _strndup
_strnlen _strnlen
_strnstr _strnstr
_strnunvis
_strnunvisx
_strnvis
_strnvisx
_strpbrk _strpbrk
_strptime _strptime
_strptime_l _strptime_l
_strrchr _strrchr
_strsenvisx
_strsep _strsep
_strsignal _strsignal
_strsnvis
_strsnvisx
_strspn _strspn
_strstr _strstr
_strsvis
_strsvisx
_strtod _strtod
_strtod_l _strtod_l
_strtof _strtof
@ -1046,6 +1071,7 @@ _strvisx
_strxfrm _strxfrm
_strxfrm_l _strxfrm_l
_suboptarg _suboptarg
_svis
_swab _swab
_swprintf _swprintf
_swprintf_l _swprintf_l
@ -1087,6 +1113,7 @@ _timelocal
_timeoff _timeoff
_times _times
_timezone _timezone
_timingsafe_bcmp
_tmpfile _tmpfile
_tmpnam _tmpnam
_toascii _toascii

View File

@ -3,6 +3,7 @@ _____old_semwait_signal_nocancel
_____sigwait_nocancel _____sigwait_nocancel
____kernelVersionNumber ____kernelVersionNumber
____kernelVersionString ____kernelVersionString
___abort_with_payload
___accept ___accept
___accept_nocancel ___accept_nocancel
___access_extended ___access_extended
@ -13,6 +14,11 @@ ___bsdthread_ctl
___bsdthread_register ___bsdthread_register
___bsdthread_terminate ___bsdthread_terminate
___carbon_delete ___carbon_delete
___channel_get_info
___channel_get_opt
___channel_open
___channel_set_opt
___channel_sync
___chmod ___chmod
___chmod_extended ___chmod_extended
___close_nocancel ___close_nocancel
@ -32,6 +38,7 @@ ___fchmod_extended
___fcntl ___fcntl
___fcntl_nocancel ___fcntl_nocancel
___fork ___fork
___fs_snapshot
___fstat64_extended ___fstat64_extended
___fstat_extended ___fstat_extended
___fsync_nocancel ___fsync_nocancel
@ -57,6 +64,8 @@ ___ioctl
___iopolicysys ___iopolicysys
___kdebug_trace ___kdebug_trace
___kdebug_trace64 ___kdebug_trace64
___kdebug_trace_string
___kdebug_typefilter
___kill ___kill
___lchown ___lchown
___libkernel_init ___libkernel_init
@ -79,6 +88,7 @@ ___mac_set_file
___mac_set_link ___mac_set_link
___mac_set_proc ___mac_set_proc
___mac_syscall ___mac_syscall
___microstackshot
___mkdir_extended ___mkdir_extended
___mkfifo_extended ___mkfifo_extended
___mmap ___mmap
@ -90,6 +100,13 @@ ___msgsys
___msync ___msync
___msync_nocancel ___msync_nocancel
___munmap ___munmap
___nexus_create
___nexus_deregister
___nexus_destroy
___nexus_get_opt
___nexus_open
___nexus_register
___nexus_set_opt
___old_semwait_signal ___old_semwait_signal
___open ___open
___open_dprotected_np ___open_dprotected_np
@ -97,12 +114,17 @@ ___open_extended
___open_nocancel ___open_nocancel
___openat ___openat
___openat_nocancel ___openat_nocancel
___os_nexus_ifattach
___os_nexus_ifdetach
___persona
___pipe ___pipe
___poll_nocancel ___poll_nocancel
___posix_spawn ___posix_spawn
___pread_nocancel ___pread_nocancel
___proc_info ___proc_info
___process_policy ___process_policy
___pselect
___pselect_nocancel
___psynch_cvbroad ___psynch_cvbroad
___psynch_cvclrprepost ___psynch_cvclrprepost
___psynch_cvsignal ___psynch_cvsignal
@ -133,6 +155,7 @@ ___recvmsg
___recvmsg_nocancel ___recvmsg_nocancel
___rename ___rename
___renameat ___renameat
___renameatx_np
___rmdir ___rmdir
___sandbox_me ___sandbox_me
___sandbox_mm ___sandbox_mm
@ -175,6 +198,7 @@ ___sigsuspend
___sigsuspend_nocancel ___sigsuspend_nocancel
___sigwait ___sigwait
___socketpair ___socketpair
___stack_snapshot_with_config
___stat64_extended ___stat64_extended
___stat_extended ___stat_extended
___syscall ___syscall
@ -182,8 +206,11 @@ ___syscall_logger
___sysctl ___sysctl
___sysctlbyname ___sysctlbyname
___telemetry ___telemetry
___terminate_with_payload
___thread_selfid ___thread_selfid
___thread_selfusage ___thread_selfusage
___ulock_wait
___ulock_wake
___umask_extended ___umask_extended
___unlink ___unlink
___unlinkat ___unlinkat
@ -191,6 +218,7 @@ ___vfork
___wait4 ___wait4
___wait4_nocancel ___wait4_nocancel
___waitid_nocancel ___waitid_nocancel
___work_interval_ctl
___workq_kernreturn ___workq_kernreturn
___workq_open ___workq_open
___write_nocancel ___write_nocancel
@ -202,6 +230,7 @@ __get_cpu_capabilities
__getprivatesystemidentifier __getprivatesystemidentifier
__host_page_size __host_page_size
__init_cpu_capabilities __init_cpu_capabilities
__kernelrpc_host_create_mach_voucher
__kernelrpc_mach_port_allocate __kernelrpc_mach_port_allocate
__kernelrpc_mach_port_allocate_full __kernelrpc_mach_port_allocate_full
__kernelrpc_mach_port_allocate_name __kernelrpc_mach_port_allocate_name
@ -257,13 +286,17 @@ __kernelrpc_mach_vm_map
__kernelrpc_mach_vm_map_trap __kernelrpc_mach_vm_map_trap
__kernelrpc_mach_vm_protect __kernelrpc_mach_vm_protect
__kernelrpc_mach_vm_protect_trap __kernelrpc_mach_vm_protect_trap
__kernelrpc_mach_vm_purgable_control
__kernelrpc_mach_vm_purgable_control_trap
__kernelrpc_mach_vm_read __kernelrpc_mach_vm_read
__kernelrpc_mach_vm_remap __kernelrpc_mach_vm_remap
__kernelrpc_mach_voucher_extract_attr_recipe
__kernelrpc_task_set_port_space __kernelrpc_task_set_port_space
__kernelrpc_thread_policy __kernelrpc_thread_policy
__kernelrpc_thread_policy_set __kernelrpc_thread_policy_set
__kernelrpc_thread_set_policy __kernelrpc_thread_set_policy
__kernelrpc_vm_map __kernelrpc_vm_map
__kernelrpc_vm_purgable_control
__kernelrpc_vm_read __kernelrpc_vm_read
__kernelrpc_vm_remap __kernelrpc_vm_remap
__mach_errors __mach_errors
@ -272,6 +305,9 @@ __mach_snprintf
__mach_vsnprintf __mach_vsnprintf
__os_alloc_once_table __os_alloc_once_table
__register_gethostuuid_callback __register_gethostuuid_callback
__thread_set_tsd_base
_abort_with_payload
_abort_with_reason
_accept _accept
_accept$NOCANCEL _accept$NOCANCEL
_access _access
@ -312,6 +348,8 @@ _clock_set_attributes
_clock_set_time _clock_set_time
_clock_sleep _clock_sleep
_clock_sleep_trap _clock_sleep_trap
_clonefile
_clonefileat
_close _close
_close$NOCANCEL _close$NOCANCEL
_coalition_create _coalition_create
@ -345,6 +383,7 @@ _fchmod
_fchmodat _fchmodat
_fchown _fchown
_fchownat _fchownat
_fclonefileat
_fcntl _fcntl
_fcntl$NOCANCEL _fcntl$NOCANCEL
_fdatasync _fdatasync
@ -358,9 +397,17 @@ _flistxattr
_flock _flock
_fpathconf _fpathconf
_fremovexattr _fremovexattr
_fs_snapshot_create
_fs_snapshot_delete
_fs_snapshot_list
_fs_snapshot_mount
_fs_snapshot_rename
_fs_snapshot_revert
_fs_snapshot_root
_fsctl _fsctl
_fsetattrlist _fsetattrlist
_fsetxattr _fsetxattr
_fsgetpath
_fstat _fstat
_fstat$INODE64 _fstat$INODE64
_fstat64 _fstat64
@ -384,6 +431,7 @@ _getdirentries
_getdirentriesattr _getdirentriesattr
_getdtablesize _getdtablesize
_getegid _getegid
_getentropy
_geteuid _geteuid
_getfh _getfh
_getfsstat _getfsstat
@ -409,6 +457,7 @@ _getsockopt
_getuid _getuid
_getwgroups_np _getwgroups_np
_getxattr _getxattr
_grab_pgo_data
_guarded_close_np _guarded_close_np
_guarded_kqueue_np _guarded_kqueue_np
_guarded_open_dprotected_np _guarded_open_dprotected_np
@ -416,14 +465,18 @@ _guarded_open_np
_guarded_pwrite_np _guarded_pwrite_np
_guarded_write_np _guarded_write_np
_guarded_writev_np _guarded_writev_np
_host_check_multiuser_mode
_host_create_mach_voucher _host_create_mach_voucher
_host_create_mach_voucher_trap
_host_default_memory_manager _host_default_memory_manager
_host_get_UNDServer _host_get_UNDServer
_host_get_atm_diagnostic_flag
_host_get_boot_info _host_get_boot_info
_host_get_clock_control _host_get_clock_control
_host_get_clock_service _host_get_clock_service
_host_get_exception_ports _host_get_exception_ports
_host_get_io_master _host_get_io_master
_host_get_multiuser_config_flags
_host_get_special_port _host_get_special_port
_host_info _host_info
_host_kernel_version _host_kernel_version
@ -443,7 +496,9 @@ _host_security_set_task_token
_host_self _host_self
_host_self_trap _host_self_trap
_host_set_UNDServer _host_set_UNDServer
_host_set_atm_diagnostic_flag
_host_set_exception_ports _host_set_exception_ports
_host_set_multiuser_config_flags
_host_set_special_port _host_set_special_port
_host_statistics _host_statistics
_host_statistics64 _host_statistics64
@ -456,15 +511,28 @@ _internal_catch_exc_subsystem
_ioctl _ioctl
_issetugid _issetugid
_kas_info _kas_info
_kdebug_is_enabled
_kdebug_signpost
_kdebug_signpost_end
_kdebug_signpost_start
_kdebug_trace _kdebug_trace
_kdebug_trace_string
_kdebug_typefilter
_kevent _kevent
_kevent64 _kevent64
_kevent_qos
_kext_request _kext_request
_kill _kill
_kmod_control _kmod_control
_kmod_create _kmod_create
_kmod_destroy _kmod_destroy
_kmod_get_info _kmod_get_info
_kpersona_alloc
_kpersona_dealloc
_kpersona_find
_kpersona_get
_kpersona_info
_kpersona_pidinfo
_kqueue _kqueue
_lchown _lchown
_ledger _ledger
@ -487,14 +555,20 @@ _lstat$INODE64
_lstat64 _lstat64
_mach_absolute_time _mach_absolute_time
_mach_approximate_time _mach_approximate_time
_mach_boottime_usec
_mach_continuous_approximate_time
_mach_continuous_time
_mach_error _mach_error
_mach_error_full_diag _mach_error_full_diag
_mach_error_string _mach_error_string
_mach_error_type _mach_error_type
_mach_generate_activity_id
_mach_get_times
_mach_host_self _mach_host_self
_mach_init _mach_init
_mach_make_memory_entry _mach_make_memory_entry
_mach_make_memory_entry_64 _mach_make_memory_entry_64
_mach_memory_info
_mach_memory_object_memory_entry _mach_memory_object_memory_entry
_mach_memory_object_memory_entry_64 _mach_memory_object_memory_entry_64
_mach_msg _mach_msg
@ -554,6 +628,7 @@ _mach_task_self
_mach_task_self_ _mach_task_self_
_mach_thread_self _mach_thread_self
_mach_timebase_info _mach_timebase_info
_mach_timebase_info_trap
_mach_vm_allocate _mach_vm_allocate
_mach_vm_behavior_set _mach_vm_behavior_set
_mach_vm_copy _mach_vm_copy
@ -580,6 +655,7 @@ _mach_voucher_debug_info
_mach_voucher_extract_all_attr_recipes _mach_voucher_extract_all_attr_recipes
_mach_voucher_extract_attr_content _mach_voucher_extract_attr_content
_mach_voucher_extract_attr_recipe _mach_voucher_extract_attr_recipe
_mach_voucher_extract_attr_recipe_trap
_mach_wait_until _mach_wait_until
_mach_zone_force_gc _mach_zone_force_gc
_mach_zone_info _mach_zone_info
@ -598,9 +674,11 @@ _mig_get_reply_port
_mig_put_reply_port _mig_put_reply_port
_mig_reply_setup _mig_reply_setup
_mig_strncpy _mig_strncpy
_mig_strncpy_zerofill
_mincore _mincore
_minherit _minherit
_mk_timer_arm _mk_timer_arm
_mk_timer_arm_leeway
_mk_timer_cancel _mk_timer_cancel
_mk_timer_create _mk_timer_create
_mk_timer_destroy _mk_timer_destroy
@ -630,7 +708,10 @@ _msync$NOCANCEL
_munlock _munlock
_munlockall _munlockall
_munmap _munmap
_necp_client_action
_necp_match_policy _necp_match_policy
_necp_open
_netagent_trigger
_netname_check_in _netname_check_in
_netname_check_out _netname_check_out
_netname_look_up _netname_look_up
@ -645,6 +726,44 @@ _open_dprotected_np
_openat _openat
_openat$NOCANCEL _openat$NOCANCEL
_openbyid_np _openbyid_np
_os_channel_advance_slot
_os_channel_attr_clone
_os_channel_attr_create
_os_channel_attr_destroy
_os_channel_attr_get
_os_channel_attr_get_key
_os_channel_attr_set
_os_channel_attr_set_key
_os_channel_available_slot_count
_os_channel_create
_os_channel_create_extended
_os_channel_destroy
_os_channel_get_fd
_os_channel_get_next_slot
_os_channel_pending
_os_channel_read_attr
_os_channel_read_nexus_extension_info
_os_channel_ring_id
_os_channel_rx_ring
_os_channel_set_slot_properties
_os_channel_sync
_os_channel_tx_ring
_os_channel_write_attr
_os_nexus_attr_clone
_os_nexus_attr_create
_os_nexus_attr_destroy
_os_nexus_attr_get
_os_nexus_attr_set
_os_nexus_controller_alloc_provider_instance
_os_nexus_controller_bind_provider_instance
_os_nexus_controller_create
_os_nexus_controller_deregister_provider
_os_nexus_controller_destroy
_os_nexus_controller_free_provider_instance
_os_nexus_controller_get_fd
_os_nexus_controller_read_provider_attr
_os_nexus_controller_register_provider
_os_nexus_controller_unbind_provider_instance
_panic _panic
_panic_init _panic_init
_pathconf _pathconf
@ -669,6 +788,7 @@ _posix_spawn_file_actions_addopen
_posix_spawn_file_actions_destroy _posix_spawn_file_actions_destroy
_posix_spawn_file_actions_init _posix_spawn_file_actions_init
_posix_spawnattr_destroy _posix_spawnattr_destroy
_posix_spawnattr_get_darwin_role_np
_posix_spawnattr_get_qos_clamp_np _posix_spawnattr_get_qos_clamp_np
_posix_spawnattr_getbinpref_np _posix_spawnattr_getbinpref_np
_posix_spawnattr_getcpumonitor _posix_spawnattr_getcpumonitor
@ -680,7 +800,12 @@ _posix_spawnattr_getprocesstype_np
_posix_spawnattr_getsigdefault _posix_spawnattr_getsigdefault
_posix_spawnattr_getsigmask _posix_spawnattr_getsigmask
_posix_spawnattr_init _posix_spawnattr_init
_posix_spawnattr_set_darwin_role_np
_posix_spawnattr_set_importancewatch_port_np _posix_spawnattr_set_importancewatch_port_np
_posix_spawnattr_set_persona_gid_np
_posix_spawnattr_set_persona_groups_np
_posix_spawnattr_set_persona_np
_posix_spawnattr_set_persona_uid_np
_posix_spawnattr_set_qos_clamp_np _posix_spawnattr_set_qos_clamp_np
_posix_spawnattr_setauditsessionport_np _posix_spawnattr_setauditsessionport_np
_posix_spawnattr_setbinpref_np _posix_spawnattr_setbinpref_np
@ -689,6 +814,7 @@ _posix_spawnattr_setcpumonitor
_posix_spawnattr_setcpumonitor_default _posix_spawnattr_setcpumonitor_default
_posix_spawnattr_setexceptionports_np _posix_spawnattr_setexceptionports_np
_posix_spawnattr_setflags _posix_spawnattr_setflags
_posix_spawnattr_setjetsam_ext
_posix_spawnattr_setmacpolicyinfo_np _posix_spawnattr_setmacpolicyinfo_np
_posix_spawnattr_setpcontrol_np _posix_spawnattr_setpcontrol_np
_posix_spawnattr_setpgroup _posix_spawnattr_setpgroup
@ -698,6 +824,7 @@ _posix_spawnattr_setsigmask
_posix_spawnattr_setspecialport_np _posix_spawnattr_setspecialport_np
_pread _pread
_pread$NOCANCEL _pread$NOCANCEL
_proc_clear_cpulimits
_proc_clear_delayidlesleep _proc_clear_delayidlesleep
_proc_clear_dirty _proc_clear_dirty
_proc_clear_vmpressure _proc_clear_vmpressure
@ -715,8 +842,10 @@ _proc_importance_assertion_begin_with_msg
_proc_importance_assertion_complete _proc_importance_assertion_complete
_proc_kmsgbuf _proc_kmsgbuf
_proc_libversion _proc_libversion
_proc_list_uptrs
_proc_listallpids _proc_listallpids
_proc_listchildpids _proc_listchildpids
_proc_listcoalitions
_proc_listpgrppids _proc_listpgrppids
_proc_listpids _proc_listpids
_proc_listpidspath _proc_listpidspath
@ -728,6 +857,7 @@ _proc_pidinfo
_proc_pidoriginatorinfo _proc_pidoriginatorinfo
_proc_pidpath _proc_pidpath
_proc_regionfilename _proc_regionfilename
_proc_resume_cpumon
_proc_rlimit_control _proc_rlimit_control
_proc_set_cpumon_defaults _proc_set_cpumon_defaults
_proc_set_cpumon_params _proc_set_cpumon_params
@ -737,6 +867,7 @@ _proc_set_dirty
_proc_set_owner_vmpressure _proc_set_owner_vmpressure
_proc_set_wakemon_defaults _proc_set_wakemon_defaults
_proc_set_wakemon_params _proc_set_wakemon_params
_proc_setcpu_percentage
_proc_setpcontrol _proc_setpcontrol
_proc_setthread_cpupercent _proc_setthread_cpupercent
_proc_suppress _proc_suppress
@ -790,6 +921,8 @@ _removexattr
_rename _rename
_rename_ext _rename_ext
_renameat _renameat
_renameatx_np
_renamex_np
_revoke _revoke
_rmdir _rmdir
_searchfs _searchfs
@ -876,6 +1009,16 @@ _sigsuspend$NOCANCEL
_socket _socket
_socket_delegate _socket_delegate
_socketpair _socketpair
_stackshot_capture_with_config
_stackshot_config_create
_stackshot_config_dealloc
_stackshot_config_dealloc_buffer
_stackshot_config_get_stackshot_buffer
_stackshot_config_get_stackshot_size
_stackshot_config_set_delta_timestamp
_stackshot_config_set_flags
_stackshot_config_set_pid
_stackshot_config_set_size_hint
_stat _stat
_stat$INODE64 _stat$INODE64
_stat64 _stat64
@ -897,18 +1040,26 @@ _task_assign
_task_assign_default _task_assign_default
_task_create _task_create
_task_for_pid _task_for_pid
_task_generate_corpse
_task_get_assignment _task_get_assignment
_task_get_dyld_image_infos
_task_get_emulation_vector _task_get_emulation_vector
_task_get_exception_ports _task_get_exception_ports
_task_get_mach_voucher _task_get_mach_voucher
_task_get_special_port _task_get_special_port
_task_get_state _task_get_state
_task_info _task_info
_task_map_corpse_info
_task_map_corpse_info_64
_task_name_for_pid _task_name_for_pid
_task_policy _task_policy
_task_policy_get _task_policy_get
_task_policy_set _task_policy_set
_task_purgable_info _task_purgable_info
_task_register_dyld_get_process_state
_task_register_dyld_image_infos
_task_register_dyld_set_dyld_state
_task_register_dyld_shared_cache_image_info
_task_resume _task_resume
_task_resume2 _task_resume2
_task_sample _task_sample
@ -931,7 +1082,10 @@ _task_swap_exception_ports
_task_swap_mach_voucher _task_swap_mach_voucher
_task_terminate _task_terminate
_task_threads _task_threads
_task_unregister_dyld_image_infos
_task_zone_info _task_zone_info
_terminate_with_payload
_terminate_with_reason
_thread_abort _thread_abort
_thread_abort_safely _thread_abort_safely
_thread_assign _thread_assign
@ -942,6 +1096,7 @@ _thread_depress_abort
_thread_get_assignment _thread_get_assignment
_thread_get_exception_ports _thread_get_exception_ports
_thread_get_mach_voucher _thread_get_mach_voucher
_thread_get_register_pointer_values
_thread_get_special_port _thread_get_special_port
_thread_get_state _thread_get_state
_thread_info _thread_info
@ -968,6 +1123,7 @@ _undelete
_unlink _unlink
_unlinkat _unlinkat
_unmount _unmount
_usrctl
_utimes _utimes
_vfork _vfork
_vfs_purge _vfs_purge
@ -1008,6 +1164,10 @@ _waitevent
_waitid _waitid
_waitid$NOCANCEL _waitid$NOCANCEL
_watchevent _watchevent
_work_interval_create
_work_interval_destroy
_work_interval_notify
_work_interval_notify_simple
_write _write
_write$NOCANCEL _write$NOCANCEL
_writev _writev

View File

@ -0,0 +1,116 @@
{ appleDerivation }:
appleDerivation {
phases = [ "unpackPhase" "installPhase" ];
__propagatedImpureHostDeps = [
"/System/Library/Frameworks/Security.framework/Security"
"/System/Library/Frameworks/Security.framework/Resources"
"/System/Library/Frameworks/Security.framework/PlugIns"
"/System/Library/Frameworks/Security.framework/XPCServices"
"/System/Library/Frameworks/Security.framework/Versions"
];
installPhase = ''
###### IMPURITIES
mkdir -p $out/Library/Frameworks/Security.framework
pushd $out/Library/Frameworks/Security.framework
ln -s /System/Library/Frameworks/Security.framework/Security
ln -s /System/Library/Frameworks/Security.framework/Resources
ln -s /System/Library/Frameworks/Security.framework/PlugIns
ln -s /System/Library/Frameworks/Security.framework/XPCServices
popd
###### HEADERS
export dest=$out/Library/Frameworks/Security.framework/Headers
mkdir -p $dest
cp libsecurity_asn1/lib/SecAsn1Coder.h $dest
cp libsecurity_asn1/lib/SecAsn1Templates.h $dest
cp libsecurity_asn1/lib/SecAsn1Types.h $dest
cp libsecurity_asn1/lib/oidsalg.h $dest
cp libsecurity_asn1/lib/oidsattr.h $dest
cp libsecurity_authorization/lib/AuthSession.h $dest
cp libsecurity_authorization/lib/Authorization.h $dest
cp libsecurity_authorization/lib/AuthorizationDB.h $dest
cp libsecurity_authorization/lib/AuthorizationPlugin.h $dest
cp libsecurity_authorization/lib/AuthorizationTags.h $dest
cp libsecurity_cms/lib/CMSDecoder.h $dest
cp libsecurity_cms/lib/CMSEncoder.h $dest
cp libsecurity_codesigning/lib/CSCommon.h $dest
cp libsecurity_codesigning/lib/CodeSigning.h $dest
cp libsecurity_codesigning/lib/SecCode.h $dest
cp libsecurity_codesigning/lib/SecCodeHost.h $dest
cp libsecurity_codesigning/lib/SecRequirement.h $dest
cp libsecurity_codesigning/lib/SecStaticCode.h $dest
cp libsecurity_codesigning/lib/SecTask.h $dest
cp libsecurity_cssm/lib/certextensions.h $dest
cp libsecurity_cssm/lib/cssm.h $dest
cp libsecurity_cssm/lib/cssmaci.h $dest
cp libsecurity_cssm/lib/cssmapi.h $dest
cp libsecurity_cssm/lib/cssmapple.h $dest
cp libsecurity_cssm/lib/cssmcli.h $dest
cp libsecurity_cssm/lib/cssmconfig.h $dest
cp libsecurity_cssm/lib/cssmcspi.h $dest
cp libsecurity_cssm/lib/cssmdli.h $dest
cp libsecurity_cssm/lib/cssmerr.h $dest
cp libsecurity_cssm/lib/cssmkrapi.h $dest
cp libsecurity_cssm/lib/cssmkrspi.h $dest
cp libsecurity_cssm/lib/cssmspi.h $dest
cp libsecurity_cssm/lib/cssmtpi.h $dest
cp libsecurity_cssm/lib/cssmtype.h $dest
cp libsecurity_cssm/lib/eisl.h $dest
cp libsecurity_cssm/lib/emmspi.h $dest
cp libsecurity_cssm/lib/emmtype.h $dest
cp libsecurity_cssm/lib/oidsbase.h $dest
cp libsecurity_cssm/lib/oidscert.h $dest
cp libsecurity_cssm/lib/oidscrl.h $dest
cp libsecurity_cssm/lib/x509defs.h $dest
cp libsecurity_keychain/lib/SecACL.h $dest
cp libsecurity_keychain/lib/SecAccess.h $dest
cp libsecurity_keychain/lib/SecBase.h $dest
cp libsecurity_keychain/lib/SecCertificate.h $dest
cp libsecurity_keychain/lib/SecCertificatePriv.h $dest # Private
cp libsecurity_keychain/lib/SecCertificateOIDs.h $dest
cp libsecurity_keychain/lib/SecIdentity.h $dest
cp libsecurity_keychain/lib/SecIdentitySearch.h $dest
cp libsecurity_keychain/lib/SecImportExport.h $dest
cp libsecurity_keychain/lib/SecItem.h $dest
cp libsecurity_keychain/lib/SecKey.h $dest
cp libsecurity_keychain/lib/SecKeychain.h $dest
cp libsecurity_keychain/lib/SecKeychainItem.h $dest
cp libsecurity_keychain/lib/SecKeychainSearch.h $dest
cp libsecurity_keychain/lib/SecPolicy.h $dest
cp libsecurity_keychain/lib/SecPolicySearch.h $dest
cp libsecurity_keychain/lib/SecRandom.h $dest
cp libsecurity_keychain/lib/SecTrust.h $dest
cp libsecurity_keychain/lib/SecTrustSettings.h $dest
cp libsecurity_keychain/lib/SecTrustedApplication.h $dest
cp libsecurity_keychain/lib/Security.h $dest
cp libsecurity_manifest/lib/SecureDownload.h $dest
cp libsecurity_mds/lib/mds.h $dest
cp libsecurity_mds/lib/mds_schema.h $dest
cp libsecurity_ssl/lib/CipherSuite.h $dest
cp libsecurity_ssl/lib/SecureTransport.h $dest
cp libsecurity_transform/lib/SecCustomTransform.h $dest
cp libsecurity_transform/lib/SecDecodeTransform.h $dest
cp libsecurity_transform/lib/SecDigestTransform.h $dest
cp libsecurity_transform/lib/SecEncodeTransform.h $dest
cp libsecurity_transform/lib/SecEncryptTransform.h $dest
cp libsecurity_transform/lib/SecReadTransform.h $dest
cp libsecurity_transform/lib/SecSignVerifyTransform.h $dest
cp libsecurity_transform/lib/SecTransform.h $dest
cp libsecurity_transform/lib/SecTransformReadTransform.h $dest
'';
}

View File

@ -1,116 +1,19 @@
{ appleDerivation }: { stdenv, appleDerivation, xcbuildHook, Foundation, xpc, darling, dtrace, xnu }:
appleDerivation { appleDerivation {
phases = [ "unpackPhase" "installPhase" ]; nativeBuildInputs = [ xcbuildHook dtrace ];
# buildInputs = [ Foundation xpc darling ];
buildInputs = [ xpc xnu ];
__propagatedImpureHostDeps = [ xcbuildFlags = "-target Security_frameworks_osx";
"/System/Library/Frameworks/Security.framework/Security"
"/System/Library/Frameworks/Security.framework/Resources"
"/System/Library/Frameworks/Security.framework/PlugIns"
"/System/Library/Frameworks/Security.framework/XPCServices"
"/System/Library/Frameworks/Security.framework/Versions"
];
installPhase = '' # NIX_CFLAGS_COMPILE = "-Wno-error -I${xnu}/include/libkern -DPRIVATE -I${xnu}/Library/Frameworks/System.framework/Headers";
###### IMPURITIES
mkdir -p $out/Library/Frameworks/Security.framework
pushd $out/Library/Frameworks/Security.framework
ln -s /System/Library/Frameworks/Security.framework/Security
ln -s /System/Library/Frameworks/Security.framework/Resources
ln -s /System/Library/Frameworks/Security.framework/PlugIns
ln -s /System/Library/Frameworks/Security.framework/XPCServices
popd
###### HEADERS preBuild = ''
dtrace -h -C -s OSX/libsecurity_utilities/lib/security_utilities.d -o OSX/libsecurity_utilities/lib/utilities_dtrace.h
export dest=$out/Library/Frameworks/Security.framework/Headers
mkdir -p $dest
cp libsecurity_asn1/lib/SecAsn1Coder.h $dest
cp libsecurity_asn1/lib/SecAsn1Templates.h $dest
cp libsecurity_asn1/lib/SecAsn1Types.h $dest
cp libsecurity_asn1/lib/oidsalg.h $dest
cp libsecurity_asn1/lib/oidsattr.h $dest
cp libsecurity_authorization/lib/AuthSession.h $dest
cp libsecurity_authorization/lib/Authorization.h $dest
cp libsecurity_authorization/lib/AuthorizationDB.h $dest
cp libsecurity_authorization/lib/AuthorizationPlugin.h $dest
cp libsecurity_authorization/lib/AuthorizationTags.h $dest
cp libsecurity_cms/lib/CMSDecoder.h $dest
cp libsecurity_cms/lib/CMSEncoder.h $dest
cp libsecurity_codesigning/lib/CSCommon.h $dest
cp libsecurity_codesigning/lib/CodeSigning.h $dest
cp libsecurity_codesigning/lib/SecCode.h $dest
cp libsecurity_codesigning/lib/SecCodeHost.h $dest
cp libsecurity_codesigning/lib/SecRequirement.h $dest
cp libsecurity_codesigning/lib/SecStaticCode.h $dest
cp libsecurity_codesigning/lib/SecTask.h $dest
cp libsecurity_cssm/lib/certextensions.h $dest
cp libsecurity_cssm/lib/cssm.h $dest
cp libsecurity_cssm/lib/cssmaci.h $dest
cp libsecurity_cssm/lib/cssmapi.h $dest
cp libsecurity_cssm/lib/cssmapple.h $dest
cp libsecurity_cssm/lib/cssmcli.h $dest
cp libsecurity_cssm/lib/cssmconfig.h $dest
cp libsecurity_cssm/lib/cssmcspi.h $dest
cp libsecurity_cssm/lib/cssmdli.h $dest
cp libsecurity_cssm/lib/cssmerr.h $dest
cp libsecurity_cssm/lib/cssmkrapi.h $dest
cp libsecurity_cssm/lib/cssmkrspi.h $dest
cp libsecurity_cssm/lib/cssmspi.h $dest
cp libsecurity_cssm/lib/cssmtpi.h $dest
cp libsecurity_cssm/lib/cssmtype.h $dest
cp libsecurity_cssm/lib/eisl.h $dest
cp libsecurity_cssm/lib/emmspi.h $dest
cp libsecurity_cssm/lib/emmtype.h $dest
cp libsecurity_cssm/lib/oidsbase.h $dest
cp libsecurity_cssm/lib/oidscert.h $dest
cp libsecurity_cssm/lib/oidscrl.h $dest
cp libsecurity_cssm/lib/x509defs.h $dest
cp libsecurity_keychain/lib/SecACL.h $dest
cp libsecurity_keychain/lib/SecAccess.h $dest
cp libsecurity_keychain/lib/SecBase.h $dest
cp libsecurity_keychain/lib/SecCertificate.h $dest
cp libsecurity_keychain/lib/SecCertificatePriv.h $dest # Private
cp libsecurity_keychain/lib/SecCertificateOIDs.h $dest
cp libsecurity_keychain/lib/SecIdentity.h $dest
cp libsecurity_keychain/lib/SecIdentitySearch.h $dest
cp libsecurity_keychain/lib/SecImportExport.h $dest
cp libsecurity_keychain/lib/SecItem.h $dest
cp libsecurity_keychain/lib/SecKey.h $dest
cp libsecurity_keychain/lib/SecKeychain.h $dest
cp libsecurity_keychain/lib/SecKeychainItem.h $dest
cp libsecurity_keychain/lib/SecKeychainSearch.h $dest
cp libsecurity_keychain/lib/SecPolicy.h $dest
cp libsecurity_keychain/lib/SecPolicySearch.h $dest
cp libsecurity_keychain/lib/SecRandom.h $dest
cp libsecurity_keychain/lib/SecTrust.h $dest
cp libsecurity_keychain/lib/SecTrustSettings.h $dest
cp libsecurity_keychain/lib/SecTrustedApplication.h $dest
cp libsecurity_keychain/lib/Security.h $dest
cp libsecurity_manifest/lib/SecureDownload.h $dest
cp libsecurity_mds/lib/mds.h $dest
cp libsecurity_mds/lib/mds_schema.h $dest
cp libsecurity_ssl/lib/CipherSuite.h $dest
cp libsecurity_ssl/lib/SecureTransport.h $dest
cp libsecurity_transform/lib/SecCustomTransform.h $dest
cp libsecurity_transform/lib/SecDecodeTransform.h $dest
cp libsecurity_transform/lib/SecDigestTransform.h $dest
cp libsecurity_transform/lib/SecEncodeTransform.h $dest
cp libsecurity_transform/lib/SecEncryptTransform.h $dest
cp libsecurity_transform/lib/SecReadTransform.h $dest
cp libsecurity_transform/lib/SecSignVerifyTransform.h $dest
cp libsecurity_transform/lib/SecTransform.h $dest
cp libsecurity_transform/lib/SecTransformReadTransform.h $dest
xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates -target copyHeadersToSystem
NIX_CFLAGS_COMPILE+=" -F./Products/Release"
ln -s $PWD/Products/Release/Security.bundle/Contents $PWD/Products/Release/Security.framework
''; '';
} }

View File

@ -1,42 +0,0 @@
{ stdenv, appleDerivation, xcbuildHook, gnumake, Security
, libsecurity_utilities, libsecurity_cdsa_utilities }:
appleDerivation {
nativeBuildInputs = [ xcbuildHook ];
buildInputs = [ libsecurity_utilities libsecurity_cdsa_utilities ];
DSTROOT = "$out";
NIX_CFLAGS_COMPILE = "-I.";
preBuild = ''
mkdir -p Security
cp ${Security}/Library/Frameworks/Security.framework/Headers/*.h Security
'';
patchPhase = ''
substituteInPlace SmartCardServices.xcodeproj/project.pbxproj \
--replace "/usr/bin/gnumake" "${gnumake}/bin/make"
substituteInPlace src/PCSC/PCSC.exp \
--replace _PCSCVersionString "" \
--replace _PCSCVersionNumber ""
substituteInPlace Makefile.installPhase \
--replace chown "# chown" \
--replace /usr/bin/ ""
'';
installPhase = ''
make -f Makefile.installPhase install
make -f Makefile-exec.installPhase install
mv $out/usr/* $out
rmdir $out/usr
mkdir -p $out/Library/Frameworks
cp -r Products/Release/PCSC.bundle $out/Library/Frameworks/PCSC.framework
'';
meta = with stdenv.lib; {
maintainers = with maintainers; [ matthewbauer ];
platforms = platforms.darwin;
license = licenses.apsl20;
};
}

View File

@ -0,0 +1,91 @@
{ stdenv, appleDerivation, fetchzip, bsdmake, perl, flex, yacc
}:
# this derivation sucks
# locale data was removed after adv_cmds-118, so our base is that because it's easier than
# replicating the bizarre bsdmake file structure
#
# sadly adv_cmds-118 builds a mklocale and colldef that generate files that our libc can no
# longer understand
#
# the more recent adv_cmds release is used for everything else in this package
let recentAdvCmds = fetchzip {
url = "http://opensource.apple.com/tarballs/adv_cmds/adv_cmds-158.tar.gz";
sha256 = "0z081kcprzg5jcvqivfnwvvv6wfxzkjg2jc2lagsf8c7j7vgm8nn";
};
in appleDerivation {
nativeBuildInputs = [ bsdmake perl yacc flex ];
buildInputs = [ flex ];
patchPhase = ''
substituteInPlace BSDmakefile \
--replace chgrp true \
--replace /Developer/Makefiles/bin/compress-man-pages.pl true \
--replace "ps.tproj" "" --replace "gencat.tproj" "" --replace "md.tproj" "" \
--replace "tabs.tproj" "" --replace "cap_mkdb.tproj" "" \
--replace "!= tconf --test TARGET_OS_EMBEDDED" "= NO"
substituteInPlace Makefile --replace perl true
for subproject in colldef mklocale monetdef msgdef numericdef timedef; do
substituteInPlace usr-share-locale.tproj/$subproject/BSDmakefile \
--replace /usr/share/locale "" \
--replace '-o ''${BINOWN} -g ''${BINGRP}' "" \
--replace "rsync -a" "cp -r"
done
'';
preBuild = ''
cp -r --no-preserve=all ${recentAdvCmds}/colldef .
pushd colldef
mv locale/collate.h .
flex -t -8 -i scan.l > scan.c
yacc -d parse.y
clang *.c -o colldef -lfl
popd
mv colldef/colldef colldef.tproj/colldef
cp -r --no-preserve=all ${recentAdvCmds}/mklocale .
pushd mklocale
flex -t -8 -i lex.l > lex.c
yacc -d yacc.y
clang *.c -o mklocale -lfl
popd
mv mklocale/mklocale mklocale.tproj/mklocale
'';
buildPhase = ''
runHook preBuild
bsdmake -C usr-share-locale.tproj
clang ${recentAdvCmds}/ps/*.c -o ps
'';
installPhase = ''
bsdmake -C usr-share-locale.tproj install DESTDIR="$locale/share/locale"
# need to get rid of runtime dependency on flex
# install -d 0755 $locale/bin
# install -m 0755 colldef.tproj/colldef $locale/bin
# install -m 0755 mklocale.tproj/mklocale $locale/bin
install -d 0755 $ps/bin
install ps $ps/bin/ps
touch "$out"
'';
outputs = [
"out"
"ps"
"locale"
];
setOutputFlags = false;
meta = {
platforms = stdenv.lib.platforms.darwin;
maintainers = with stdenv.lib.maintainers; [ gridaphobe ];
};
}

View File

@ -1,91 +1,58 @@
{ stdenv, appleDerivation, fetchzip, bsdmake, perl, flex, yacc { stdenv, appleDerivation, xcbuild, ncurses, libutil }:
}:
# this derivation sucks appleDerivation {
# locale data was removed after adv_cmds-118, so our base is that because it's easier than # We can't just run the root build, because https://github.com/facebook/xcbuild/issues/264
# replicating the bizarre bsdmake file structure
#
# sadly adv_cmds-118 builds a mklocale and colldef that generate files that our libc can no
# longer understand
#
# the more recent adv_cmds release is used for everything else in this package
let recentAdvCmds = fetchzip { # pkill requires special private headers that are unavailable in
url = "http://opensource.apple.com/tarballs/adv_cmds/adv_cmds-158.tar.gz"; # NixPkgs. These ones are needed:
sha256 = "0z081kcprzg5jcvqivfnwvvv6wfxzkjg2jc2lagsf8c7j7vgm8nn"; # - xpc/xpxc.h
}; # - os/base_private.h
# - _simple.h
in appleDerivation { # We disable it here for now. TODO: build pkill inside adv_cmds
nativeBuildInputs = [ bsdmake perl yacc flex ];
buildInputs = [ flex ];
# We also disable locale here because of some issues with a missing
# "lstdc++".
patchPhase = '' patchPhase = ''
substituteInPlace BSDmakefile \ substituteInPlace adv_cmds.xcodeproj/project.pbxproj \
--replace chgrp true \ --replace "FD201DC214369B4200906237 /* pkill.c in Sources */," "" \
--replace /Developer/Makefiles/bin/compress-man-pages.pl true \ --replace "FDF278D60FC6204E00D7A3C6 /* locale.cc in Sources */," "" \
--replace "ps.tproj" "" --replace "gencat.tproj" "" --replace "md.tproj" "" \ --replace '/usr/lib/libtermcap.dylib' 'libncurses.dylib'
--replace "tabs.tproj" "" --replace "cap_mkdb.tproj" "" \
--replace "!= tconf --test TARGET_OS_EMBEDDED" "= NO"
substituteInPlace Makefile --replace perl true
for subproject in colldef mklocale monetdef msgdef numericdef timedef; do
substituteInPlace usr-share-locale.tproj/$subproject/BSDmakefile \
--replace /usr/share/locale "" \
--replace '-o ''${BINOWN} -g ''${BINGRP}' "" \
--replace "rsync -a" "cp -r"
done
'';
preBuild = ''
cp -r --no-preserve=all ${recentAdvCmds}/colldef .
pushd colldef
mv locale/collate.h .
flex -t -8 -i scan.l > scan.c
yacc -d parse.y
clang *.c -o colldef -lfl
popd
mv colldef/colldef colldef.tproj/colldef
cp -r --no-preserve=all ${recentAdvCmds}/mklocale .
pushd mklocale
flex -t -8 -i lex.l > lex.c
yacc -d yacc.y
clang *.c -o mklocale -lfl
popd
mv mklocale/mklocale mklocale.tproj/mklocale
''; '';
buildPhase = '' buildPhase = ''
runHook preBuild targets=$(xcodebuild -list \
| awk '/Targets:/{p=1;print;next} p&&/^\s*$/{p=0};p' \
| tail -n +2 | sed 's/^[ \t]*//' \
| grep -v -e Desktop -e Embedded -e mklocale -e colldef)
bsdmake -C usr-share-locale.tproj for i in $targets; do
xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates -target $i
clang ${recentAdvCmds}/ps/*.c -o ps done
''; '';
# temporary install phase until xcodebuild has "install" support
installPhase = '' installPhase = ''
bsdmake -C usr-share-locale.tproj install DESTDIR="$locale/share/locale" mkdir -p $out/bin/
install Products/Release/* $out/bin/
# need to get rid of runtime dependency on flex for n in 1 8; do
# install -d 0755 $locale/bin mkdir -p $out/share/man/man$n
# install -m 0755 colldef.tproj/colldef $locale/bin install */*.$n $out/share/man/man$n
# install -m 0755 mklocale.tproj/mklocale $locale/bin done
install -d 0755 $ps/bin mkdir -p $out/System/Library/LaunchDaemons
install ps $ps/bin/ps install fingerd/finger.plist $out/System/Library/LaunchDaemons
touch "$out"
# from variant_links.sh
# ln -s $out/bin/pkill $out/bin/pgrep
# ln -s $out/share/man/man1/pkill.1 $out/share/man/man1/pgrep.1
''; '';
outputs = [ nativeBuildInputs = [ xcbuild ];
"out" buildInputs = [ ncurses libutil ];
"ps"
"locale"
];
setOutputFlags = false;
meta = { meta = {
platforms = stdenv.lib.platforms.darwin; platforms = stdenv.lib.platforms.darwin;
maintainers = with stdenv.lib.maintainers; [ gridaphobe ]; maintainers = with stdenv.lib.maintainers; [ matthewbauer ];
}; };
} }

View File

@ -1,58 +0,0 @@
{ stdenv, appleDerivation, xcbuild, ncurses, libutil-new }:
appleDerivation {
# We can't just run the root build, because https://github.com/facebook/xcbuild/issues/264
# pkill requires special private headers that are unavailable in
# NixPkgs. These ones are needed:
# - xpc/xpxc.h
# - os/base_private.h
# - _simple.h
# We disable it here for now. TODO: build pkill inside adv_cmds
# We also disable locale here because of some issues with a missing
# "lstdc++".
patchPhase = ''
substituteInPlace adv_cmds.xcodeproj/project.pbxproj \
--replace "FD201DC214369B4200906237 /* pkill.c in Sources */," "" \
--replace "FDF278D60FC6204E00D7A3C6 /* locale.cc in Sources */," "" \
--replace '/usr/lib/libtermcap.dylib' 'libncurses.dylib'
'';
buildPhase = ''
targets=$(xcodebuild -list \
| awk '/Targets:/{p=1;print;next} p&&/^\s*$/{p=0};p' \
| tail -n +2 | sed 's/^[ \t]*//' \
| grep -v -e Desktop -e Embedded -e mklocale -e colldef)
for i in $targets; do
xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates -target $i
done
'';
# temporary install phase until xcodebuild has "install" support
installPhase = ''
mkdir -p $out/bin/
install Products/Release/* $out/bin/
for n in 1 8; do
mkdir -p $out/share/man/man$n
install */*.$n $out/share/man/man$n
done
mkdir -p $out/System/Library/LaunchDaemons
install fingerd/finger.plist $out/System/Library/LaunchDaemons
# from variant_links.sh
# ln -s $out/bin/pkill $out/bin/pgrep
# ln -s $out/share/man/man1/pkill.1 $out/share/man/man1/pgrep.1
'';
nativeBuildInputs = [ xcbuild ];
buildInputs = [ ncurses libutil-new ];
meta = {
platforms = stdenv.lib.platforms.darwin;
maintainers = with stdenv.lib.maintainers; [ matthewbauer ];
};
}

View File

@ -32,6 +32,7 @@ appleDerivation {
chmod +x mig.sh chmod +x mig.sh
cp mig.sh $out/bin/mig cp mig.sh $out/bin/mig
cp migcom $out/libexec cp migcom $out/libexec
ln -s $out/libexec/migcom $out/bin/migcom
cp mig.1 $out/share/man/man1 cp mig.1 $out/share/man/man1
cp migcom.1 $out/share/man/man1 cp migcom.1 $out/share/man/man1

View File

@ -6,9 +6,31 @@ let
# a stdenv out of something like this. With some care we can probably get rid of this, but for # a stdenv out of something like this. With some care we can probably get rid of this, but for
# now it's staying here. # now it's staying here.
versions = { versions = {
"osx-10.12.6" = {
xnu = "3789.70.16";
libiconv = "50";
Libnotify = "165.20.1";
objc4 = "709.1";
dyld = "433.5";
CommonCrypto = "60092.50.5";
copyfile = "138";
ppp = "838.50.1";
libclosure = "67";
Libinfo = "503.50.4";
Libsystem = "1238.60.2";
removefile = "45";
libresolv = "64";
libplatform = "126.50.8";
mDNSResponder = "765.50.9";
libutil = "47.30.1";
libunwind = "35.3";
Libc = "1158.50.2";
dtrace = "209.50.12";
libpthread = "218.60.3";
hfs = "366.70.1";
};
"osx-10.11.6" = { "osx-10.11.6" = {
PowerManagement = "572.50.1"; PowerManagement = "572.50.1";
SmartCardServices = "55111";
dtrace = "168"; dtrace = "168";
xnu = "3248.60.10"; xnu = "3248.60.10";
libpthread = "138.10.4"; libpthread = "138.10.4";
@ -58,7 +80,6 @@ let
ICU = "531.48"; ICU = "531.48";
libdispatch = "442.1.4"; libdispatch = "442.1.4";
Security = "57031.40.6"; Security = "57031.40.6";
security_systemkeychain = "55202";
IOAudioFamily = "203.3"; IOAudioFamily = "203.3";
IOFireWireFamily = "458"; IOFireWireFamily = "458";
@ -94,28 +115,6 @@ let
"osx-10.8.4" = { "osx-10.8.4" = {
IOUSBFamily = "560.4.2"; IOUSBFamily = "560.4.2";
}; };
"osx-10.7.5" = {
libsecurity_apple_csp = "55003";
libsecurity_apple_cspdl = "55000";
libsecurity_apple_file_dl = "55000";
libsecurity_apple_x509_cl = "55004";
libsecurity_apple_x509_tp = "55009.3";
libsecurity_asn1 = "55000.2";
libsecurity_cdsa_client = "55000";
libsecurity_cdsa_plugin = "55001";
libsecurity_cdsa_utilities = "55006";
libsecurity_cdsa_utils = "55000";
libsecurity_codesigning = "55037.15";
libsecurity_cssm = "55005.5";
libsecurity_filedb = "55016.1";
libsecurity_keychain = "55050.9";
libsecurity_mds = "55000";
libsecurity_ocspd = "55010";
libsecurity_pkcs12 = "55000";
libsecurity_sd_cspdl = "55003";
libsecurity_utilities = "55030.3";
libsecurityd = "55004";
};
"osx-10.7.4" = { "osx-10.7.4" = {
Libm = "2026"; Libm = "2026";
}; };
@ -166,10 +165,6 @@ let
callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation name version; }); callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation name version; });
in callPackage (./. + "/${namePath}"); in callPackage (./. + "/${namePath}");
libsecPackage = pkgs.callPackage ./libsecurity_generic {
inherit applePackage appleDerivation_;
};
IOKitSpecs = { IOKitSpecs = {
IOAudioFamily = fetchApple "osx-10.10.5" "0ggq7za3iq8g02j16rj67prqhrw828jsw3ah3bxq8a1cvr55aqnq"; IOAudioFamily = fetchApple "osx-10.10.5" "0ggq7za3iq8g02j16rj67prqhrw828jsw3ah3bxq8a1cvr55aqnq";
IOFireWireFamily = fetchApple "osx-10.10.5" "059qa1m668kwvchl90cqcx35b31zaqdg61zi11y1imn5s389y2g1"; IOFireWireFamily = fetchApple "osx-10.10.5" "059qa1m668kwvchl90cqcx35b31zaqdg61zi11y1imn5s389y2g1";
@ -194,60 +189,58 @@ let
IOKitSrcs = stdenv.lib.mapAttrs (name: value: if stdenv.lib.isFunction value then value name else value) IOKitSpecs; IOKitSrcs = stdenv.lib.mapAttrs (name: value: if stdenv.lib.isFunction value then value name else value) IOKitSpecs;
adv_cmds = applePackage "adv_cmds" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {}; # Only used for bootstrapping. Its convenient because it was the last version to come with a real makefile.
adv_cmds-boot = applePackage "adv_cmds/boot.nix" "osx-10.5.8" "102ssayxbg9wb35mdmhswbnw0bg7js3pfd8fcbic83c5q3bqa6c6" {};
packages = { packages = {
SmartCardServices = applePackage "SmartCardServices" "osx-10.11.6" "1qqjlbi6j37mw9p3qpfnwf14xh9ff8h5786bmvzwc4kblfglabkm" {}; inherit (adv_cmds-boot) ps locale;
inherit (adv_cmds) ps locale;
architecture = applePackage "architecture" "osx-10.11.6" "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {}; architecture = applePackage "architecture" "osx-10.11.6" "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {};
bootstrap_cmds = applePackage "bootstrap_cmds" "dev-tools-7.0" "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {}; bootstrap_cmds = applePackage "bootstrap_cmds" "dev-tools-7.0" "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {};
bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {}; bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {};
CarbonHeaders = applePackage "CarbonHeaders" "osx-10.6.2" "1zam29847cxr6y9rnl76zqmkbac53nx0szmqm9w5p469a6wzjqar" {}; CarbonHeaders = applePackage "CarbonHeaders" "osx-10.6.2" "1zam29847cxr6y9rnl76zqmkbac53nx0szmqm9w5p469a6wzjqar" {};
CommonCrypto = applePackage "CommonCrypto" "osx-10.11.6" "0vllfpb8f4f97wj2vpdd7w5k9ibnsbr6ff1zslpp6q323h01n25y" {}; CommonCrypto = applePackage "CommonCrypto" "osx-10.12.6" "0sgsqjcxbdm2g2zfpc50mzmk4b4ldyw7xvvkwiayhpczg1fga4ff" {};
configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {}; configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {
copyfile = applePackage "copyfile" "osx-10.11.6" "1rkf3iaxmjz5ycgrmf0g971kh90jb2z1zqxg5vlqz001s4y457gs" {}; Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
};
copyfile = applePackage "copyfile" "osx-10.12.6" "0a70bvzndkava1a946cdq42lnjhg7i7b5alpii3lap6r5fkvas0n" {};
Csu = applePackage "Csu" "osx-10.11.6" "0yh5mslyx28xzpv8qww14infkylvc1ssi57imhi471fs91sisagj" {}; Csu = applePackage "Csu" "osx-10.11.6" "0yh5mslyx28xzpv8qww14infkylvc1ssi57imhi471fs91sisagj" {};
dtrace = applePackage "dtrace" "osx-10.11.6" "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {}; dtrace = applePackage "dtrace" "osx-10.12.6" "0hpd6348av463yqf70n3xkygwmf1i5zza8kps4zys52sviqz3a0l" {};
dtrace-xcode = applePackage "dtrace/xcode.nix" "osx-10.11.6" "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {}; dyld = applePackage "dyld" "osx-10.12.6" "0q4jmk78b5ajn33blh4agyq6v2a63lpb3fln78az0dy12bnp1qqk" {};
dyld = applePackage "dyld" "osx-10.11.6" "0qkjmjazm2zpgvwqizhandybr9cm3gz9pckx8rmf0py03faafc08" {};
eap8021x = applePackage "eap8021x" "osx-10.11.6" "0iw0qdib59hihyx2275rwq507bq2a06gaj8db4a8z1rkaj1frskh" {}; eap8021x = applePackage "eap8021x" "osx-10.11.6" "0iw0qdib59hihyx2275rwq507bq2a06gaj8db4a8z1rkaj1frskh" {};
# Splicing is currently broken in Nixpkgs
# cctools need to be specified manually here to handle this
ICU = applePackage "ICU" "osx-10.10.5" "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {}; ICU = applePackage "ICU" "osx-10.10.5" "1qihlp42n5g4dl0sn0f9pc0bkxy1452dxzf0vr6y5gqpshlzy03p" {};
IOKit = applePackage "IOKit" "osx-10.11.6" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x00" { inherit IOKitSrcs; }; IOKit = applePackage "IOKit" "osx-10.11.6" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x00" { inherit IOKitSrcs; };
launchd = applePackage "launchd" "osx-10.9.5" "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {}; launchd = applePackage "launchd" "osx-10.9.5" "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {};
libauto = applePackage "libauto" "osx-10.9.5" "17z27yq5d7zfkwr49r7f0vn9pxvj95884sd2k6lq6rfaz9gxqhy3" {}; libauto = applePackage "libauto" "osx-10.9.5" "17z27yq5d7zfkwr49r7f0vn9pxvj95884sd2k6lq6rfaz9gxqhy3" {};
Libc = applePackage "Libc" "osx-10.11.5" "1qv7r0dgz06jy9i5agbqzxgdibb0m8ylki6g5n5pary88lzrawfd" { Libc = applePackage "Libc" "osx-10.12.6" "183wcy1nlj2wkpfsx3k3lyv917mk8r2p72qw8lb89mbjsw3yw0xx" {
Libc_10-9 = fetchzip { Libc_10-9 = fetchzip {
url = "http://www.opensource.apple.com/tarballs/Libc/Libc-997.90.3.tar.gz"; url = "http://www.opensource.apple.com/tarballs/Libc/Libc-997.90.3.tar.gz";
sha256 = "1xchgxkxg5288r2b9yfrqji2gsgdap92k4wx2dbjwslixws12pq7"; sha256 = "1xchgxkxg5288r2b9yfrqji2gsgdap92k4wx2dbjwslixws12pq7";
}; };
};
Libc_old = applePackage "Libc/825_40_1.nix" "osx-10.8.5" "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf" {}; Libc_old = applePackage "Libc/825_40_1.nix" "osx-10.8.5" "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf" {};
};
libclosure = applePackage "libclosure" "osx-10.11.6" "1zqy1zvra46cmqv6vsf1mcsz3a76r9bky145phfwh4ab6y15vjpq" {}; libclosure = applePackage "libclosure" "osx-10.11.6" "1zqy1zvra46cmqv6vsf1mcsz3a76r9bky145phfwh4ab6y15vjpq" {};
libdispatch = applePackage "libdispatch" "osx-10.10.5" "0jsfbzp87lwk9snlby0hd4zvj7j894p5q3cw0wdx9ny1mcp3kdcj" {}; libdispatch = applePackage "libdispatch" "osx-10.10.5" "0jsfbzp87lwk9snlby0hd4zvj7j894p5q3cw0wdx9ny1mcp3kdcj" {};
libiconv = applePackage "libiconv" "osx-10.11.6" "11h6lfajydri4widis62q8scyz7z8l6msqyx40ly4ahsdlbl0981" {}; libiconv = applePackage "libiconv" "osx-10.12.6" "1gg5h6z8sk851bhv87vyxzs54jmqz6lh57ny8j4s51j7srja0nly" {};
Libinfo = applePackage "Libinfo" "osx-10.11.6" "0qjgkd4y8sjvwjzv5wwyzkb61pg8wwg95bkp721dgzv119dqhr8x" {}; Libinfo = applePackage "Libinfo" "osx-10.11.6" "0qjgkd4y8sjvwjzv5wwyzkb61pg8wwg95bkp721dgzv119dqhr8x" {};
Libm = applePackage "Libm" "osx-10.7.4" "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {}; Libm = applePackage "Libm" "osx-10.7.4" "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {};
Libnotify = applePackage "Libnotify" "osx-10.11.6" "0zbcyxlcfhf91jxczhd5bq9qfgvg494gwwp3l7q5ayb2qdihzr8b" {}; Libnotify = applePackage "Libnotify" "osx-10.12.6" "0p5qhvalf6j1w6n8xwywhn6dvbpzv74q5wqrgs8rwfpf74wg6s9z" {};
libplatform = applePackage "libplatform" "osx-10.11.6" "1v4ik6vlklwsi0xb1g5kmhy29j9xk5m2y8xb9zbi1k4ng8x39czk" {}; libplatform = applePackage "libplatform" "osx-10.12.6" "0rh1f5ybvwz8s0nwfar8s0fh7jbgwqcy903cv2x8m15iq1x599yn" {};
libpthread = applePackage "libpthread" "osx-10.11.6" "1kbw738cmr9pa7pz1igmajs307clfq7gv2vm1sqdzhcnnjxbl28w" {}; libpthread = applePackage "libpthread" "osx-10.12.6" "1j6541rcgjpas1fc77ip5krjgw4bvz6jq7bq7h9q7axb0jv2ns6c" {};
libresolv = applePackage "libresolv" "osx-10.11.6" "09flfdi3dlzq0yap32sxidacpc4nn4va7z12a6viip21ix2xb2gf" {}; libresolv = applePackage "libresolv" "osx-10.12.6" "077j6ljfh7amqpk2146rr7dsz5vasvr3als830mgv5jzl7l6vz88" {};
Libsystem = applePackage "Libsystem" "osx-10.11.6" "1nfkmbqml587v2s1d1y2s2v8nmr577jvk51y6vqrfvsrhdhc2w94" {}; Libsystem = applePackage "Libsystem" "osx-10.12.6" "1082ircc1ggaq3wha218vmfa75jqdaqidsy1bmrc4ckfkbr3bwx2" {
libutil = applePackage "libutil" "osx-10.11.6" "1gmgmcyqdyc684ih7dimdmxdljnq7mzjy5iqbf589wc0pa8h5abm" {}; libutil = pkgs.darwin.libutil.override { headersOnly = true; };
libutil-new = applePackage "libutil/new.nix" "osx-10.11.6" "1gmgmcyqdyc684ih7dimdmxdljnq7mzjy5iqbf589wc0pa8h5abm" {}; hfs = pkgs.darwin.hfs.override { headersOnly = true; };
libunwind = applePackage "libunwind" "osx-10.11.6" "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk1b" {}; };
mDNSResponder = applePackage "mDNSResponder" "osx-10.11.6" "069incq28a78yh1bnr17h9cd5if5mwqpq8ahnkyxxx25fkaxgzcf" {}; libutil = applePackage "libutil" "osx-10.12.6" "0lqdxaj82h8yjbjm856jjz9k2d96k0viimi881akfng08xk1246y" {};
objc4 = applePackage "objc4" "osx-10.11.6" "00b7vbgxni8frrqyi69b4njjihlwydzjd9zj9x4z5dbx8jabkvrj" {}; libunwind = applePackage "libunwind" "osx-10.12.6" "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk10" {};
ppp = applePackage "ppp" "osx-10.11.6" "1dql6r1v0vbcs04958nn2i6p31yfsxyy51jca63bm5mf0gxalk3f" {}; mDNSResponder = applePackage "mDNSResponder" "osx-10.12.6" "02ms1p8zlgmprzn65jzr7yaqxykh3zxjcrw0c06aayim6h0dsqfy" {};
removefile = applePackage "removefile" "osx-10.11.6" "1b6r74ry3k01kypvlaclf33fha15pcm0kzx9zrymlg66wg0s0i3r" {}; objc4 = applePackage "objc4" "osx-10.12.6" "1cj1vhbcs9pkmag2ms8wslagicnq9bxi2qjkszmp3ys7z7ccrbwz" {};
Security = applePackage "Security" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {}; ppp = applePackage "ppp" "osx-10.12.6" "1kcc2nc4x1kf8sz0a23i6nfpvxg381kipi0qdisrp8x9z2gbkxb8" {};
xnu = applePackage "xnu" "osx-10.11.6" "0yhziq4dqqcbjpf6vyqn8xhwva2zb525gndkx8cp8alzwp76jnr9" {}; removefile = applePackage "removefile" "osx-10.12.6" "0jzjxbmxgjzhssqd50z7kq9dlwrv5fsdshh57c0f8mdwcs19bsyx" {};
xnu = applePackage "xnu" "osx-10.12.6" "1sjb0i7qzz840v2h4z3s4jyjisad4r5yyi6sg8pakv3wd81i5fg5" {};
hfs = applePackage "hfs" "osx-10.12.6" "1mj3xvqpq1mgd80b6kl1s04knqnap7hccr0gz8rjphalq14rbl5g" {};
Librpcsvc = applePackage "Librpcsvc" "osx-10.11.6" "1zwfwcl9irxl1dlnf2b4v30vdybp0p0r6n6g1pd14zbdci1jcg2k" {}; Librpcsvc = applePackage "Librpcsvc" "osx-10.11.6" "1zwfwcl9irxl1dlnf2b4v30vdybp0p0r6n6g1pd14zbdci1jcg2k" {};
adv_cmds = applePackage "adv_cmds/xcode.nix" "osx-10.11.6" "12gbv35i09aij9g90p6b3x2f3ramw43qcb2gjrg8lzkzmwvcyw9q" {}; adv_cmds = applePackage "adv_cmds" "osx-10.11.6" "12gbv35i09aij9g90p6b3x2f3ramw43qcb2gjrg8lzkzmwvcyw9q" {};
basic_cmds = applePackage "basic_cmds" "osx-10.11.6" "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {}; basic_cmds = applePackage "basic_cmds" "osx-10.11.6" "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {};
developer_cmds = applePackage "developer_cmds" "osx-10.11.6" "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {}; developer_cmds = applePackage "developer_cmds" "osx-10.11.6" "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {};
diskdev_cmds = applePackage "diskdev_cmds" "osx-10.11.6" "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {}; diskdev_cmds = applePackage "diskdev_cmds" "osx-10.11.6" "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {};
@ -259,28 +252,8 @@ let
top = applePackage "top" "osx-10.11.6" "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {}; top = applePackage "top" "osx-10.11.6" "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {};
PowerManagement = applePackage "PowerManagement" "osx-10.11.6" "1llimhvp0gjffd47322lnjq7cqwinx0c5z7ikli04ad5srpa68mh" {}; PowerManagement = applePackage "PowerManagement" "osx-10.11.6" "1llimhvp0gjffd47322lnjq7cqwinx0c5z7ikli04ad5srpa68mh" {};
security_systemkeychain = applePackage "security_systemkeychain" "osx-10.10.5" "0xviskdgxsail15npi0billyiysvljlmg38mmhnr7qi4ymnnjr90" {}; # TODO(matthewbauer):
# To be removed, once I figure out how to build a newer Security version.
libsecurity_apple_csp = libsecPackage "libsecurity_apple_csp" "osx-10.7.5" "1ngyn1ik27n4x981px3kfd1z1n8zx7r5w812b6qfjpy5nw4h746w" {}; Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
libsecurity_apple_cspdl = libsecPackage "libsecurity_apple_cspdl" "osx-10.7.5" "1svqa5fhw7p7njzf8bzg7zgc5776aqjhdbnlhpwmr5hmz5i0x8r7" {};
libsecurity_apple_file_dl = libsecPackage "libsecurity_apple_file_dl" "osx-10.7.5" "1dfqani3n135i3iqmafc1k9awmz6s0a78zifhk15rx5a8ps870bl" {};
libsecurity_apple_x509_cl = libsecPackage "libsecurity_apple_x509_cl" "osx-10.7.5" "1gji2i080560s08k1nigsla1zdmi6slyv97xaj5vqxjpxb0g1xf5" {};
libsecurity_apple_x509_tp = libsecPackage "libsecurity_apple_x509_tp" "osx-10.7.5" "1bsms3nvi62wbvjviwjhjhzhylad8g6vmvlj3ngd0wyd0ywxrs46" {};
libsecurity_asn1 = libsecPackage "libsecurity_asn1" "osx-10.7.5" "0i8aakjxdfj0lqcgqmbip32g7r4h57xhs8w0sxfvfl45q22s782w" {};
libsecurity_cdsa_client = libsecPackage "libsecurity_cdsa_client" "osx-10.7.5" "127jxnypkycy8zqwicfv333h11318m00gd37jnswbrpg44xd1wdy" {};
libsecurity_cdsa_plugin = libsecPackage "libsecurity_cdsa_plugin" "osx-10.7.5" "0ifmx85rs51i7zjm015s8kc2dqyrlvbr39lw9xzxgd2ds33i4lfj" {};
libsecurity_cdsa_utilities = libsecPackage "libsecurity_cdsa_utilities" "osx-10.7.5" "1kzsl0prvfa8a0m3j3pcxq06aix1csgayd3lzx27iqg84c8mhzan" {};
libsecurity_cdsa_utils = libsecPackage "libsecurity_cdsa_utils" "osx-10.7.5" "0q55jizav6n0lkj7lcmcr2mjdhnbnnn525fa9ipwgvzbspihw0g6" {};
libsecurity_codesigning = libsecPackage "libsecurity_codesigning" "osx-10.7.5" "0vf5nj2g383b4hknlp51qll5pm8z4qbf56dnc16n3wm8gj82iasy" {};
libsecurity_cssm = libsecPackage "libsecurity_cssm" "osx-10.7.5" "0l6ia533bhr8kqp2wa712bnzzzisif3kbn7h3bzzf4nps4wmwzn4" {};
libsecurity_filedb = libsecPackage "libsecurity_filedb" "osx-10.7.5" "1r0ik95xapdl6l2lhd079vpq41jjgshz2hqb8490gpy5wyc49cxb" {};
libsecurity_keychain = libsecPackage "libsecurity_keychain" "osx-10.7.5" "15wf2slcgyns61kk7jndgm9h22vidyphh9x15x8viyprra9bkhja" {};
libsecurity_mds = libsecPackage "libsecurity_mds" "osx-10.7.5" "0vin5hnzvkx2rdzaaj2gxmx38amxlyh6j24a8gc22y09d74p5lzs" {};
libsecurity_ocspd = libsecPackage "libsecurity_ocspd" "osx-10.7.5" "1bxzpihc6w0ji4x8810a4lfkq83787yhjl60xm24bv1prhqcm73b" {};
libsecurity_pkcs12 = libsecPackage "libsecurity_pkcs12" "osx-10.7.5" "1yq8p2sp39q40fxshb256b7jn9lvmpymgpm8yz9kqrf980xddgsg" {};
libsecurity_sd_cspdl = libsecPackage "libsecurity_sd_cspdl" "osx-10.7.5" "10v76xycfnvz1n0zqfbwn3yh4w880lbssqhkn23iim3ihxgm5pbd" {};
libsecurity_utilities = libsecPackage "libsecurity_utilities" "osx-10.7.5" "0ayycfy9jm0n0c7ih9f3m69ynh8hs80v8yicq47aa1h9wclbxg8r" {};
libsecurityd = libsecPackage "libsecurityd" "osx-10.7.5" "1ywm2qj8l7rhaxy5biwxsyavd0d09d4bzchm03nlvwl313p2747x" {};
security_dotmac_tp = libsecPackage "security_dotmac_tp" "osx-10.9.5" "1l4fi9qhrghj0pkvywi8da22bh06c5bv3l40a621b5g258na50pl" {};
}; };
in packages in packages

View File

@ -1,9 +1,9 @@
{ stdenv, appleDerivation, xcbuildHook { stdenv, appleDerivation, xcbuildHook
, Libc, xnu, libutil-new }: , Libc, xnu, libutil }:
appleDerivation { appleDerivation {
nativeBuildInputs = [ xcbuildHook ]; nativeBuildInputs = [ xcbuildHook ];
buildInputs = [ libutil-new ]; buildInputs = [ libutil ];
NIX_CFLAGS_COMPILE = "-I."; NIX_CFLAGS_COMPILE = "-I.";
NIX_LDFLAGS = "-lutil"; NIX_LDFLAGS = "-lutil";

View File

@ -1,50 +1,53 @@
{ appleDerivation, cctools, zlib }: { appleDerivation, xcbuildHook, CoreSymbolication
, xnu, bison, flex, darling, stdenv, fixDarwinDylibNames }:
appleDerivation { appleDerivation {
buildInputs = [ cctools zlib ]; nativeBuildInputs = [ xcbuildHook flex bison fixDarwinDylibNames ];
buildInputs = [ CoreSymbolication darling xnu ];
NIX_CFLAGS_COMPILE = "-DCTF_OLD_VERSIONS -DPRIVATE -DYYDEBUG=1 -I${xnu}/Library/Frameworks/System.framework/Headers -Wno-error=implicit-function-declaration";
NIX_LDFLAGS = "-L./Products/Release";
xcbuildFlags = "-target dtrace_frameworks -target dtrace";
buildPhase = '' doCheck = false;
export CFLAGS=" -I$PWD/head -I$PWD/sys -I$PWD/libelf -I$PWD/libdwarf" checkPhase = "xcodebuild -target dtrace_tests";
pushd libelf postPatch = ''
for f in *.c; do substituteInPlace dtrace.xcodeproj/project.pbxproj \
if [ "$f" != "lintsup.c" ]; then # Apple doesn't use it, so I don't either --replace "/usr/sbin" ""
cc -D_INT64_TYPE -D_LONGLONG_TYPE -D_ILP32 $CFLAGS -c $f substituteInPlace libdtrace/dt_open.c \
fi --replace /usr/bin/clang ${stdenv.cc.cc}/bin/clang \
done --replace /usr/bin/ld ${stdenv.cc.bintools.bintools}/bin/ld \
libtool -static -o libelf.a *.o --replace /usr/lib/dtrace/dt_cpp.h $out/include/dt_cpp.h \
popd --replace /usr/lib/dtrace $out/lib/dtrace
pushd libdwarf
./configure CFLAGS="$CFLAGS -Icmplrs"
make
popd
cp libelf/libelf.a tools/ctfconvert
cp libdwarf/libdwarf.a tools/ctfconvert
pushd tools/ctfconvert
for f in ../../darwin_shim.c *.c; do
cc -DNDEBUG -DNS_BLOCK_ASSERTIONS $CFLAGS -c $f
done
export COMMON="alist.o ctf.o darwin_shim.o hash.o iidesc.o input.o list.o \
memory.o output.o stack.o strtab.o symbol.o tdata.o traverse.o util.o"
export CONVERT="ctfconvert.o dwarf.o merge.o st_bugs.o st_parse.o stabs.o"
export MERGE="barrier.o ctfmerge.o dwarf.o fifo.o merge.o st_bugs.o st_parse.o stabs.o utils.o"
export DUMP="dump.o fifo.o utils.o"
clang -o ctfconvert $CONVERT $COMMON -L. -lz -lelf -ldwarf
clang -o ctfmerge $MERGE $COMMON -L. -lz -lelf -ldwarf
clang -o ctfdump $DUMP $COMMON -L. -lz -lelf
popd
''; '';
# hack to handle xcbuild's broken lex handling
preBuild = ''
pushd libdtrace
yacc -d dt_grammar.y
flex -l -d dt_lex.l
popd
substituteInPlace dtrace.xcodeproj/project.pbxproj \
--replace '6EBC9800099BFBBF0001019C /* dt_grammar.y */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.yacc; name = dt_grammar.y; path = libdtrace/dt_grammar.y; sourceTree = "<group>"; };' '6EBC9800099BFBBF0001019C /* y.tab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = y.tab.c; path = libdtrace/y.tab.c; sourceTree = "<group>"; };' \
--replace '6EBC9808099BFBBF0001019C /* dt_lex.l */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.lex; name = dt_lex.l; path = libdtrace/dt_lex.l; sourceTree = "<group>"; };' '6EBC9808099BFBBF0001019C /* lex.yy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = lex.yy.c; path = libdtrace/lex.yy.c; sourceTree = "<group>"; };'
'';
# xcbuild doesn't support install
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out
cp tools/ctfconvert/ctfconvert $out/bin
cp tools/ctfconvert/ctfmerge $out/bin cp -r Products/Release/usr/include $out/include
cp tools/ctfconvert/ctfdump $out/bin cp scripts/dt_cpp.h $out/include/dt_cpp.h
mkdir $out/lib
cp Products/Release/*.dylib $out/lib
mkdir $out/bin
cp Products/Release/dtrace $out/bin
mkdir -p $out/lib/dtrace
install_name_tool -change $PWD/Products/Release/libdtrace.dylib $out/lib/libdtrace.dylib $out/bin/dtrace
''; '';
} }

View File

@ -1,47 +0,0 @@
{ appleDerivation, xcbuildHook, CoreSymbolication
, xnu, bison, flex, darling, stdenv }:
appleDerivation {
nativeBuildInputs = [ xcbuildHook flex bison ];
buildInputs = [ CoreSymbolication darling ];
NIX_CFLAGS_COMPILE = "-DCTF_OLD_VERSIONS -DPRIVATE -DYYDEBUG=1 -I${xnu}/Library/Frameworks/System.framework/Headers";
NIX_LDFLAGS = "-L./Products/Release";
xcbuildFlags = "-target dtrace";
patchPhase = ''
substituteInPlace dtrace.xcodeproj/project.pbxproj --replace "/usr/sbin" ""
substituteInPlace libdtrace/dt_open.c \
--replace "/usr/bin/clang" "${stdenv.cc}/bin/cpp" \
--replace "/usr/bin/ld" "${stdenv.cc}/bin/ld" \
--replace "/usr/bin/dtrace" $out/lib/dtrace
'';
# hack to handle xcbuild's broken lex handling
preBuild = ''
cd libdtrace
yacc -d dt_grammar.y
flex -l -d dt_lex.l
cd ..
substituteInPlace dtrace.xcodeproj/project.pbxproj \
--replace '6EBC9800099BFBBF0001019C /* dt_grammar.y */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.yacc; name = dt_grammar.y; path = libdtrace/dt_grammar.y; sourceTree = "<group>"; };' '6EBC9800099BFBBF0001019C /* y.tab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = y.tab.c; path = libdtrace/y.tab.c; sourceTree = "<group>"; };' \
--replace '6EBC9808099BFBBF0001019C /* dt_lex.l */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.lex; name = dt_lex.l; path = libdtrace/dt_lex.l; sourceTree = "<group>"; };' '6EBC9808099BFBBF0001019C /* lex.yy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = lex.yy.c; path = libdtrace/lex.yy.c; sourceTree = "<group>"; };'
'';
# xcbuild doesn't support install
installPhase = ''
mkdir -p $out
cp -r Products/Release/usr $out
mv $out/usr/* $out
rmdir $out/usr
mkdir $out/lib
cp Products/Release/*.dylib $out/lib
mkdir $out/bin
cp Products/Release/dtrace $out/bin
mkdir -p $out/lib/dtrace
'';
}

View File

@ -1,8 +1,8 @@
{ stdenv, appleDerivation, xcbuildHook, zlib, bzip2, lzma, ncurses, libutil-new }: { stdenv, appleDerivation, xcbuildHook, zlib, bzip2, lzma, ncurses, libutil }:
appleDerivation rec { appleDerivation rec {
nativeBuildInputs = [ xcbuildHook ]; nativeBuildInputs = [ xcbuildHook ];
buildInputs = [ zlib bzip2 lzma ncurses libutil-new ]; buildInputs = [ zlib bzip2 lzma ncurses libutil ];
# some commands not working: # some commands not working:
# mtree: _simple.h not found # mtree: _simple.h not found

View File

@ -0,0 +1,8 @@
{ appleDerivation, lib, headersOnly ? false }:
appleDerivation {
installPhase = lib.optionalString headersOnly ''
mkdir -p $out/include
cp core/*.h $out/include
'';
}

View File

@ -1,11 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_apple_csp
security_apple_csp_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_apple_csp_HEADER_FILES_DIR = lib
security_apple_csp_CC_FILES = $(wildcard lib/*.cpp)
security_apple_csp_C_FILES = $(wildcard lib/*.c)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,31 +0,0 @@
{ appleDerivation, apple_sdk, libsecurity_asn1, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_utilities, CommonCrypto, stdenv }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_utilities
libsecurity_utilities
libsecurity_cdsa_plugin
libsecurity_asn1
libsecurity_cdsa_utils
];
NIX_CFLAGS_COMPILE = "-Iopen_ssl";
patchPhase = ''
for file in lib/BlockCryptor.h lib/RSA_DSA_signature.h lib/castContext.h \
lib/RawSigner.h lib/MD2Object.h lib/HMACSHA1.h lib/bfContext.h lib/rc4Context.h; do
substituteInPlace ''$file --replace \
'"CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h"' \
'"${stdenv.lib.getDev apple_sdk.sdk}/include/MacTypes.h"'
done
for file in lib/castContext.h lib/gladmanContext.h lib/desContext.h lib/rc4Context.h; do
substituteInPlace ''$file --replace \
'/usr/local/include/CommonCrypto/CommonCryptorSPI.h' \
'${CommonCrypto}/include/CommonCrypto/CommonCryptorSPI.h'
done
substituteInPlace lib/opensshWrap.cpp --replace RSA_DSA_Keys.h RSA_DSA_keys.h
'' + stdenv.lib.optionalString (!stdenv.cc.nativeLibc) ''
substituteInPlace lib/pbkdf2.c --replace \
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/ConditionalMacros.h>' \
'"${stdenv.libc}/include/ConditionalMacros.h"'
'';
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_apple_cspdl
security_apple_cspdl_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_apple_cspdl_HEADER_FILES_DIR = lib
security_apple_cspdl_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,16 +0,0 @@
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_keychain, libsecurity_utilities, libsecurityd }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_plugin
libsecurity_cdsa_utilities
libsecurity_utilities
libsecurityd
libsecurity_cdsa_client
libsecurity_keychain
];
patchPhase = ''
for file in lib/*; do
sed -i 's/#include <\(.*\)>/#include "\1"/' ''$file
done
'';
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_apple_file_dl
security_apple_file_dl_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_apple_file_dl_HEADER_FILES_DIR = lib
security_apple_file_dl_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,17 +0,0 @@
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_filedb, libsecurity_keychain, libsecurity_utilities, libsecurityd }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_plugin
libsecurity_cdsa_utilities
libsecurity_utilities
libsecurityd
libsecurity_cdsa_client
libsecurity_keychain
libsecurity_filedb
];
patchPhase = ''
for file in lib/*; do
sed -i 's/#include <\(.*\)>/#include "\1"/' ''$file
done
'';
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_apple_x509_cl
security_apple_x509_cl_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_apple_x509_cl_HEADER_FILES_DIR = lib
security_apple_x509_cl_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,18 +0,0 @@
{ appleDerivation, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_filedb, libsecurity_keychain, libsecurity_utilities, libsecurityd }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_plugin
libsecurity_cdsa_utilities
libsecurity_utilities
libsecurityd
libsecurity_cdsa_client
libsecurity_keychain
libsecurity_filedb
libsecurity_asn1
];
patchPhase = ''
for file in lib/*; do
sed -i 's/#include <\(.*\)>/#include "\1"/' ''$file
done
'';
}

View File

@ -1,11 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_apple_x509_tp
security_apple_x509_tp_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_apple_x509_tp_HEADER_FILES_DIR = lib
security_apple_x509_tp_C_FILES = $(wildcard lib/*.c)
security_apple_x509_tp_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,19 +0,0 @@
{ appleDerivation, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_filedb, libsecurity_keychain, libsecurity_ocspd, libsecurity_utilities, libsecurityd }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_plugin
libsecurity_cdsa_utilities
libsecurity_utilities
libsecurityd
libsecurity_cdsa_client
libsecurity_keychain
libsecurity_filedb
libsecurity_asn1
libsecurity_ocspd
];
patchPhase = ''
for file in lib/*; do
sed -i 's/#include <\(.*\)>/#include "\1"/' ''$file
done
'';
}

View File

@ -1,11 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_asn1
security_asn1_C_FILES = $(wildcard lib/*.c)
security_asn1_CC_FILES = $(wildcard lib/*.cpp)
security_asn1_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_asn1_HEADER_FILES_DIR = lib
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,14 +0,0 @@
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities }:
appleDerivation {
__propagatedImpureHostDeps = [
"/System/Library/Frameworks/Security.framework/Security"
"/System/Library/Frameworks/Security.framework/Resources"
"/System/Library/Frameworks/Security.framework/PlugIns"
"/System/Library/Frameworks/Security.framework/XPCServices"
"/System/Library/Frameworks/Security.framework/Versions"
];
propagatedBuildInputs = [
libsecurity_utilities
libsecurity_cdsa_utilities
];
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_cdsa_client
security_cdsa_client_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_cdsa_client_HEADER_FILES_DIR = lib
security_cdsa_client_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,8 +0,0 @@
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities, libsecurityd }:
appleDerivation {
buildInputs = [
libsecurity_utilities
libsecurity_cdsa_utilities
libsecurityd
];
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_cdsa_plugin
security_cdsa_plugin_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_cdsa_plugin_HEADER_FILES_DIR = lib
security_cdsa_plugin_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,15 +0,0 @@
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_cssm, libsecurity_utilities, perl }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_utilities
libsecurity_utilities
perl
];
patchPhase = ''
unpackFile ${libsecurity_cssm.src}
cp libsecurity_cssm*/lib/cssm{dli,aci,cli,cspi,tpi}.h lib
'';
preBuild = ''
perl lib/generator.pl lib lib/generator.cfg lib lib || exit 1
'';
}

View File

@ -1,13 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_cdsa_utilities
security_cdsa_utilities_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_cdsa_utilities_HEADER_FILES_DIR = lib
security_cdsa_utilities_CC_FILES = $(wildcard lib/*.cpp) lib/Schema.cpp lib/KeySchema.cpp
lib/%.cpp: lib/%.m4
m4 $< > $@
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,13 +0,0 @@
{ CommonCrypto, appleDerivation, libsecurity_codesigning, libsecurity_utilities, m4 }:
appleDerivation {
buildInputs = [
libsecurity_utilities
m4
];
patchPhase = ''
patch -p1 < ${./handletemplates.patch}
unpackFile ${libsecurity_codesigning.src}
mv libsecurity_codesigning*/lib security_codesigning
'';
NIX_CFLAGS_COMPILE = "-I${CommonCrypto}/include/CommonCrypto";
}

View File

@ -1,19 +0,0 @@
--- a/lib/handletemplates.h 1969-12-31 16:00:01.000000000 -0800
+++ b/lib/handletemplates.h 1969-12-31 16:00:01.000000000 -0800
@@ -32,6 +32,7 @@
#include <security_utilities/threading.h>
#include <security_utilities/globalizer.h>
#include <security_cdsa_utilities/cssmerrors.h>
+#include <vector>
#if __GNUC__ > 2
#include <ext/hash_map>
@@ -129,7 +130,7 @@
// @@@ Remove when 4003540 is fixed
template <class Subtype>
static void findAllRefs(std::vector<_Handle> &refs) {
- state().findAllRefs<Subtype>(refs);
+ state().template findAllRefs<Subtype>(refs);
}
protected:

View File

@ -1,13 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_cdsa_utils
security_cdsa_utils_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_cdsa_utils_HEADER_FILES_DIR = lib
security_cdsa_utils_CC_FILES = $(wildcard lib/*.cpp)
lib/%.cpp: lib/%.m4
m4 $< > $@
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,8 +0,0 @@
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities, m4 }:
appleDerivation {
buildInputs = [
libsecurity_utilities
libsecurity_cdsa_utilities
m4
];
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_codesigning
security_codesigning_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_codesigning_HEADER_FILES_DIR = lib
security_codesigning_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,33 +0,0 @@
{ appleDerivation, libsecurity_cdsa_utilities, libsecurity_utilities
, Security, xnu, xar, antlr, libsecurityd, apple_sdk
, dtrace-xcode, osx_private_sdk }:
appleDerivation {
buildInputs = [ libsecurity_utilities libsecurity_cdsa_utilities dtrace-xcode
Security xar antlr libsecurityd ];
NIX_CFLAGS_COMPILE = "-Iinclude -I${xnu}/Library/Frameworks/System.framework/Headers";
patchPhase = ''
substituteInPlace lib/policydb.cpp \
--replace "new MutableDictionary::MutableDictionary()" NULL
substituteInPlace lib/xpcengine.h \
--replace "#include <xpc/private.h>" ""
substituteInPlace lib/policyengine.cpp \
--replace "#include <OpenScriptingUtilPriv.h>" ""
rm lib/policyengine.cpp lib/quarantine++.cpp lib/codedirectory.cpp lib/xpcengine.cpp
'';
preBuild = ''
mkdir -p include
cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/usr/include/quarantine.h include
mkdir -p include/CoreServices/
cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/CoreServices.framework/PrivateHeaders/*.h include/CoreServices/
unpackFile ${Security.src}
mkdir -p include/securityd_client
cp Security-*/libsecurityd/lib/*.h include/securityd_client
mkdir -p include/xpc
cp ${apple_sdk.sdk.out}/include/xpc/*.h include/xpc
sed -i '1i #define bool int' lib/security_codesigning.d
dtrace -h -C -s lib/security_codesigning.d -o codesigning_dtrace.h
'';
}

View File

@ -1,11 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_cssm
security_cssm_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_cssm_HEADER_FILES_DIR = lib
security_cssm_CC_FILES = $(wildcard lib/*.cpp)
security_cssm_C_FILES = $(wildcard lib/*.c)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,14 +0,0 @@
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_utilities, perl }:
appleDerivation {
buildInputs = [
libsecurity_utilities
libsecurity_cdsa_utilities
libsecurity_cdsa_client
perl
libsecurity_cdsa_plugin
];
preBuild = ''
mkdir derived_src
perl lib/generator.pl lib lib/generator.cfg derived_src
'';
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_filedb
security_filedb_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_filedb_HEADER_FILES_DIR = lib
security_filedb_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,13 +0,0 @@
{ appleDerivation, apple_sdk, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_utilities, osx_private_sdk, lib }:
appleDerivation {
buildInputs = [
libsecurity_utilities
libsecurity_cdsa_utilities
libsecurity_cdsa_plugin
];
patchPhase = ''
cp ${osx_private_sdk}/include/sandbox_private.h .
substituteInPlace sandbox_private.h --replace '<sandbox.h>' '"${lib.getDev apple_sdk.sdk}/include/sandbox.h"'
substituteInPlace lib/AtomicFile.cpp --replace '<sandbox.h>' '"sandbox_private.h"'
'';
}

View File

@ -1,63 +0,0 @@
{ appleDerivation_, applePackage, pkgs, stdenv }:
name: version: sha256: args: let
n = stdenv.lib.removePrefix "lib" name;
makeFile = ../. + "/${name}/GNUmakefile";
appleDerivation = appleDerivation_ name version sha256;
in applePackage name version sha256 (args // {
appleDerivation = a:
appleDerivation (stdenv.lib.mergeAttrsConcatenateValues {
__impureHostDeps = import ./impure_deps.nix;
patchPhase = ''
# allows including <Security/some-private-header.h>
cp -R ${pkgs.darwin.osx_private_sdk}/include/SecurityPrivateHeaders Security
grep -Rl MacErrors.h . | while read file; do
substituteInPlace "''$file" --replace \
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
'"${pkgs.darwin.apple_sdk.sdk.out}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
done || true # grep returns 1 if it can't find the string
grep -Rl MacTypes.h . | while read file; do
substituteInPlace "''$file" --replace \
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>' \
'"${stdenv.lib.getDev pkgs.darwin.apple_sdk.sdk}/include/MacTypes.h"'
done || true # grep returns 1 if it can't find the string
'';
preBuild = ''
ln -s lib ${n}
makeFlagsArray=(-j$NIX_BUILD_CORES)
'';
outputs = [ "out" "dev" ];
buildInputs = [
pkgs.gnustep.make
pkgs.darwin.apple_sdk.frameworks.AppKit
pkgs.darwin.apple_sdk.frameworks.Foundation
];
makeFlags = [
"-f${makeFile}"
"MAKEFILE_NAME=${makeFile}"
"GNUSTEP_ABSOLUTE_INSTALL_PATHS=yes"
"GNUSTEP_MAKEFILES=${pkgs.gnustep.make}/share/GNUstep/Makefiles"
"LIB_LINK_INSTALL_DIR=\$(out)/lib"
];
installFlags = [
"${n}_INSTALL_DIR=\$(out)/lib"
"${n}_HEADER_FILES_INSTALL_DIR=\$(out)/include/${n}"
"GNUSTEP_HEADERS="
];
NIX_CFLAGS_COMPILE = [
"-isystem lib"
"-iframework ${pkgs.darwin.Security}/Library/Frameworks"
"-I."
"-Wno-deprecated-declarations"
"-DNDEBUG"
];
NIX_LDFLAGS = with pkgs.darwin; with apple_sdk.frameworks; [
"-L${libobjc}/lib"
"-F${Foundation}/Library/Frameworks"
"-F${AppKit}/Library/Frameworks"
"-no_dtrace_dof"
];
} a);
})

View File

@ -1,129 +0,0 @@
# generated using a ruby script
[
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate"
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage"
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib"
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib"
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib"
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib"
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib"
"/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib"
"/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD"
"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis"
"/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox"
"/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit"
"/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork"
"/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CarbonSound.framework/Versions/A/CarbonSound"
"/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox"
"/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink"
"/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition"
"/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio"
"/System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth"
"/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData"
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation"
"/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices"
"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit"
"/System/Library/Frameworks/CoreText.framework/Versions/A/CoreText"
"/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo"
"/System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN"
"/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration"
"/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation"
"/System/Library/Frameworks/GSS.framework/Versions/A/GSS"
"/System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth"
"/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit"
"/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface"
"/System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO"
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib"
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib"
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib"
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib"
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib"
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib"
"/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos"
"/System/Library/Frameworks/NetFS.framework/Versions/A/NetFS"
"/System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL"
"/System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory"
"/System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory"
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib"
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib"
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib"
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib"
"/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib"
"/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL"
"/System/Library/Frameworks/QuartzCore.framework/Versions/A/Frameworks/CoreImage.framework/Versions/A/CoreImage"
"/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore"
"/System/Library/Frameworks/Security.framework/Versions/A/Security"
"/System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation"
"/System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement"
"/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration"
"/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211"
"/System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG"
"/System/Library/PrivateFrameworks/AppleVPA.framework/Versions/A/AppleVPA"
"/System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup"
"/System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary"
"/System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth"
"/System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication"
"/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI"
"/System/Library/PrivateFrameworks/CoreWiFi.framework/Versions/A/CoreWiFi"
"/System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport"
"/System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore"
"/System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols"
"/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv"
"/System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore"
"/System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage"
"/System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal"
"/System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices"
"/System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling"
"/System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport"
"/System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth"
"/System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis"
"/System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices"
"/System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing"
"/System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore"
"/System/Library/PrivateFrameworks/Symbolication.framework/Versions/A/Symbolication"
"/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC"
"/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation"
"/System/Library/PrivateFrameworks/Ubiquity.framework/Versions/A/Ubiquity"
"/System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport"
"/usr/lib/libCRFSuite.dylib"
"/usr/lib/libOpenScriptingUtil.dylib"
"/usr/lib/libarchive.2.dylib"
"/usr/lib/libbsm.0.dylib"
"/usr/lib/libbz2.1.0.dylib"
"/usr/lib/libc++.1.dylib"
"/usr/lib/libc++abi.dylib"
"/usr/lib/libcmph.dylib"
"/usr/lib/libcups.2.dylib"
"/usr/lib/libextension.dylib"
"/usr/lib/libheimdal-asn1.dylib"
"/usr/lib/libiconv.2.dylib"
"/usr/lib/libicucore.A.dylib"
"/usr/lib/liblangid.dylib"
"/usr/lib/liblzma.5.dylib"
"/usr/lib/libmecabra.dylib"
"/usr/lib/libpam.2.dylib"
"/usr/lib/libresolv.9.dylib"
"/usr/lib/libsqlite3.dylib"
"/usr/lib/libxar.1.dylib"
"/usr/lib/libxml2.2.dylib"
"/usr/lib/libxslt.1.dylib"
"/usr/lib/libz.1.dylib"
]

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_keychain
security_keychain_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_keychain_HEADER_FILES_DIR = lib
security_keychain_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,43 +0,0 @@
{ CF, appleDerivation, apple_sdk, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_ocspd, libsecurity_pkcs12, libsecurity_utilities, libsecurityd, openssl, osx_private_sdk, security_dotmac_tp, lib }:
appleDerivation {
buildInputs = [
libsecurity_utilities
libsecurity_cdsa_client
libsecurity_cdsa_utilities
libsecurityd
CF
libsecurity_asn1
libsecurity_pkcs12
libsecurity_cdsa_utils
openssl
libsecurity_ocspd
security_dotmac_tp
];
patchPhase = ''
substituteInPlace lib/Keychains.cpp --replace DLDbListCFPref.h DLDBListCFPref.h
substituteInPlace lib/SecCertificate.cpp --replace '#include <Security/SecCertificatePriv.h>' ""
cp ${osx_private_sdk}/include/xpc/private.h xpc
cp ${lib.getDev apple_sdk.sdk}/include/xpc/*.h xpc
cp ${osx_private_sdk}/include/sandbox_private.h lib/sandbox.h
substituteInPlace lib/SecItemPriv.h \
--replace "extern CFTypeRef kSecAttrAccessGroup" "extern const CFTypeRef kSecAttrAccessGroup" \
--replace "extern CFTypeRef kSecAttrIsSensitive" "extern const CFTypeRef kSecAttrIsSensitive" \
--replace "extern CFTypeRef kSecAttrIsExtractable" "extern const CFTypeRef kSecAttrIsExtractable"
substituteInPlace lib/Keychains.cpp --replace \
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
'"${apple_sdk.sdk.out}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
substituteInPlace lib/CertificateValues.cpp --replace \
'#include <Security/SecCertificatePriv.h>' ""
substituteInPlace lib/DLDBListCFPref.cpp --replace \
'dispatch_once_t AppSandboxChecked;' ''$'namespace Security {\ndispatch_once_t AppSandboxChecked;' \
--replace 'return mLoginDLDbIdentifier;' 'return mLoginDLDbIdentifier; }' \
--replace '_xpc_runtime_is_app_sandboxed()' 'false'
# hope that doesn't hurt anything
'';
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_mds
security_mds_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_mds_HEADER_FILES_DIR = lib
security_mds_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,11 +0,0 @@
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_filedb, libsecurity_utilities, libsecurityd }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_plugin
libsecurity_cdsa_utilities
libsecurity_filedb
libsecurity_utilities
libsecurity_cdsa_client
libsecurityd
];
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_ocspd
security_ocspd_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_ocspd_HEADER_FILES_DIR = lib
security_ocspd_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,20 +0,0 @@
{ appleDerivation, bootstrap_cmds, libsecurity_cdsa_utilities, libsecurity_utilities }:
appleDerivation {
buildInputs = [
libsecurity_utilities
libsecurity_cdsa_utilities
bootstrap_cmds
];
postUnpack = ''
pushd libsecurity*
ls -lah
mkdir -p lib
cp common/* lib
cp client/* lib
popd
'';
preBuild = ''
make -f mig/mig.mk SRCROOT=. BUILT_PRODUCTS_DIR=. || exit 1
cp derived_src/* lib
'';
}

View File

@ -1,11 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_pkcs12
security_pkcs12_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_pkcs12_HEADER_FILES_DIR = lib
security_pkcs12_CC_FILES = $(wildcard lib/*.cpp)
security_pkcs12_C_FILES = $(wildcard lib/*.c)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,15 +0,0 @@
{ appleDerivation, libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_utils, libsecurity_keychain }:
appleDerivation {
patchPhase = ''
substituteInPlace lib/pkcsoids.h --replace '#error' '#warning'
'';
preBuild = ''
unpackFile ${libsecurity_keychain.src}
mv libsecurity_keychain*/lib security_keychain
'';
buildInputs = [
libsecurity_asn1
libsecurity_cdsa_utils
libsecurity_cdsa_client
];
}

View File

@ -1,10 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_sd_cspdl
security_sd_cspdl_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_sd_cspdl_HEADER_FILES_DIR = lib
security_sd_cspdl_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,10 +0,0 @@
{ appleDerivation, libsecurity_cdsa_client, libsecurity_cdsa_plugin, libsecurity_cdsa_utilities, libsecurity_utilities, libsecurityd }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_plugin
libsecurity_utilities
libsecurity_cdsa_utilities
libsecurityd
libsecurity_cdsa_client
];
}

View File

@ -1,11 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_utilities
security_utilities_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_utilities_HEADER_FILES_DIR = lib
security_utilities_C_FILES = $(wildcard lib/*.c)
security_utilities_CC_FILES = $(wildcard lib/*.cpp)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,28 +0,0 @@
{ IOKit, appleDerivation, apple_sdk, libauto, libobjc, sqlite, stdenv, osx_private_sdk }:
appleDerivation {
buildInputs = [
libauto
libobjc
IOKit
];
propagatedBuildInputs = [
sqlite
apple_sdk.frameworks.PCSC
];
NIX_LDFLAGS = "-framework PCSC";
patchPhase = ''
substituteInPlace lib/errors.h --replace \
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>' \
'"MacTypes.h"'
substituteInPlace lib/debugging.cpp --replace PATH_MAX 1024
substituteInPlace lib/superblob.h --replace 'result->at' 'result->template at'
substituteInPlace lib/ccaudit.cpp --replace '<bsm/libbsm.h>' '"bsm/libbsm.h"'
substituteInPlace lib/powerwatch.h --replace \
'<IOKit/pwr_mgt/IOPMLibPrivate.h>' \
'"${IOKit}/Library/Frameworks/IOKit.framework/Headers/pwr_mgt/IOPMLibPrivate.h"'
cp -R ${osx_private_sdk}/include/bsm lib
cp ${osx_private_sdk}/include/utilities_dtrace.h lib
'' + stdenv.lib.optionalString (!stdenv.cc.nativeLibc) ''
substituteInPlace lib/vproc++.cpp --replace /usr/local/include/vproc_priv.h ${stdenv.libc}/include/vproc_priv.h
'';
}

View File

@ -1,11 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = securityd
securityd_HEADER_FILES = $(notdir $(wildcard lib/*.h))
securityd_HEADER_FILES_DIR = lib
securityd_CC_FILES = $(wildcard lib/*.cpp)
securityd_C_FILES = $(wildcard lib/*.c)
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,23 +0,0 @@
{ appleDerivation, bootstrap_cmds, libsecurity_cdsa_client, libsecurity_cdsa_utilities, libsecurity_utilities }:
appleDerivation {
buildInputs = [
libsecurity_cdsa_utilities
libsecurity_utilities
bootstrap_cmds
];
patchPhase = ''
unpackFile ${libsecurity_cdsa_client.src}
mv libsecurity_cdsa_client*/lib security_cdsa_client
ln -s lib securityd_client
patch -p1 < ${./xdr-arity.patch}
'';
preBuild = ''
make -f mig/mig.mk SRCROOT=. BUILT_PRODUCTS_DIR=.
cp derived_src/* lib
rm lib/ucspClientC.c
'';
postFixup = ''
ln -s $dev/include/securityd $dev/include/securityd_client
'';
}

View File

@ -1,79 +0,0 @@
diff --git a/lib/sec_xdr.c b/lib/sec_xdr.c
index fe5f038..6239b6c 100644
--- a/lib/sec_xdr.c
+++ b/lib/sec_xdr.c
@@ -223,7 +223,7 @@ bool_t copyin(void *data, xdrproc_t proc, void** copy, u_int *size)
sec_xdrmem_create(&xdr, (char *)xdr_data, length, XDR_ENCODE);
// cast to void* - function can go both ways (xdr->x_op)
- if (proc(&xdr, data)) {
+ if (proc(&xdr, data, 0)) {
*copy = xdr_data;
if (size) *size = length;
return (TRUE);
@@ -261,7 +261,7 @@ bool_t copyout(const void *copy, u_int size, xdrproc_t proc, void **data, u_int
if (!sec_xdr_arena_init(&arena, &xdr, length_out ? length_out : length_required, length_out ? *data : NULL))
return (FALSE);
- if (proc(&xdr, data))
+ if (proc(&xdr, data, 0))
{
*length = length_required;
return (TRUE);
@@ -284,7 +284,7 @@ bool_t copyout_chunked(const void *copy, u_int size, xdrproc_t proc, void **data
void *data_out = NULL;
- if (proc(&xdr, &data_out))
+ if (proc(&xdr, &data_out, 0))
{
*data = data_out;
return (TRUE);
diff --git a/lib/sec_xdr_array.c b/lib/sec_xdr_array.c
index 152a71b..e5ec1ad 100644
--- a/lib/sec_xdr_array.c
+++ b/lib/sec_xdr_array.c
@@ -147,7 +147,7 @@ sec_xdr_array(XDR *xdrs, uint8_t **addrp, u_int *sizep, u_int maxsize, u_int els
for (i = 0; (i < c) && stat; i++) {
if ((xdrs->x_op == XDR_DECODE) && sizeof_alloc)
memset(obj, 0, elsize);
- stat = (*elproc)(xdrs, target);
+ stat = (*elproc)(xdrs, target, 0);
if ((xdrs->x_op == XDR_ENCODE) || !sizeof_alloc)
target += elsize;
}
diff --git a/lib/sec_xdr_reference.c b/lib/sec_xdr_reference.c
index a66fb37..ab5b4c4 100644
--- a/lib/sec_xdr_reference.c
+++ b/lib/sec_xdr_reference.c
@@ -121,7 +121,7 @@ sec_xdr_reference(XDR *xdrs, uint8_t **pp, u_int size, xdrproc_t proc)
break;
}
- stat = (*proc)(xdrs, loc);
+ stat = (*proc)(xdrs, loc, 0);
if (xdrs->x_op == XDR_FREE) {
sec_mem_free(xdrs, loc, size);
diff --git a/lib/sec_xdr_sizeof.c b/lib/sec_xdr_sizeof.c
index a18bcd0..8c33dbc 100644
--- a/lib/sec_xdr_sizeof.c
+++ b/lib/sec_xdr_sizeof.c
@@ -190,7 +190,7 @@ sec_xdr_sizeof_in(func, data)
sec_xdr_arena_allocator_t size_alloc;
sec_xdr_arena_init_size_alloc(&size_alloc, &x);
- stat = func(&x, data);
+ stat = func(&x, data, 0);
if (x.x_private)
free(x.x_private);
return (stat == TRUE ? (unsigned) x.x_handy: 0);
@@ -210,7 +210,7 @@ sec_xdr_sizeof_out(copy, size, func, data)
sec_xdr_arena_allocator_t size_alloc;
sec_xdr_arena_init_size_alloc(&size_alloc, &x);
- stat = func(&x, data);
+ stat = func(&x, data, 0);
if (size_alloc.data)
free(size_alloc.data);
return (stat == TRUE ? (unsigned long)size_alloc.offset : 0);

View File

@ -1,13 +1,33 @@
{ stdenv, appleDerivation }: { stdenv, lib, appleDerivation, xcbuildHook
# headersOnly is true when building for libSystem
, headersOnly ? false }:
# all symbols are located in libSystem
appleDerivation { appleDerivation {
installPhase = '' nativeBuildInputs = lib.optional (!headersOnly) xcbuildHook;
mkdir -p $out/include
cp *.h $out/include prePatch = ''
substituteInPlace tzlink.c \
--replace '#include <xpc/xpc.h>' ""
''; '';
meta = with stdenv.lib; { xcbuildFlags = "-target util";
installPhase = ''
mkdir -p $out/include
'' + lib.optionalString headersOnly ''
cp *.h $out/include
'' + lib.optionalString (!headersOnly)''
mkdir -p $out/lib $out/include
cp Products/Release/*.dylib $out/lib
cp Products/Release/*.h $out/include
# TODO: figure out how to get this to be right the first time around
install_name_tool -id $out/lib/libutil.dylib $out/lib/libutil.dylib
'';
meta = with lib; {
maintainers = with maintainers; [ copumpkin ]; maintainers = with maintainers; [ copumpkin ];
platforms = platforms.darwin; platforms = platforms.darwin;
license = licenses.apsl20; license = licenses.apsl20;

View File

@ -1,29 +0,0 @@
{ stdenv, appleDerivation, xcbuildHook }:
# TODO: make this the official libutil expression once we've integrated xcbuild in the bootstrap
appleDerivation {
nativeBuildInputs = [ xcbuildHook ];
prePatch = ''
substituteInPlace tzlink.c \
--replace '#include <xpc/xpc.h>' ""
'';
xcbuildFlags = "-target util";
installPhase = ''
mkdir -p $out/lib $out/include
cp Products/Release/*.dylib $out/lib
cp Products/Release/*.h $out/include
# TODO: figure out how to get this to be right the first time around
install_name_tool -id $out/lib/libutil.dylib $out/lib/libutil.dylib
'';
meta = with stdenv.lib; {
maintainers = with maintainers; [ copumpkin ];
platforms = platforms.darwin;
license = licenses.apsl20;
};
}

View File

@ -1,8 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
LIBRARY_NAME = security_dotmac_tp
security_dotmac_tp_HEADER_FILES = $(notdir $(wildcard lib/*.h))
security_dotmac_tp_HEADER_FILES_DIR = lib
include $(GNUSTEP_MAKEFILES)/library.make

View File

@ -1,4 +0,0 @@
{ appleDerivation }:
appleDerivation {
}

View File

@ -1,32 +0,0 @@
{ appleDerivation, xcbuildHook, Security
, libsecurity_codesigning, libsecurity_utilities, libsecurity_cdsa_utilities
, xnu, osx_private_sdk, pcsclite}:
appleDerivation {
nativeBuildInputs = [ xcbuildHook ];
buildInputs = [ Security libsecurity_utilities
libsecurity_cdsa_utilities libsecurity_codesigning
pcsclite ];
NIX_LDFLAGS = "-lpcsclite";
# can't build the whole thing
xcbuildFlags = "-target codesign";
preBuild = ''
mkdir -p include/Security
cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/Security.framework/PrivateHeaders/*.h include/Security
cp ${osx_private_sdk.src}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/Security.framework/Headers/*.h include/Security
unpackFile ${xnu.src}
mkdir -p include/sys
cp -r xnu-*/bsd/sys/codesign.h include/sys/codesign.h
'';
NIX_CFLAGS_COMPILE = "-Iinclude";
installPhase = ''
mkdir -p $out/bin
cp Products/Release/codesign $out/bin/codesign
'';
}

View File

@ -1,8 +1,8 @@
{xcbuildHook, appleDerivation, apple_sdk, ncurses, libutil-new, lib}: {xcbuildHook, appleDerivation, apple_sdk, ncurses, libutil, lib}:
appleDerivation { appleDerivation {
nativeBuildInputs = [ xcbuildHook ]; nativeBuildInputs = [ xcbuildHook ];
buildInputs = [ apple_sdk.frameworks.IOKit ncurses libutil-new ]; buildInputs = [ apple_sdk.frameworks.IOKit ncurses libutil ];
NIX_LDFLAGS = "-lutil"; NIX_LDFLAGS = "-lutil";
installPhase = '' installPhase = ''
install -D Products/Release/libtop.a $out/lib/libtop.a install -D Products/Release/libtop.a $out/lib/libtop.a

View File

@ -1,11 +1,11 @@
{ appleDerivation, bootstrap_cmds, bison, flex, gnum4, unifdef, perl, python }: { appleDerivation, lib, bootstrap_cmds, bison, flex
, gnum4, unifdef, perl, python
, headersOnly ? true }:
appleDerivation { appleDerivation ({
phases = [ "unpackPhase" "patchPhase" "installPhase" ]; nativeBuildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl python ];
buildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl python ]; postPatch = ''
patchPhase = ''
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "/bin/" "" \ --replace "/bin/" "" \
--replace "MAKEJOBS := " '# MAKEJOBS := ' --replace "MAKEJOBS := " '# MAKEJOBS := '
@ -40,7 +40,27 @@ appleDerivation {
patchShebangs . patchShebangs .
''; '';
installPhase = '' PLATFORM = "MacOSX";
SDKVERSION = "10.11";
CC = "cc";
CXX = "c++";
MIG = "mig";
MIGCOM = "migcom";
STRIP = "strip";
NM = "nm";
UNIFDEF = "unifdef";
DSYMUTIL = "dsymutil";
HOST_OS_VERSION = "10.10";
HOST_CC = "cc";
HOST_FLEX = "flex";
HOST_BISON = "bison";
HOST_GM4 = "m4";
MIGCC = "cc";
ARCHS = "x86_64";
NIX_CFLAGS_COMPILE = "-Wno-error";
preBuild = ''
# This is a bit of a hack... # This is a bit of a hack...
mkdir -p sdk/usr/local/libexec mkdir -p sdk/usr/local/libexec
@ -56,49 +76,27 @@ appleDerivation {
export SDKROOT_RESOLVED=$PWD/sdk export SDKROOT_RESOLVED=$PWD/sdk
export HOST_SDKROOT_RESOLVED=$PWD/sdk export HOST_SDKROOT_RESOLVED=$PWD/sdk
export PLATFORM=MacOSX
export SDKVERSION=10.11
export CC=cc
export CXX=c++
export MIG=${bootstrap_cmds}/bin/mig
export MIGCOM=${bootstrap_cmds}/libexec/migcom
export STRIP=sentinel-missing
export LIPO=sentinel-missing
export LIBTOOL=sentinel-missing
export NM=sentinel-missing
export UNIFDEF=${unifdef}/bin/unifdef
export DSYMUTIL=sentinel-missing
export CTFCONVERT=sentinel-missing
export CTFMERGE=sentinel-missing
export CTFINSERT=sentinel-missing
export NMEDIT=sentinel-missing
export HOST_OS_VERSION=10.7
export HOST_CC=cc
export HOST_FLEX=${flex}/bin/flex
export HOST_BISON=${bison}/bin/bison
export HOST_GM4=${gnum4}/bin/m4
export HOST_CODESIGN='echo dummy_codesign'
export HOST_CODESIGN_ALLOCATE=echo
export BUILT_PRODUCTS_DIR=. export BUILT_PRODUCTS_DIR=.
export DSTROOT=$out export DSTROOT=$out
make installhdrs '';
buildFlags = lib.optionalString headersOnly "exporthdrs";
installTargets = lib.optionalString headersOnly "installhdrs";
postInstall = lib.optionalString headersOnly ''
mv $out/usr/include $out mv $out/usr/include $out
(cd BUILD/obj/EXPORT_HDRS && find -type f -exec install -D \{} $out/include/\{} \;)
# TODO: figure out why I need to do this # TODO: figure out why I need to do this
cp libsyscall/wrappers/*.h $out/include cp libsyscall/wrappers/*.h $out/include
mkdir -p $out/include/os install -D libsyscall/os/tsd.h $out/include/os/tsd.h
cp libsyscall/os/tsd.h $out/include/os/tsd.h
cp EXTERNAL_HEADERS/AssertMacros.h $out/include cp EXTERNAL_HEADERS/AssertMacros.h $out/include
cp EXTERNAL_HEADERS/Availability*.h $out/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/ cp EXTERNAL_HEADERS/Availability*.h $out/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/
cp -r EXTERNAL_HEADERS/corecrypto $out/include
# Build the mach headers we crave # Build the mach headers we crave
export MIGCC=cc
export ARCHS="x86_64"
export SRCROOT=$PWD/libsyscall export SRCROOT=$PWD/libsyscall
export DERIVED_SOURCES_DIR=$out/include export DERIVED_SOURCES_DIR=$out/include
export SDKROOT=$out export SDKROOT=$out
@ -108,14 +106,13 @@ appleDerivation {
# Get rid of the System prefix # Get rid of the System prefix
mv $out/System/* $out/ mv $out/System/* $out/
rmdir $out/System
# TODO: do I need this? # TODO: do I need this?
mv $out/internal_hdr/include/mach/*.h $out/include/mach mv $out/internal_hdr/include/mach/*.h $out/include/mach
# Get rid of some junk lying around # Get rid of some junk lying around
rm -rf $out/internal_hdr rm -rf $out/internal_hdr $out/usr $out/local
rm -rf $out/usr
rm -rf $out/local
# Add some symlinks # Add some symlinks
ln -s $out/Library/Frameworks/System.framework/Versions/B \ ln -s $out/Library/Frameworks/System.framework/Versions/B \
@ -123,8 +120,18 @@ appleDerivation {
ln -s $out/Library/Frameworks/System.framework/Versions/Current/PrivateHeaders \ ln -s $out/Library/Frameworks/System.framework/Versions/Current/PrivateHeaders \
$out/Library/Frameworks/System.framework/Headers $out/Library/Frameworks/System.framework/Headers
# IOKit (and possibly the others) is incomplete, so let's not make it visible from here... # IOKit (and possibly the others) is incomplete,
# so let's not make it visible from here...
mkdir $out/Library/PrivateFrameworks mkdir $out/Library/PrivateFrameworks
mv $out/Library/Frameworks/IOKit.framework $out/Library/PrivateFrameworks mv $out/Library/Frameworks/IOKit.framework $out/Library/PrivateFrameworks
''; '';
} } // lib.optionalAttrs headersOnly {
HOST_CODESIGN = "echo";
HOST_CODESIGN_ALLOCATE = "echo";
LIPO = "echo";
LIBTOOL = "echo";
CTFCONVERT = "echo";
CTFMERGE = "echo";
CTFINSERT = "echo";
NMEDIT = "echo";
})

View File

@ -26,6 +26,9 @@ stdenv.mkDerivation rec {
mkdir -p $out/lib mkdir -p $out/lib
cp -rL src/sandbox/include/ $out/ cp -rL src/sandbox/include/ $out/
cp libsystem_sandbox.dylib $out/lib/ cp libsystem_sandbox.dylib $out/lib/
mkdir -p $out/include
cp src/libaks/include/* $out/include
''; '';
# buildInputs = [ cmake bison flex ]; # buildInputs = [ cmake bison flex ];

View File

@ -1,14 +0,0 @@
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = security
security_C_FILES = $(wildcard *.c)
security_CC_FILES = $(wildcard *.cpp)
security_LDFLAGS = \
-lsecurity_cdsa_utilities -lsecurity_cdsa_utils -lsecurity_keychain -lsecurity_cssm \
-lsecurity_cdsa_client -lsecurity_utilities -lsecurity_asn1 -lsecurity_mds \
-lsecurity_cdsa_plugin -lsecurity_pkcs12 -lsecurity_apple_csp -lsecurity_apple_cspdl \
-lsecurity_apple_file_dl -lsecurity_apple_x509_cl -lsecurity_apple_x509_tp \
-lsecurity_sd_cspdl -lsecurity_filedb -lsecurityd -framework Security -framework PCSC
include $(GNUSTEP_MAKEFILES)/tool.make

View File

@ -1,101 +0,0 @@
{ Foundation, PCSC, Security, GSS, Kerberos, makeWrapper, apple_sdk,
fetchurl, gnustep, libobjc, libsecurity_apple_csp, libsecurity_apple_cspdl,
libsecurity_apple_file_dl, libsecurity_apple_x509_cl, libsecurity_apple_x509_tp,
libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_plugin,
libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_cssm, libsecurity_filedb,
libsecurity_keychain, libsecurity_mds, libsecurity_pkcs12, libsecurity_sd_cspdl,
libsecurity_utilities, libsecurityd, osx_private_sdk, Security-framework, stdenv }:
stdenv.mkDerivation rec {
version = "55115";
name = "SecurityTool-${version}";
src = fetchurl {
url = "http://opensource.apple.com/tarballs/SecurityTool/SecurityTool-${version}.tar.gz";
sha256 = "0apcz4vy2z5645jhrs60wj3w27mncjjqv42h5lln36g6qs2n9113";
};
disallowedRequisites = [ apple_sdk.sdk ];
patchPhase = ''
# copied from libsecurity_generic
cp -R ${osx_private_sdk}/include/SecurityPrivateHeaders Security
substituteInPlace cmsutil.c --replace \
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
'"${apple_sdk.sdk.out}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
substituteInPlace createFVMaster.c --replace \
'<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
'"${apple_sdk.sdk.out}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h"'
'';
postUnpack = ''
unpackFile ${Security.src}
cp Security-*/utilities/src/fileIo.c SecurityTool*
cp Security-*/utilities/src/fileIo.h SecurityTool*
'';
preBuild = ''
makeFlagsArray=(-j$NIX_BUILD_CORES)
'';
NIX_LDFLAGS = "-no_dtrace_dof";
makeFlags = [
"-f ${./GNUmakefile}"
"MAKEFILE_NAME=${./GNUmakefile}"
"GNUSTEP_MAKEFILES=${gnustep.make}/share/GNUstep/Makefiles"
];
installFlags = [
"security_INSTALL_DIR=\$(out)/bin"
];
propagatedBuildInputs = [ GSS Kerberos Security-framework PCSC Foundation ];
__propagatedImpureHostDeps = [ "/System/Library/Keychains" ];
buildInputs = [
gnustep.make
libsecurity_asn1
libsecurity_utilities
libsecurity_cdsa_utilities
libobjc
libsecurity_cdsa_client
libsecurity_keychain
libsecurity_cssm
libsecurity_cdsa_utils
libsecurity_mds
libsecurity_cdsa_plugin
libsecurity_apple_csp
libsecurity_apple_cspdl
libsecurity_apple_file_dl
libsecurity_apple_x509_cl
libsecurity_apple_x509_tp
libsecurity_pkcs12
libsecurity_sd_cspdl
libsecurity_filedb
libsecurityd
makeWrapper
];
NIX_CFLAGS_COMPILE = [
"-F${Security}/Library/Frameworks"
"-F${PCSC}/Library/Frameworks"
"-Wno-deprecated-declarations"
];
postInstall = ''
wrapProgram $out/bin/security --set DYLD_INSERT_LIBRARIES /usr/lib/libsqlite3.dylib
'';
meta = with stdenv.lib; {
description = "Command line interface to macOS keychains and Security framework";
maintainers = with maintainers; [
copumpkin
joelteon
];
platforms = platforms.darwin;
license = licenses.apsl20;
};
}

View File

@ -60,10 +60,6 @@ in
osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { }; osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { };
security_tool = darwin.callPackage ../os-specific/darwin/security-tool {
Security-framework = darwin.apple_sdk.frameworks.Security;
};
stubs = callPackages ../os-specific/darwin/stubs { }; stubs = callPackages ../os-specific/darwin/stubs { };
trash = darwin.callPackage ../os-specific/darwin/trash { }; trash = darwin.callPackage ../os-specific/darwin/trash { };