forked from tbalthazar-archives/XMPPFramework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathXMPPFramework.podspec
More file actions
129 lines (119 loc) · 4.76 KB
/
XMPPFramework.podspec
File metadata and controls
129 lines (119 loc) · 4.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
Pod::Spec.new do |s|
s.name = 'XMPPFramework'
s.version = '3.6.2'
s.platform = :ios, '7.0'
s.license = { :type => 'BSD', :file => 'copying.txt' }
s.summary = 'An XMPP Framework in Objective-C for the Mac / iOS development community.'
s.homepage = 'https://github.com/tbalthazar/XMPPFramework'
s.author = { 'Robbie Hanson' => 'robbiehanson@deusty.com' }
s.source = { :git => 'https://github.com/tbalthazar/XMPPFramework.git', :tag => '3.6.2' }
s.resources = [ '**/*.{xcdatamodel,xcdatamodeld}']
s.description = 'XMPPFramework provides a core implementation of RFC-3920 (the xmpp standard), along with
the tools needed to read & write XML. It comes with multiple popular extensions (XEPs),
all built atop a modular architecture, allowing you to plug-in any code needed for the job.
Additionally the framework is massively parallel and thread-safe. Structured using GCD,
this framework performs well regardless of whether it\'s being run on an old iPhone, or
on a 12-core Mac Pro. (And it won\'t block the main thread... at all).'
s.requires_arc = true
# XMPPFramework.h is used internally in the framework to let modules know
# what other optional modules are available. Since we don't know yet which
# subspecs have been selected, include all of them wrapped in defines which
# will be set by the relevant subspecs.
s.prepare_command = <<-'END'
echo '#import "XMPP.h"' > XMPPFramework.h
grep '#define _XMPP_' -r Extensions \
| tr '-' '_' \
| perl -pe 's/Extensions\/([A-z0-9_]*)\/([A-z]*.h).*/\n#ifdef HAVE_XMPP_SUBSPEC_\U\1\n\E#import "\2"\n#endif/' \
>> XMPPFramework.h
END
s.subspec 'Core' do |core|
core.source_files = ['XMPPFramework.h', 'Core/**/*.{h,m}','Vendor/libidn/*.h']
core.vendored_libraries = 'Vendor/libidn/libidn.a'
core.libraries = 'xml2','resolv'
core.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2 $(SDKROOT)/usr/include/libresolv',
'LIBRARY_SEARCH_PATHS' => '"$(PODS_ROOT)/XMPPFramework/Vendor/libidn"'}
# Can't use the KissXML pod because enabling the NSXML defines requires
# modifying a header
core.source_files = 'Vendor/KissXML/**/*.{h,m}'
core.dependency 'CocoaLumberjack','~>1.6.2'
core.dependency 'CocoaAsyncSocket','~>7.3.1'
end
s.subspec 'Authentication' do |ss|
ss.source_files = 'Authentication/**/*.{h,m}'
ss.dependency 'XMPPFramework/Core'
end
s.subspec 'Categories' do |ss|
ss.source_files = 'Categories/**/*.{h,m}'
ss.dependency 'XMPPFramework/Core'
end
s.subspec 'Utilities' do |ss|
ss.source_files = 'Utilities/**/*.{h,m}'
ss.dependency 'XMPPFramework/Core'
end
def s.xmpp_extension(name)
subspec name do |ss|
ss.source_files = "Extensions/#{name}/**/*.{h,m}"
ss.dependency 'XMPPFramework/Core'
ss.prefix_header_contents = "#define HAVE_XMPP_SUBSPEC_#{name.upcase.sub('-', '_')}"
yield ss if block_given?
end
end
s.xmpp_extension 'BandwidthMonitor'
s.xmpp_extension 'CoreDataStorage' do |cds|
cds.framework = 'CoreData'
end
s.xmpp_extension 'GoogleSharedStatus'
s.xmpp_extension 'ProcessOne'
s.xmpp_extension 'Reconnect' do |r|
r.framework = 'SystemConfiguration'
end
s.xmpp_extension 'Roster' do |r|
r.dependency 'XMPPFramework/CoreDataStorage'
r.dependency 'XMPPFramework/XEP-0203'
end
s.xmpp_extension 'SystemInputActivityMonitor'
s.xmpp_extension 'XEP-0009'
s.xmpp_extension 'XEP-0012'
s.xmpp_extension 'XEP-0016'
s.xmpp_extension 'XEP-0045' do |x|
x.dependency 'XMPPFramework/CoreDataStorage'
x.dependency 'XMPPFramework/XEP-0203'
end
s.xmpp_extension 'XEP-0054' do |x|
x.dependency 'XMPPFramework/Roster'
x.dependency 'XMPPFramework/XEP-0153'
x.framework = 'CoreLocation'
end
s.xmpp_extension 'XEP-0059'
s.xmpp_extension 'XEP-0060'
s.xmpp_extension 'XEP-0065'
s.xmpp_extension 'XEP-0066'
s.xmpp_extension 'XEP-0082'
s.xmpp_extension 'XEP-0085'
s.xmpp_extension 'XEP-0100'
s.xmpp_extension 'XEP-0106'
s.xmpp_extension 'XEP-0115' do |x|
x.dependency 'XMPPFramework/CoreDataStorage'
end
s.xmpp_extension 'XEP-0136' do |x|
x.dependency 'XMPPFramework/CoreDataStorage'
x.dependency 'XMPPFramework/XEP-0203'
x.dependency 'XMPPFramework/XEP-0085'
end
s.xmpp_extension 'XEP-0153' do |x|
#x.dependency 'XMPPFramework/XEP-0054'
end
s.xmpp_extension 'XEP-0172'
s.xmpp_extension 'XEP-0184'
s.xmpp_extension 'XEP-0199'
s.xmpp_extension 'XEP-0202' do |x|
x.dependency 'XMPPFramework/XEP-0082'
end
s.xmpp_extension 'XEP-0203' do |x|
x.dependency 'XMPPFramework/XEP-0082'
end
s.xmpp_extension 'XEP-0223'
s.xmpp_extension 'XEP-0224'
#s.xmpp_extension 'XEP-0297'
s.xmpp_extension 'XEP-0308'
end