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
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
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"];

View file

@ -67,5 +67,7 @@ runCommand "Toolchains" {} (''
done
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
'')

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
bash xcodescripts/headers.sh
cp ${./CrashReporterClient.h} $out/include/CrashReporterClient.h
cp ${Libc_10-9}/include/NSSystemDirectories.h $out/include
# 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,
dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto, copyfile,
removefile, libresolv, Libnotify, libplatform, libpthread, mDNSResponder, launchd, libutil }:
{ stdenv, appleDerivation, cpio, xnu, Libc, Libm, libdispatch, cctools, Libinfo
, dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto
, copyfile, removefile, libresolv, Libnotify, libplatform, libpthread
, mDNSResponder, launchd, libutil, hfs }:
appleDerivation rec {
phases = [ "unpackPhase" "installPhase" ];
dontBuild = true;
dontFixup = true;
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/stdarg.h $out/include
for dep in ${Libc} ${Libm} ${Libinfo} ${dyld} ${architecture} ${libclosure} ${CarbonHeaders} \
${libdispatch} ${ncurses.dev} ${CommonCrypto} ${copyfile} ${removefile} ${libresolv} \
${Libnotify} ${libplatform} ${mDNSResponder} ${launchd} ${libutil} ${libpthread}; do
for dep in ${Libc} ${Libm} ${Libinfo} ${dyld} ${architecture} \
${libclosure} ${CarbonHeaders} ${libdispatch} ${ncurses.dev} \
${CommonCrypto} ${copyfile} ${removefile} ${libresolv} \
${Libnotify} ${libplatform} ${mDNSResponder} ${launchd} \
${libutil} ${libpthread} ${hfs}; do
(cd $dep/include && find . -name '*.h' | cpio -pdm $out/include)
done
(cd ${cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
cat <<EOF > $out/include/TargetConditionals.h
#ifndef __TARGETCONDITIONALS__
#define __TARGETCONDITIONALS__
#define TARGET_OS_MAC 1
#define TARGET_OS_OSX 1
#define TARGET_OS_WIN32 0
#define TARGET_OS_UNIX 0
#define TARGET_OS_EMBEDDED 0

View file

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

View file

@ -3,6 +3,7 @@ _____old_semwait_signal_nocancel
_____sigwait_nocancel
____kernelVersionNumber
____kernelVersionString
___abort_with_payload
___accept
___accept_nocancel
___access_extended
@ -13,6 +14,11 @@ ___bsdthread_ctl
___bsdthread_register
___bsdthread_terminate
___carbon_delete
___channel_get_info
___channel_get_opt
___channel_open
___channel_set_opt
___channel_sync
___chmod
___chmod_extended
___close_nocancel
@ -32,6 +38,7 @@ ___fchmod_extended
___fcntl
___fcntl_nocancel
___fork
___fs_snapshot
___fstat64_extended
___fstat_extended
___fsync_nocancel
@ -57,6 +64,8 @@ ___ioctl
___iopolicysys
___kdebug_trace
___kdebug_trace64
___kdebug_trace_string
___kdebug_typefilter
___kill
___lchown
___libkernel_init
@ -79,6 +88,7 @@ ___mac_set_file
___mac_set_link
___mac_set_proc
___mac_syscall
___microstackshot
___mkdir_extended
___mkfifo_extended
___mmap
@ -90,6 +100,13 @@ ___msgsys
___msync
___msync_nocancel
___munmap
___nexus_create
___nexus_deregister
___nexus_destroy
___nexus_get_opt
___nexus_open
___nexus_register
___nexus_set_opt
___old_semwait_signal
___open
___open_dprotected_np
@ -97,12 +114,17 @@ ___open_extended
___open_nocancel
___openat
___openat_nocancel
___os_nexus_ifattach
___os_nexus_ifdetach
___persona
___pipe
___poll_nocancel
___posix_spawn
___pread_nocancel
___proc_info
___process_policy
___pselect
___pselect_nocancel
___psynch_cvbroad
___psynch_cvclrprepost
___psynch_cvsignal
@ -133,6 +155,7 @@ ___recvmsg
___recvmsg_nocancel
___rename
___renameat
___renameatx_np
___rmdir
___sandbox_me
___sandbox_mm
@ -175,6 +198,7 @@ ___sigsuspend
___sigsuspend_nocancel
___sigwait
___socketpair
___stack_snapshot_with_config
___stat64_extended
___stat_extended
___syscall
@ -182,8 +206,11 @@ ___syscall_logger
___sysctl
___sysctlbyname
___telemetry
___terminate_with_payload
___thread_selfid
___thread_selfusage
___ulock_wait
___ulock_wake
___umask_extended
___unlink
___unlinkat
@ -191,6 +218,7 @@ ___vfork
___wait4
___wait4_nocancel
___waitid_nocancel
___work_interval_ctl
___workq_kernreturn
___workq_open
___write_nocancel
@ -202,6 +230,7 @@ __get_cpu_capabilities
__getprivatesystemidentifier
__host_page_size
__init_cpu_capabilities
__kernelrpc_host_create_mach_voucher
__kernelrpc_mach_port_allocate
__kernelrpc_mach_port_allocate_full
__kernelrpc_mach_port_allocate_name
@ -257,13 +286,17 @@ __kernelrpc_mach_vm_map
__kernelrpc_mach_vm_map_trap
__kernelrpc_mach_vm_protect
__kernelrpc_mach_vm_protect_trap
__kernelrpc_mach_vm_purgable_control
__kernelrpc_mach_vm_purgable_control_trap
__kernelrpc_mach_vm_read
__kernelrpc_mach_vm_remap
__kernelrpc_mach_voucher_extract_attr_recipe
__kernelrpc_task_set_port_space
__kernelrpc_thread_policy
__kernelrpc_thread_policy_set
__kernelrpc_thread_set_policy
__kernelrpc_vm_map
__kernelrpc_vm_purgable_control
__kernelrpc_vm_read
__kernelrpc_vm_remap
__mach_errors
@ -272,6 +305,9 @@ __mach_snprintf
__mach_vsnprintf
__os_alloc_once_table
__register_gethostuuid_callback
__thread_set_tsd_base
_abort_with_payload
_abort_with_reason
_accept
_accept$NOCANCEL
_access
@ -312,6 +348,8 @@ _clock_set_attributes
_clock_set_time
_clock_sleep
_clock_sleep_trap
_clonefile
_clonefileat
_close
_close$NOCANCEL
_coalition_create
@ -345,6 +383,7 @@ _fchmod
_fchmodat
_fchown
_fchownat
_fclonefileat
_fcntl
_fcntl$NOCANCEL
_fdatasync
@ -358,9 +397,17 @@ _flistxattr
_flock
_fpathconf
_fremovexattr
_fs_snapshot_create
_fs_snapshot_delete
_fs_snapshot_list
_fs_snapshot_mount
_fs_snapshot_rename
_fs_snapshot_revert
_fs_snapshot_root
_fsctl
_fsetattrlist
_fsetxattr
_fsgetpath
_fstat
_fstat$INODE64
_fstat64
@ -384,6 +431,7 @@ _getdirentries
_getdirentriesattr
_getdtablesize
_getegid
_getentropy
_geteuid
_getfh
_getfsstat
@ -409,6 +457,7 @@ _getsockopt
_getuid
_getwgroups_np
_getxattr
_grab_pgo_data
_guarded_close_np
_guarded_kqueue_np
_guarded_open_dprotected_np
@ -416,14 +465,18 @@ _guarded_open_np
_guarded_pwrite_np
_guarded_write_np
_guarded_writev_np
_host_check_multiuser_mode
_host_create_mach_voucher
_host_create_mach_voucher_trap
_host_default_memory_manager
_host_get_UNDServer
_host_get_atm_diagnostic_flag
_host_get_boot_info
_host_get_clock_control
_host_get_clock_service
_host_get_exception_ports
_host_get_io_master
_host_get_multiuser_config_flags
_host_get_special_port
_host_info
_host_kernel_version
@ -443,7 +496,9 @@ _host_security_set_task_token
_host_self
_host_self_trap
_host_set_UNDServer
_host_set_atm_diagnostic_flag
_host_set_exception_ports
_host_set_multiuser_config_flags
_host_set_special_port
_host_statistics
_host_statistics64
@ -456,15 +511,28 @@ _internal_catch_exc_subsystem
_ioctl
_issetugid
_kas_info
_kdebug_is_enabled
_kdebug_signpost
_kdebug_signpost_end
_kdebug_signpost_start
_kdebug_trace
_kdebug_trace_string
_kdebug_typefilter
_kevent
_kevent64
_kevent_qos
_kext_request
_kill
_kmod_control
_kmod_create
_kmod_destroy
_kmod_get_info
_kpersona_alloc
_kpersona_dealloc
_kpersona_find
_kpersona_get
_kpersona_info
_kpersona_pidinfo
_kqueue
_lchown
_ledger
@ -487,14 +555,20 @@ _lstat$INODE64
_lstat64
_mach_absolute_time
_mach_approximate_time
_mach_boottime_usec
_mach_continuous_approximate_time
_mach_continuous_time
_mach_error
_mach_error_full_diag
_mach_error_string
_mach_error_type
_mach_generate_activity_id
_mach_get_times
_mach_host_self
_mach_init
_mach_make_memory_entry
_mach_make_memory_entry_64
_mach_memory_info
_mach_memory_object_memory_entry
_mach_memory_object_memory_entry_64
_mach_msg
@ -554,6 +628,7 @@ _mach_task_self
_mach_task_self_
_mach_thread_self
_mach_timebase_info
_mach_timebase_info_trap
_mach_vm_allocate
_mach_vm_behavior_set
_mach_vm_copy
@ -580,6 +655,7 @@ _mach_voucher_debug_info
_mach_voucher_extract_all_attr_recipes
_mach_voucher_extract_attr_content
_mach_voucher_extract_attr_recipe
_mach_voucher_extract_attr_recipe_trap
_mach_wait_until
_mach_zone_force_gc
_mach_zone_info
@ -598,9 +674,11 @@ _mig_get_reply_port
_mig_put_reply_port
_mig_reply_setup
_mig_strncpy
_mig_strncpy_zerofill
_mincore
_minherit
_mk_timer_arm
_mk_timer_arm_leeway
_mk_timer_cancel
_mk_timer_create
_mk_timer_destroy
@ -630,7 +708,10 @@ _msync$NOCANCEL
_munlock
_munlockall
_munmap
_necp_client_action
_necp_match_policy
_necp_open
_netagent_trigger
_netname_check_in
_netname_check_out
_netname_look_up
@ -645,6 +726,44 @@ _open_dprotected_np
_openat
_openat$NOCANCEL
_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_init
_pathconf
@ -669,6 +788,7 @@ _posix_spawn_file_actions_addopen
_posix_spawn_file_actions_destroy
_posix_spawn_file_actions_init
_posix_spawnattr_destroy
_posix_spawnattr_get_darwin_role_np
_posix_spawnattr_get_qos_clamp_np
_posix_spawnattr_getbinpref_np
_posix_spawnattr_getcpumonitor
@ -680,7 +800,12 @@ _posix_spawnattr_getprocesstype_np
_posix_spawnattr_getsigdefault
_posix_spawnattr_getsigmask
_posix_spawnattr_init
_posix_spawnattr_set_darwin_role_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_setauditsessionport_np
_posix_spawnattr_setbinpref_np
@ -689,6 +814,7 @@ _posix_spawnattr_setcpumonitor
_posix_spawnattr_setcpumonitor_default
_posix_spawnattr_setexceptionports_np
_posix_spawnattr_setflags
_posix_spawnattr_setjetsam_ext
_posix_spawnattr_setmacpolicyinfo_np
_posix_spawnattr_setpcontrol_np
_posix_spawnattr_setpgroup
@ -698,6 +824,7 @@ _posix_spawnattr_setsigmask
_posix_spawnattr_setspecialport_np
_pread
_pread$NOCANCEL
_proc_clear_cpulimits
_proc_clear_delayidlesleep
_proc_clear_dirty
_proc_clear_vmpressure
@ -715,8 +842,10 @@ _proc_importance_assertion_begin_with_msg
_proc_importance_assertion_complete
_proc_kmsgbuf
_proc_libversion
_proc_list_uptrs
_proc_listallpids
_proc_listchildpids
_proc_listcoalitions
_proc_listpgrppids
_proc_listpids
_proc_listpidspath
@ -728,6 +857,7 @@ _proc_pidinfo
_proc_pidoriginatorinfo
_proc_pidpath
_proc_regionfilename
_proc_resume_cpumon
_proc_rlimit_control
_proc_set_cpumon_defaults
_proc_set_cpumon_params
@ -737,6 +867,7 @@ _proc_set_dirty
_proc_set_owner_vmpressure
_proc_set_wakemon_defaults
_proc_set_wakemon_params
_proc_setcpu_percentage
_proc_setpcontrol
_proc_setthread_cpupercent
_proc_suppress
@ -790,6 +921,8 @@ _removexattr
_rename
_rename_ext
_renameat
_renameatx_np
_renamex_np
_revoke
_rmdir
_searchfs
@ -876,6 +1009,16 @@ _sigsuspend$NOCANCEL
_socket
_socket_delegate
_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$INODE64
_stat64
@ -897,18 +1040,26 @@ _task_assign
_task_assign_default
_task_create
_task_for_pid
_task_generate_corpse
_task_get_assignment
_task_get_dyld_image_infos
_task_get_emulation_vector
_task_get_exception_ports
_task_get_mach_voucher
_task_get_special_port
_task_get_state
_task_info
_task_map_corpse_info
_task_map_corpse_info_64
_task_name_for_pid
_task_policy
_task_policy_get
_task_policy_set
_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_resume2
_task_sample
@ -931,7 +1082,10 @@ _task_swap_exception_ports
_task_swap_mach_voucher
_task_terminate
_task_threads
_task_unregister_dyld_image_infos
_task_zone_info
_terminate_with_payload
_terminate_with_reason
_thread_abort
_thread_abort_safely
_thread_assign
@ -942,6 +1096,7 @@ _thread_depress_abort
_thread_get_assignment
_thread_get_exception_ports
_thread_get_mach_voucher
_thread_get_register_pointer_values
_thread_get_special_port
_thread_get_state
_thread_info
@ -968,6 +1123,7 @@ _undelete
_unlink
_unlinkat
_unmount
_usrctl
_utimes
_vfork
_vfs_purge
@ -1008,6 +1164,10 @@ _waitevent
_waitid
_waitid$NOCANCEL
_watchevent
_work_interval_create
_work_interval_destroy
_work_interval_notify
_work_interval_notify_simple
_write
_write$NOCANCEL
_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 {
phases = [ "unpackPhase" "installPhase" ];
nativeBuildInputs = [ xcbuildHook dtrace ];
# buildInputs = [ Foundation xpc darling ];
buildInputs = [ xpc xnu ];
__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"
];
xcbuildFlags = "-target Security_frameworks_osx";
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
# NIX_CFLAGS_COMPILE = "-Wno-error -I${xnu}/include/libkern -DPRIVATE -I${xnu}/Library/Frameworks/System.framework/Headers";
###### 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
preBuild = ''
dtrace -h -C -s OSX/libsecurity_utilities/lib/security_utilities.d -o OSX/libsecurity_utilities/lib/utilities_dtrace.h
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
# 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
appleDerivation {
# We can't just run the root build, because https://github.com/facebook/xcbuild/issues/264
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 ];
# 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 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
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 = ''
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
clang ${recentAdvCmds}/ps/*.c -o ps
for i in $targets; do
xcodebuild SYMROOT=$PWD/Products OBJROOT=$PWD/Intermediates -target $i
done
'';
# temporary install phase until xcodebuild has "install" support
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
# install -d 0755 $locale/bin
# install -m 0755 colldef.tproj/colldef $locale/bin
# install -m 0755 mklocale.tproj/mklocale $locale/bin
for n in 1 8; do
mkdir -p $out/share/man/man$n
install */*.$n $out/share/man/man$n
done
install -d 0755 $ps/bin
install ps $ps/bin/ps
touch "$out"
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
'';
outputs = [
"out"
"ps"
"locale"
];
setOutputFlags = false;
nativeBuildInputs = [ xcbuild ];
buildInputs = [ ncurses libutil ];
meta = {
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
cp mig.sh $out/bin/mig
cp migcom $out/libexec
ln -s $out/libexec/migcom $out/bin/migcom
cp mig.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
# now it's staying here.
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" = {
PowerManagement = "572.50.1";
SmartCardServices = "55111";
dtrace = "168";
xnu = "3248.60.10";
libpthread = "138.10.4";
@ -58,7 +80,6 @@ let
ICU = "531.48";
libdispatch = "442.1.4";
Security = "57031.40.6";
security_systemkeychain = "55202";
IOAudioFamily = "203.3";
IOFireWireFamily = "458";
@ -94,28 +115,6 @@ let
"osx-10.8.4" = {
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" = {
Libm = "2026";
};
@ -166,10 +165,6 @@ let
callPackage = pkgs.newScope (packages // pkgs.darwin // { inherit appleDerivation name version; });
in callPackage (./. + "/${namePath}");
libsecPackage = pkgs.callPackage ./libsecurity_generic {
inherit applePackage appleDerivation_;
};
IOKitSpecs = {
IOAudioFamily = fetchApple "osx-10.10.5" "0ggq7za3iq8g02j16rj67prqhrw828jsw3ah3bxq8a1cvr55aqnq";
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;
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 = {
SmartCardServices = applePackage "SmartCardServices" "osx-10.11.6" "1qqjlbi6j37mw9p3qpfnwf14xh9ff8h5786bmvzwc4kblfglabkm" {};
inherit (adv_cmds) ps locale;
inherit (adv_cmds-boot) ps locale;
architecture = applePackage "architecture" "osx-10.11.6" "1pbpjcd7is69hn8y29i98ci0byik826if8gnp824ha92h90w0fq3" {};
bootstrap_cmds = applePackage "bootstrap_cmds" "dev-tools-7.0" "1v5dv2q3af1xwj5kz0a5g54fd5dm6j4c9dd2g66n4kc44ixyrhp3" {};
bsdmake = applePackage "bsdmake" "dev-tools-3.2.6" "11a9kkhz5bfgi1i8kpdkis78lhc6b5vxmhd598fcdgra1jw4iac2" {};
CarbonHeaders = applePackage "CarbonHeaders" "osx-10.6.2" "1zam29847cxr6y9rnl76zqmkbac53nx0szmqm9w5p469a6wzjqar" {};
CommonCrypto = applePackage "CommonCrypto" "osx-10.11.6" "0vllfpb8f4f97wj2vpdd7w5k9ibnsbr6ff1zslpp6q323h01n25y" {};
configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {};
copyfile = applePackage "copyfile" "osx-10.11.6" "1rkf3iaxmjz5ycgrmf0g971kh90jb2z1zqxg5vlqz001s4y457gs" {};
CommonCrypto = applePackage "CommonCrypto" "osx-10.12.6" "0sgsqjcxbdm2g2zfpc50mzmk4b4ldyw7xvvkwiayhpczg1fga4ff" {};
configd = applePackage "configd" "osx-10.8.5" "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {
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" {};
dtrace = applePackage "dtrace" "osx-10.11.6" "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {};
dtrace-xcode = applePackage "dtrace/xcode.nix" "osx-10.11.6" "04mi0jy8gy0w59rk9i9dqznysv6fzz1v5mq779s41cp308yi0h1c" {};
dyld = applePackage "dyld" "osx-10.11.6" "0qkjmjazm2zpgvwqizhandybr9cm3gz9pckx8rmf0py03faafc08" {};
dtrace = applePackage "dtrace" "osx-10.12.6" "0hpd6348av463yqf70n3xkygwmf1i5zza8kps4zys52sviqz3a0l" {};
dyld = applePackage "dyld" "osx-10.12.6" "0q4jmk78b5ajn33blh4agyq6v2a63lpb3fln78az0dy12bnp1qqk" {};
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" {};
IOKit = applePackage "IOKit" "osx-10.11.6" "0kcbrlyxcyirvg5p95hjd9k8a01k161zg0bsfgfhkb90kh2s8x00" { inherit IOKitSrcs; };
launchd = applePackage "launchd" "osx-10.9.5" "0w30hvwqq8j5n90s3qyp0fccxflvrmmjnicjri4i1vd2g196jdgj" {};
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 {
url = "http://www.opensource.apple.com/tarballs/Libc/Libc-997.90.3.tar.gz";
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" {};
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" {};
Libm = applePackage "Libm" "osx-10.7.4" "02sd82ig2jvvyyfschmb4gpz6psnizri8sh6i982v341x6y4ysl7" {};
Libnotify = applePackage "Libnotify" "osx-10.11.6" "0zbcyxlcfhf91jxczhd5bq9qfgvg494gwwp3l7q5ayb2qdihzr8b" {};
libplatform = applePackage "libplatform" "osx-10.11.6" "1v4ik6vlklwsi0xb1g5kmhy29j9xk5m2y8xb9zbi1k4ng8x39czk" {};
libpthread = applePackage "libpthread" "osx-10.11.6" "1kbw738cmr9pa7pz1igmajs307clfq7gv2vm1sqdzhcnnjxbl28w" {};
libresolv = applePackage "libresolv" "osx-10.11.6" "09flfdi3dlzq0yap32sxidacpc4nn4va7z12a6viip21ix2xb2gf" {};
Libsystem = applePackage "Libsystem" "osx-10.11.6" "1nfkmbqml587v2s1d1y2s2v8nmr577jvk51y6vqrfvsrhdhc2w94" {};
libutil = applePackage "libutil" "osx-10.11.6" "1gmgmcyqdyc684ih7dimdmxdljnq7mzjy5iqbf589wc0pa8h5abm" {};
libutil-new = applePackage "libutil/new.nix" "osx-10.11.6" "1gmgmcyqdyc684ih7dimdmxdljnq7mzjy5iqbf589wc0pa8h5abm" {};
libunwind = applePackage "libunwind" "osx-10.11.6" "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk1b" {};
mDNSResponder = applePackage "mDNSResponder" "osx-10.11.6" "069incq28a78yh1bnr17h9cd5if5mwqpq8ahnkyxxx25fkaxgzcf" {};
objc4 = applePackage "objc4" "osx-10.11.6" "00b7vbgxni8frrqyi69b4njjihlwydzjd9zj9x4z5dbx8jabkvrj" {};
ppp = applePackage "ppp" "osx-10.11.6" "1dql6r1v0vbcs04958nn2i6p31yfsxyy51jca63bm5mf0gxalk3f" {};
removefile = applePackage "removefile" "osx-10.11.6" "1b6r74ry3k01kypvlaclf33fha15pcm0kzx9zrymlg66wg0s0i3r" {};
Security = applePackage "Security" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
xnu = applePackage "xnu" "osx-10.11.6" "0yhziq4dqqcbjpf6vyqn8xhwva2zb525gndkx8cp8alzwp76jnr9" {};
Libnotify = applePackage "Libnotify" "osx-10.12.6" "0p5qhvalf6j1w6n8xwywhn6dvbpzv74q5wqrgs8rwfpf74wg6s9z" {};
libplatform = applePackage "libplatform" "osx-10.12.6" "0rh1f5ybvwz8s0nwfar8s0fh7jbgwqcy903cv2x8m15iq1x599yn" {};
libpthread = applePackage "libpthread" "osx-10.12.6" "1j6541rcgjpas1fc77ip5krjgw4bvz6jq7bq7h9q7axb0jv2ns6c" {};
libresolv = applePackage "libresolv" "osx-10.12.6" "077j6ljfh7amqpk2146rr7dsz5vasvr3als830mgv5jzl7l6vz88" {};
Libsystem = applePackage "Libsystem" "osx-10.12.6" "1082ircc1ggaq3wha218vmfa75jqdaqidsy1bmrc4ckfkbr3bwx2" {
libutil = pkgs.darwin.libutil.override { headersOnly = true; };
hfs = pkgs.darwin.hfs.override { headersOnly = true; };
};
libutil = applePackage "libutil" "osx-10.12.6" "0lqdxaj82h8yjbjm856jjz9k2d96k0viimi881akfng08xk1246y" {};
libunwind = applePackage "libunwind" "osx-10.12.6" "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk10" {};
mDNSResponder = applePackage "mDNSResponder" "osx-10.12.6" "02ms1p8zlgmprzn65jzr7yaqxykh3zxjcrw0c06aayim6h0dsqfy" {};
objc4 = applePackage "objc4" "osx-10.12.6" "1cj1vhbcs9pkmag2ms8wslagicnq9bxi2qjkszmp3ys7z7ccrbwz" {};
ppp = applePackage "ppp" "osx-10.12.6" "1kcc2nc4x1kf8sz0a23i6nfpvxg381kipi0qdisrp8x9z2gbkxb8" {};
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" {};
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" {};
developer_cmds = applePackage "developer_cmds" "osx-10.11.6" "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {};
diskdev_cmds = applePackage "diskdev_cmds" "osx-10.11.6" "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {};
@ -259,28 +252,8 @@ let
top = applePackage "top" "osx-10.11.6" "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {};
PowerManagement = applePackage "PowerManagement" "osx-10.11.6" "1llimhvp0gjffd47322lnjq7cqwinx0c5z7ikli04ad5srpa68mh" {};
security_systemkeychain = applePackage "security_systemkeychain" "osx-10.10.5" "0xviskdgxsail15npi0billyiysvljlmg38mmhnr7qi4ymnnjr90" {};
libsecurity_apple_csp = libsecPackage "libsecurity_apple_csp" "osx-10.7.5" "1ngyn1ik27n4x981px3kfd1z1n8zx7r5w812b6qfjpy5nw4h746w" {};
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" {};
# TODO(matthewbauer):
# To be removed, once I figure out how to build a newer Security version.
Security = applePackage "Security/boot.nix" "osx-10.9.5" "1nv0dczf67dhk17hscx52izgdcyacgyy12ag0jh6nl5hmfzsn8yy" {};
};
in packages

View file

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

View file

@ -1,50 +1,53 @@
{ appleDerivation, cctools, zlib }:
{ appleDerivation, xcbuildHook, CoreSymbolication
, xnu, bison, flex, darling, stdenv, fixDarwinDylibNames }:
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 = ''
export CFLAGS=" -I$PWD/head -I$PWD/sys -I$PWD/libelf -I$PWD/libdwarf"
doCheck = false;
checkPhase = "xcodebuild -target dtrace_tests";
pushd libelf
for f in *.c; do
if [ "$f" != "lintsup.c" ]; then # Apple doesn't use it, so I don't either
cc -D_INT64_TYPE -D_LONGLONG_TYPE -D_ILP32 $CFLAGS -c $f
fi
done
libtool -static -o libelf.a *.o
popd
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
postPatch = ''
substituteInPlace dtrace.xcodeproj/project.pbxproj \
--replace "/usr/sbin" ""
substituteInPlace libdtrace/dt_open.c \
--replace /usr/bin/clang ${stdenv.cc.cc}/bin/clang \
--replace /usr/bin/ld ${stdenv.cc.bintools.bintools}/bin/ld \
--replace /usr/lib/dtrace/dt_cpp.h $out/include/dt_cpp.h \
--replace /usr/lib/dtrace $out/lib/dtrace
'';
# 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 = ''
mkdir -p $out/bin
cp tools/ctfconvert/ctfconvert $out/bin
cp tools/ctfconvert/ctfmerge $out/bin
cp tools/ctfconvert/ctfdump $out/bin
mkdir -p $out
cp -r Products/Release/usr/include $out/include
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 {
nativeBuildInputs = [ xcbuildHook ];
buildInputs = [ zlib bzip2 lzma ncurses libutil-new ];
buildInputs = [ zlib bzip2 lzma ncurses libutil ];
# some commands not working:
# 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 {
installPhase = ''
mkdir -p $out/include
cp *.h $out/include
nativeBuildInputs = lib.optional (!headersOnly) xcbuildHook;
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 ];
platforms = platforms.darwin;
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 {
nativeBuildInputs = [ xcbuildHook ];
buildInputs = [ apple_sdk.frameworks.IOKit ncurses libutil-new ];
buildInputs = [ apple_sdk.frameworks.IOKit ncurses libutil ];
NIX_LDFLAGS = "-lutil";
installPhase = ''
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 {
phases = [ "unpackPhase" "patchPhase" "installPhase" ];
appleDerivation ({
nativeBuildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl python ];
buildInputs = [ bootstrap_cmds bison flex gnum4 unifdef perl python ];
patchPhase = ''
postPatch = ''
substituteInPlace Makefile \
--replace "/bin/" "" \
--replace "MAKEJOBS := " '# MAKEJOBS := '
@ -40,7 +40,27 @@ appleDerivation {
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...
mkdir -p sdk/usr/local/libexec
@ -56,49 +76,27 @@ appleDerivation {
export 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 DSTROOT=$out
make installhdrs
'';
buildFlags = lib.optionalString headersOnly "exporthdrs";
installTargets = lib.optionalString headersOnly "installhdrs";
postInstall = lib.optionalString headersOnly ''
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
cp libsyscall/wrappers/*.h $out/include
mkdir -p $out/include/os
cp libsyscall/os/tsd.h $out/include/os/tsd.h
install -D libsyscall/os/tsd.h $out/include/os/tsd.h
cp EXTERNAL_HEADERS/AssertMacros.h $out/include
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
export MIGCC=cc
export ARCHS="x86_64"
export SRCROOT=$PWD/libsyscall
export DERIVED_SOURCES_DIR=$out/include
export SDKROOT=$out
@ -108,14 +106,13 @@ appleDerivation {
# Get rid of the System prefix
mv $out/System/* $out/
rmdir $out/System
# TODO: do I need this?
mv $out/internal_hdr/include/mach/*.h $out/include/mach
# Get rid of some junk lying around
rm -rf $out/internal_hdr
rm -rf $out/usr
rm -rf $out/local
rm -rf $out/internal_hdr $out/usr $out/local
# Add some symlinks
ln -s $out/Library/Frameworks/System.framework/Versions/B \
@ -123,8 +120,18 @@ appleDerivation {
ln -s $out/Library/Frameworks/System.framework/Versions/Current/PrivateHeaders \
$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
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
cp -rL src/sandbox/include/ $out/
cp libsystem_sandbox.dylib $out/lib/
mkdir -p $out/include
cp src/libaks/include/* $out/include
'';
# 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 { };
security_tool = darwin.callPackage ../os-specific/darwin/security-tool {
Security-framework = darwin.apple_sdk.frameworks.Security;
};
stubs = callPackages ../os-specific/darwin/stubs { };
trash = darwin.callPackage ../os-specific/darwin/trash { };