GithubHelp home page GithubHelp logo

CocoaPods Dependency Management about iosports HOT 7 OPEN

rwyland avatar rwyland commented on August 27, 2024
CocoaPods Dependency Management

from iosports.

Comments (7)

syzdek avatar syzdek commented on August 27, 2024

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.

http://cocoapods.org/

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.

rwyland avatar rwyland commented on August 27, 2024

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.

syzdek avatar syzdek commented on August 27, 2024

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.

rwyland avatar rwyland commented on August 27, 2024

I started with OpenSSL but ran into a bug with the CocoaPods gem.

CocoaPods/CocoaPods#375

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.

rwyland avatar rwyland commented on August 27, 2024

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.

fabiopelosin avatar fabiopelosin commented on August 27, 2024

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.

DougPuchalski avatar DougPuchalski commented on August 27, 2024

Has there been any progress on this?

from iosports.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.