blob: 562b797eaffac71fcef50a4cb905f6beec130caf [file] [log] [blame]
Jorge Canizalesc2d7ecb2015-02-27 01:22:41 -08001Pod::Spec.new do |s|
2 s.name = 'gRPC'
3 s.version = '0.0.1'
4 s.summary = 'Generic gRPC client library for iOS'
5 s.homepage = 'https://www.grpc.io'
6 s.license = 'New BSD'
7 s.authors = { 'Jorge Canizales' => 'jcanizales@google.com' }
8
9 # s.source = { :git => 'https://github.com/grpc/grpc.git', :tag => 'release-0_5_0' }
10 s.source_files = 'src/objective-c/GRPCClient/*.{h,m}', 'src/objective-c/GRPCClient/private/*.{h,m}'
11 s.private_header_files = 'src/objective-c/GRPCClient/private/*.h'
12
13 s.platform = :ios
14 s.ios.deployment_target = '6.0'
15 s.requires_arc = true
16
Jorge Canizales045fabb2015-04-21 11:39:37 -070017 s.subspec 'RxLibrary' do |rs|
18 rs.summary = 'Reactive Extensions library for iOS'
19 rs.authors = { 'Jorge Canizales' => 'jcanizales@google.com' }
20
21 rs.source_files = 'src/objective-c/RxLibrary/*.{h,m}', 'src/objective-c/RxLibrary/transformations/*.{h,m}', 'src/objective-c/RxLibrary/private/*.{h,m}'
22 rs.private_header_files = 'src/objective-c/RxLibrary/private/*.h'
23 end
24
Jorge Canizalesc2d7ecb2015-02-27 01:22:41 -080025 s.subspec 'C-Core' do |cs|
Jorge Canizales045fabb2015-04-21 11:39:37 -070026 cs.summary = 'Core gRPC library, written in C'
Jorge Canizalesba37a3e2015-03-23 15:34:58 -070027 cs.authors = { 'Craig Tiller' => 'ctiller@google.com',
28 'David Klempner' => 'klempner@google.com',
29 'Nicolas Noble' => 'nnoble@google.com',
Jorge Canizalesc2d7ecb2015-02-27 01:22:41 -080030 'Vijay Pai' => 'vpai@google.com',
31 'Yang Gao' => 'yangg@google.com' }
32
33 cs.source_files = 'src/core/**/*.{h,c}', 'include/grpc/*.h', 'include/grpc/**/*.h'
34 cs.private_header_files = 'src/core/**/*.h'
35 cs.header_mappings_dir = '.'
36 cs.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/Headers/Build/gRPC" "$(PODS_ROOT)/Headers/Build/gRPC/include"' }
37
38 cs.requires_arc = false
39 cs.libraries = 'z'
40 cs.dependency 'OpenSSL', '~> 1.0.200'
41 end
42
43 # This is a workaround for Cocoapods Issue #1437.
44 # It renames time.h and string.h to grpc_time.h and grpc_string.h.
45 s.prepare_command = <<-CMD
46 DIR_TIME="grpc/support"
47 BAD_TIME="$DIR_TIME/time.h"
48 GOOD_TIME="$DIR_TIME/grpc_time.h"
49 if [ -f "include/$BAD_TIME" ];
50 then
51 grep -rl "$BAD_TIME" include/grpc src/core | xargs sed -i '' -e s@$BAD_TIME@$GOOD_TIME@g
52 mv "include/$BAD_TIME" "include/$GOOD_TIME"
53 fi
54
55 DIR_STRING="src/core/support"
56 BAD_STRING="$DIR_STRING/string.h"
57 GOOD_STRING="$DIR_STRING/grpc_string.h"
58 if [ -f "$BAD_STRING" ];
59 then
60 grep -rl "$BAD_STRING" include/grpc src/core | xargs sed -i '' -e s@$BAD_STRING@$GOOD_STRING@g
61 mv "$BAD_STRING" "$GOOD_STRING"
62 fi
63 CMD
64
65 s.xcconfig = { 'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/Headers/Public/gRPC/include"' }
Jorge Canizalesba37a3e2015-03-23 15:34:58 -070066
67 # Certificates, to be able to establish TLS connections:
68 s.resource_bundles = { 'gRPC' => ['etc/roots.pem'] }
Jorge Canizalesc2d7ecb2015-02-27 01:22:41 -080069end