Comments (7)
Hi Rob,
Your project looks intriguing. Do you have many users? I've noticed that
most of the questions I receive about iOS Ports come from devs that seem
very uncomfortable with the command line or UNIXy. This could possibly be
a result of Windows Devs moving to iOS and using iOS Ports to interact with
Active Directory.
Does CocoaPod have the ability to run arbitrary commands? If you look
through iOS Ports, there is a lack of source code. iOS Ports uses
downloads the official distribution tar files (using curl), compares the
MD5 checksums, unpacks the source, patches the source (if needed), copies
known configuration files into place, and then compiles the project. All
but the last step is completed by calling an external target to a Makefile.
Can this be easily accomplished by CocoaPod or would iOS Ports need to be
completely unwound and essentially redesigned to fit it into CocoaPod?
--David M. Syzdek
On Thu, Jul 5, 2012 at 10:17 AM, Rob W <
[email protected]>
wrote:
I'm working on adding your ports to the CocoPods repository to enable
dependency management of your frameworks and wanted to check in with you to
make sure I'm doing this right.I'm going to split up iOSPorts into 5 separate CocoaPods as you have
listed in your readme and then include the inner dependencies as needed.
Something I noticed is that each dependency has a different license which
can be accounted for in each CocoaPod.Also, I am going to add a CocoaPod for iOSPorts project that includes all
5 of the inner dependencies to allow devs just just include everything.
This will have your license on it.Does this sound correct? Did you want to help out with the process?
Thanks
Reply to this email directly or view it on GitHub:
#4
from iosports.
Sorry for any confusion, but I'm actually just a dev that has recently converted to CocoaPods in our team. We are going through our dependencies and saw that iOSPorts hasn't been added to the CocoaPods repo, so I was beginning to write a new Pod for your project and wanted to check with you.
From the looks of usage, CocoaPods looks like its taking off in the Obj-C community just like Maven or Ivy did for the Java community. To comment on your concerns, I think having this as a Pod might make things easier for new iOS developers to use your ports.
I'm fairly new to CocoaPods and am going through the process of adding a new Pod to the repo, so I will find out how it manages the makefiles. Since each individual framework can be opened and built on it's own, I don't think there will be a compatibility problem, but I will find out.
from iosports.
If you haven't already written the new pod, let me know and I'll start chipping away at integrating iOS Ports with CocoaPod.
from iosports.
I started with OpenSSL but ran into a bug with the CocoaPods gem.
My podspec for it is included in the bug report. Once they push a fix, I will try again and see if I can get it working.
from iosports.
Ok, now that they have updated the gem over the weekend, I gave it another go. Here is the podspec so far:
Pod::Spec.new do |s|
s.name = "OpenSSL"
s.version = "0.6"
s.summary = "A port of OpenSSL's SSL/TLS and Crypto toolkit to iOS."
s.homepage = "http://www.bindlebinaries.com/products/developer/iosports/"
s.license = 'BSD-style Open Source'
s.author = { "David M. Syzdek" => "[email protected]" }
s.source = { :git => "https://github.com/bindle/iOSPorts.git", :tag => "v0.6" }
s.platform = :ios
s.source_files = 'ports/security/openssl/*'
s.preserve_paths = "build-aux"
s.libraries = 'libssl', 'libcrypto'
s.requires_arc = false
s.xcconfig = { 'HEADER_SEARCH_PATHS' => 'openssl openssl/include openssl/crypto', 'OTHER_LDFLAGS' => '-ObjC' }
end
Here is the output for when I build the project.
# pod spec lint OpenSSL.podspec --verbose
-> OpenSSL (0.6)
OpenSSL (0.6) - Analyzing on iOS platform.
Resolving dependencies of:
Resolving dependencies for target `default' (iOS)
- OpenSSL (from `/Users/rwyland/Documents/workspace/visitor/OpenSSL.podspec')
* Fetching podspec for `OpenSSL' from: /Users/rwyland/Documents/workspace/visitor/OpenSSL.podspec
Installing dependencies
-> Installing OpenSSL (0.6)
-> Cloning git repo
$ /usr/bin/git rev-list --max-count=1 v0.6
0f9b8bc6a2b1c6c920321164aad789caa58aa0ae
$ /usr/bin/git init
Initialized empty Git repository in /private/tmp/CocoaPods/Lint/Pods/OpenSSL/.git/
$ /usr/bin/git remote add origin '/Users/rwyland/Library/Caches/CocoaPods/Git/84091e21c232e583ea55ea3f578ab7d123b8c318'
$ /usr/bin/git fetch origin tags/v0.6
From /Users/rwyland/Library/Caches/CocoaPods/Git/84091e21c232e583ea55ea3f578ab7d123b8c318
* tag v0.6 -> FETCH_HEAD
$ /usr/bin/git reset --hard FETCH_HEAD
HEAD is now at 0f9b8bc Updating changelog.
$ /usr/bin/git checkout -b activated-pod-commit
Switched to a new branch 'activated-pod-commit'
-> Using existing documentation
Generating support files
- Generating xcconfig file at `/tmp/CocoaPods/Lint/Pods/Pods.xcconfig'
- Generating prefix header at `/tmp/CocoaPods/Lint/Pods/Pods-prefix.pch'
- Generating copy resources script at `/tmp/CocoaPods/Lint/Pods/Pods-resources.sh'
- Running post install hooks
- Writing Xcode project file to `/tmp/CocoaPods/Lint/Pods/Pods.xcodeproj'
Building with xcodebuild.
=== CLEAN NATIVE TARGET Pods OF PROJECT Pods WITH THE DEFAULT CONFIGURATION (Release) ===
Check dependencies
warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/build-aux' of type folder for architecture armv7
warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/Makefile' of type sourcecode.make for architecture armv7
warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/openssl.xcodeproj' of type wrapper.pb-project for architecture armv7
warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/README' of type text for architecture armv7
Clean.Remove clean /var/folders/92/prs3fjbx6d19fnvhy2f887zr0000gp/C/com.apple.Xcode.502/SharedPrecompiledHeaders/Pods-prefix-czofjfzwzeiceuafzniqwknatybs/Pods-prefix.pch.pth
builtin-rm -rf /var/folders/92/prs3fjbx6d19fnvhy2f887zr0000gp/C/com.apple.Xcode.502/SharedPrecompiledHeaders/Pods-prefix-czofjfzwzeiceuafzniqwknatybs/Pods-prefix.pch.pth
Clean.Remove clean build/Release-iphoneos/libPods.a
builtin-rm -rf /tmp/CocoaPods/Lint/Pods/build/Release-iphoneos/libPods.a
Clean.Remove clean build/Pods.build/Release-iphoneos/Pods.build
builtin-rm -rf /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build
** CLEAN SUCCEEDED **
=== BUILD NATIVE TARGET Pods OF PROJECT Pods WITH THE DEFAULT CONFIGURATION (Release) ===
Check dependencies
warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/build-aux' of type folder for architecture armv7
warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/Makefile' of type sourcecode.make for architecture armv7
warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/openssl.xcodeproj' of type wrapper.pb-project for architecture armv7
warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/README' of type text for architecture armv7
ProcessPCH /var/folders/92/prs3fjbx6d19fnvhy2f887zr0000gp/C/com.apple.Xcode.502/SharedPrecompiledHeaders/Pods-prefix-czofjfzwzeiceuafzniqwknatybs/Pods-prefix.pch.pth Pods-prefix.pch normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd /tmp/CocoaPods/Lint/Pods
setenv LANG en_US.US-ASCII
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c-header -arch armv7 -fmessage-length=0 -std=gnu99 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -Wprotocol -Wdeprecated-declarations -g -Wno-conversion -Wno-sign-conversion -mthumb "-DIBOutlet=__attribute__((iboutlet))" "-DIBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName)))" "-DIBAction=void)__attribute__((ibaction)" -miphoneos-version-min=4.3 -iquote /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Pods-generated-files.hmap -I/tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Pods-own-target-headers.hmap -I/tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Pods-all-target-headers.hmap -iquote /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Pods-project-headers.hmap -I/tmp/CocoaPods/Lint/Pods/build/Release-iphoneos/include -Iopenssl -Iopenssl/include -Iopenssl/crypto -I/tmp/CocoaPods/Lint/Pods/Headers -I/tmp/CocoaPods/Lint/Pods/Headers/OpenSSL -I/tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/DerivedSources/armv7 -I/tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/DerivedSources -F/tmp/CocoaPods/Lint/Pods/build/Release-iphoneos --serialize-diagnostics /var/folders/92/prs3fjbx6d19fnvhy2f887zr0000gp/C/com.apple.Xcode.502/SharedPrecompiledHeaders/Pods-prefix-czofjfzwzeiceuafzniqwknatybs/Pods-prefix.pch.dia -c /tmp/CocoaPods/Lint/Pods/Pods-prefix.pch -o /var/folders/92/prs3fjbx6d19fnvhy2f887zr0000gp/C/com.apple.Xcode.502/SharedPrecompiledHeaders/Pods-prefix-czofjfzwzeiceuafzniqwknatybs/Pods-prefix.pch.pth -MMD -MT dependencies -MF /var/folders/92/prs3fjbx6d19fnvhy2f887zr0000gp/C/com.apple.Xcode.502/SharedPrecompiledHeaders/Pods-prefix-czofjfzwzeiceuafzniqwknatybs/Pods-prefix.pch.d
CompileC build/Pods.build/Release-iphoneos/Pods.build/Objects-normal/armv7/PodsDummy.o PodsDummy.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
cd /tmp/CocoaPods/Lint/Pods
setenv LANG en_US.US-ASCII
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch armv7 -fmessage-length=0 -std=gnu99 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -Wprotocol -Wdeprecated-declarations -g -Wno-conversion -Wno-sign-conversion -mthumb "-DIBOutlet=__attribute__((iboutlet))" "-DIBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName)))" "-DIBAction=void)__attribute__((ibaction)" -miphoneos-version-min=4.3 -iquote /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Pods-generated-files.hmap -I/tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Pods-own-target-headers.hmap -I/tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Pods-all-target-headers.hmap -iquote /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Pods-project-headers.hmap -I/tmp/CocoaPods/Lint/Pods/build/Release-iphoneos/include -Iopenssl -Iopenssl/include -Iopenssl/crypto -I/tmp/CocoaPods/Lint/Pods/Headers -I/tmp/CocoaPods/Lint/Pods/Headers/OpenSSL -I/tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/DerivedSources/armv7 -I/tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/DerivedSources -F/tmp/CocoaPods/Lint/Pods/build/Release-iphoneos -include /var/folders/92/prs3fjbx6d19fnvhy2f887zr0000gp/C/com.apple.Xcode.502/SharedPrecompiledHeaders/Pods-prefix-czofjfzwzeiceuafzniqwknatybs/Pods-prefix.pch -MMD -MT dependencies -MF /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Objects-normal/armv7/PodsDummy.d --serialize-diagnostics /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Objects-normal/armv7/PodsDummy.dia -c /tmp/CocoaPods/Lint/Pods/PodsDummy.m -o /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Objects-normal/armv7/PodsDummy.o
Libtool build/Release-iphoneos/libPods.a normal armv7
cd /tmp/CocoaPods/Lint/Pods
setenv IPHONEOS_DEPLOYMENT_TARGET 4.3
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static -arch_only armv7 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -L/tmp/CocoaPods/Lint/Pods/build/Release-iphoneos -filelist /tmp/CocoaPods/Lint/Pods/build/Pods.build/Release-iphoneos/Pods.build/Objects-normal/armv7/Pods.LinkFileList -framework Foundation -o /tmp/CocoaPods/Lint/Pods/build/Release-iphoneos/libPods.a
** BUILD SUCCEEDED **
-> OpenSSL (0.6)
- NOTE | XCODEBUILD > warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/build-aux' of type folder for architecture armv7
- NOTE | XCODEBUILD > warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/Makefile' of type sourcecode.make for architecture armv7
- NOTE | XCODEBUILD > warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/openssl.xcodeproj' of type wrapper.pb-project for architecture armv7
- NOTE | XCODEBUILD > warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/README' of type text for architecture armv7
- NOTE | XCODEBUILD > warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/build-aux' of type folder for architecture armv7
- NOTE | XCODEBUILD > warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/Makefile' of type sourcecode.make for architecture armv7
- NOTE | XCODEBUILD > warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/openssl.xcodeproj' of type wrapper.pb-project for architecture armv7
- NOTE | XCODEBUILD > warning: no rule to process file '$(PROJECT_DIR)/OpenSSL/ports/security/openssl/README' of type text for architecture armv7
OpenSSL.podspec passed validation.
So my guess is we need to figure out how to tell the podspec to use the make file as the target?
from iosports.
A pre install hook can be used to run the make file.
Pod::Spec.new do |s|
def pre_install(pod, target_definition)
Dir.chdir(pod.root){ `sh make.sh` }
end
end
from iosports.
Has there been any progress on this?
from iosports.
Related Issues (13)
- Xcode 4 project updates. HOT 2
- makefile failed with error code 2 HOT 3
- doesn't build behind a http proxy HOT 2
- Which header path to include? HOT 2
- clean takes ages HOT 1
- Linking issues with cyrus-sasl, reason for staying on 2.1.23?
- iOSPorts.xcodeproj Makefile hard-coding /Application/Xcode
- pcre PACKAGE_URL broken
- OpenLDAP - Windows Server Active Directory compatibility
- LDAPError: Invalid Credentials (errCode:49)
- Undefined symbols for architecture armv7:
- Openssl fails archiving HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iosports.