{"action":"opened","issue":{"url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/6070","repository_url":"https://api.github.com/repos/CocoaPods/CocoaPods","labels_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/6070/labels{/name}","comments_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/6070/comments","events_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/6070/events","html_url":"https://github.com/CocoaPods/CocoaPods/issues/6070","id":184683821,"number":6070,"title":"Can't create podspec for PLCrashReporter","user":{"login":"k06a","id":702124,"avatar_url":"https://avatars.githubusercontent.com/u/702124?v=3","gravatar_id":"","url":"https://api.github.com/users/k06a","html_url":"https://github.com/k06a","followers_url":"https://api.github.com/users/k06a/followers","following_url":"https://api.github.com/users/k06a/following{/other_user}","gists_url":"https://api.github.com/users/k06a/gists{/gist_id}","starred_url":"https://api.github.com/users/k06a/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k06a/subscriptions","organizations_url":"https://api.github.com/users/k06a/orgs","repos_url":"https://api.github.com/users/k06a/repos","events_url":"https://api.github.com/users/k06a/events{/privacy}","received_events_url":"https://api.github.com/users/k06a/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-10-23T11:02:32Z","updated_at":"2016-10-23T11:02:32Z","closed_at":null,"body":"* [x] I've read and understood the [*CONTRIBUTING guidelines and have done my best effort to follow](https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md).\r\n\r\n# Report\r\n\r\n## What did you do?\r\n\r\nI am working on creating `PLCrashReporter-DynamicFramework.podspec` to use it like dependency for my new library because of transitive dependencies with static libraries problem: https://github.com/CocoaPods/CocoaPods/issues/6036\r\n\r\nHere are some ideas about this PLCrashReporter podspec: https://github.com/CocoaPods/CocoaPods/issues/1696\r\n\r\nRight now I faced a problem of compiling `*.defs` to `*.h` files. This file exactly: '${SDKROOT}/usr/include/mach/mach_exc.defs' should be compiled with this command:\r\n```bash\r\nmig -arch \"${CURRENT_ARCH}\" -header \"${DERIVED_FILE_DIR}/${CURRENT_ARCH}/${INPUT_FILE_BASE}.h\" -server /dev/null -user \"${DERIVED_FILE_DIR}/${CURRENT_ARCH}/${INPUT_FILE_BASE}User.c\" \"${INPUT_FILE_PATH}\"\r\n```\r\n\r\nWe need this build step to run this custom script before compilation of source files. Looks like `prepare_command` is not able to access project file and can't be used to add build steps to library target.\r\n\r\n## CocoaPods Environment\r\n\r\n### Stack\r\n\r\n```\r\n   CocoaPods : 1.1.1\r\n        Ruby : ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-darwin15]\r\n    RubyGems : 2.6.4\r\n        Host : Mac OS X 10.12 (16A323)\r\n       Xcode : 8.0 (8A218a)\r\n         Git : git version 2.8.4 (Apple Git-73)\r\nRuby lib dir : /Users/k06a/.rvm/rubies/ruby-2.2.5/lib\r\nRepositories : master - https://github.com/CocoaPods/Specs.git @ 78dd3c4d227cbadb801c6b5e43e1162adc400b67\r\n               ml-works - git@github.com:ML-Works/CocoaPodSpecs.git @ 0f1f846e781ebc2a1243c2ece5ff7d2d2e80ddbc\r\n```\r\n\r\n### Installation Source\r\n\r\n```\r\nExecutable Path: /Users/k06a/.rvm/gems/ruby-2.2.5/bin/pod\r\n```\r\n\r\n### Plugins\r\n\r\n```\r\ncocoapods-deintegrate  : 1.0.1\r\ncocoapods-dependencies : 1.0.0\r\ncocoapods-plugins      : 1.0.0\r\ncocoapods-search       : 1.0.0\r\ncocoapods-stats        : 1.0.0\r\ncocoapods-trunk        : 1.1.1\r\ncocoapods-try          : 1.1.0\r\n```\r\n\r\n## Podspec\r\n\r\n```ruby\r\nPod::Spec.new do |s|\r\n  s.name             = 'PLCrashReporter-DynamicFramework'\r\n  s.version          = '1.3.0'\r\n  s.summary          = 'Reliable, open-source crash reporting for iOS and Mac OS X.'\r\n\r\n  s.description      = <<-DESC\r\n                        Plausible CrashReporter provides an in-process crash reporting \r\n                        framework for use on both iOS and Mac OS X, and powers many of \r\n                        the crash reporting services available for iOS, including \r\n                        HockeyApp, Flurry, Crittercism and FoglightAPM.\r\n                       DESC\r\n\r\n  s.homepage         = 'https://github.com/plausiblelabs/plcrashreporter'\r\n  s.license          = { :type => 'MIT', :file => 'LICENSE' }\r\n  s.author           = { 'Plausible Labs Cooperative, Inc.' => 'contact@plausible.coop' }\r\n  s.source           = { :git => 'https://github.com/plausiblelabs/plcrashreporter.git', :commit => \"5347b1e1e5f2e134f624dd0c47de74b8b40a57eb\" }\r\n\r\n  s.ios.deployment_target = '7.0'\r\n  s.osx.deployment_target = '10.8'\r\n  \r\n  s.source_files = 'Source/**/*.{h,hpp,c,cc,cpp,m,mm}', 'Dependencies/protobuf-2.0.3/include/google/protobuf-c/protobuf-c.c'\r\n  s.source_files = '${SDKROOT}/usr/include/mach/mach_exc.defs'\r\n  s.exclude_files = '**/*Tests.*', '**/*_test_*', '**/*TestCase.*', '**/*test.*', '**/*main.m'\r\n  s.public_header_files = 'Source/CrashReporter.h', 'Dependencies/**/*.h'\r\n  s.header_mappings_dir = '.'\r\n  s.requires_arc = false\r\n  \r\n  s.resources = 'Resources/*.proto'\r\n  s.preserve_paths = 'Dependencies/**'\r\n  \r\n  s.pod_target_xcconfig = { \r\n    'GCC_PREPROCESSOR_DEFINITIONS' => 'PLCR_PRIVATE',\r\n    #'USER_HEADER_SEARCH_PATHS' => '../Dependencies/protobuf-2.0.3/include'\r\n  }\r\n  s.prepare_command = <<-CMD\r\n    cd \"Resources\" && \"../Dependencies/protobuf-2.0.3/bin/protoc-c\" --c_out=\"../Source\" \"crash_report.proto\" && cd ..\r\n    find . \\\\( -iname '*.h' -o -iname '*.hpp' -o -iname '*.c' -o -iname '*.cc' -o -iname '*.cpp' -o -iname '*.m' -o -iname '*.mm' \\\\) -exec sed -i '' -e 's/#include <google\\\\/protobuf-c\\\\/protobuf-c.h>/#include \"..\\\\/Dependencies\\\\/protobuf-2.0.3\\\\/include\\\\/google\\\\/protobuf-c\\\\/protobuf-c.h\"/g' {} \\\\;\r\n    find . \\\\( -iname '*.h' -o -iname '*.hpp' -o -iname '*.c' -o -iname '*.cc' -o -iname '*.cpp' -o -iname '*.m' -o -iname '*.mm' \\\\) -exec sed -i '' -e 's/#import \"CrashReporter\\\\/CrashReporter.h\"/#import \"CrashReporter.h\"/g' {} \\\\;\r\n  CMD\r\n\r\n  s.library = 'c++'\r\n  s.osx.library = 'macho'\r\nend\r\n```"}}
{"actor":{"display_login":"k06a"}}