{"action":"closed","number":7606,"pull_request":{"url":"https://api.github.com/repos/ocaml/opam-repository/pulls/7606","id":88877259,"html_url":"https://github.com/ocaml/opam-repository/pull/7606","diff_url":"https://github.com/ocaml/opam-repository/pull/7606.diff","patch_url":"https://github.com/ocaml/opam-repository/pull/7606.patch","issue_url":"https://api.github.com/repos/ocaml/opam-repository/issues/7606","number":7606,"state":"closed","locked":false,"title":"[BAP] brew support","user":{"login":"ivg","id":2336698,"avatar_url":"https://avatars.githubusercontent.com/u/2336698?v=3","gravatar_id":"","url":"https://api.github.com/users/ivg","html_url":"https://github.com/ivg","followers_url":"https://api.github.com/users/ivg/followers","following_url":"https://api.github.com/users/ivg/following{/other_user}","gists_url":"https://api.github.com/users/ivg/gists{/gist_id}","starred_url":"https://api.github.com/users/ivg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivg/subscriptions","organizations_url":"https://api.github.com/users/ivg/orgs","repos_url":"https://api.github.com/users/ivg/repos","events_url":"https://api.github.com/users/ivg/events{/privacy}","received_events_url":"https://api.github.com/users/ivg/received_events","type":"User","site_admin":false},"body":"This PR will bring support for Homebrew.  It also makes the installation procedure more robust on other platforms. \r\n\r\n\r\n# Details\r\n\r\nA new meta package is added, called `conf-bap-llvm`, that will try to find on a system a version of llvm, that is supported by BAP. This is instead of `con-llvm.system` package, that was actually too BAP specific, and didn't make sense in some settings, i.e., on systems that do not have a default version of LLVM, e.g., `macports`. That's why we decided to factor out BAP specific behavior in a separate package prefixed with `bap`. We used the `OR` clause to depend on both `conf-bap-llvm` and `conf-llvm` packages. Thus, if a specific `conf-llvm` is not chosen or not installed, then by default a `conf-bap-llvm` is installed that will try to find any suitable version. Otherwise, whatever user has specified is used. As a final fallback, we added an ability to explicitly specify a particular `llvm-config` file with the `LLVM_CONFIG` environmental variable. \r\n\r\n## Travis\r\nWith the new approach we no longer need any Travis specific tricks, however, we are still unable to run tests on mac, as we are always killed by timeout during `brew install /homebrew/versions/llvm34`. Those who want, are encouraged to test the installation using the following Vagrantfile:\r\n\r\n```ruby\r\nVagrant.configure(2) do |config|\r\n  config.vm.box = \"AndrewDryga/vagrant-box-osx\"\r\n  config.vm.provider \"virtualbox\" do |vb|\r\n      vb.memory = \"4096\"\r\n  end\r\n  config.vm.provision \"shell\", privileged: false, inline: <<-SHELL\r\nbrew install opam\r\nopam init --auto-setup --yes\r\neval `opam config env`\r\nopam repo add bap-on-brew git://github.com/BinaryAnalysisPlatform/opam-repository#bap-on-brew\r\nopam depext --install bap\r\nSHELL\r\nend\r\n```\r\n\r\nOf course, you will need mac labeled hardware to run this VM. \r\n\r\n\r\n## Github \r\n- resolve BinaryAnalysisPlatform/bap#568\r\n- resolve #7575 ","created_at":"2016-10-11T17:39:21Z","updated_at":"2016-10-20T11:39:53Z","closed_at":"2016-10-20T11:39:53Z","merged_at":"2016-10-20T11:39:53Z","merge_commit_sha":"798a5342ec0211f3ec773d2ee03a9b92d744bd12","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ocaml/opam-repository/pulls/7606/commits","review_comments_url":"https://api.github.com/repos/ocaml/opam-repository/pulls/7606/comments","review_comment_url":"https://api.github.com/repos/ocaml/opam-repository/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ocaml/opam-repository/issues/7606/comments","statuses_url":"https://api.github.com/repos/ocaml/opam-repository/statuses/47ca9960f736dded1ccbe51aab66c5ca745c9011","head":{"label":"BinaryAnalysisPlatform:bap-on-brew","ref":"bap-on-brew","sha":"47ca9960f736dded1ccbe51aab66c5ca745c9011","user":{"login":"BinaryAnalysisPlatform","id":8669375,"avatar_url":"https://avatars.githubusercontent.com/u/8669375?v=3","gravatar_id":"","url":"https://api.github.com/users/BinaryAnalysisPlatform","html_url":"https://github.com/BinaryAnalysisPlatform","followers_url":"https://api.github.com/users/BinaryAnalysisPlatform/followers","following_url":"https://api.github.com/users/BinaryAnalysisPlatform/following{/other_user}","gists_url":"https://api.github.com/users/BinaryAnalysisPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/BinaryAnalysisPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BinaryAnalysisPlatform/subscriptions","organizations_url":"https://api.github.com/users/BinaryAnalysisPlatform/orgs","repos_url":"https://api.github.com/users/BinaryAnalysisPlatform/repos","events_url":"https://api.github.com/users/BinaryAnalysisPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/BinaryAnalysisPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":31719181,"name":"opam-repository","full_name":"BinaryAnalysisPlatform/opam-repository","owner":{"login":"BinaryAnalysisPlatform","id":8669375,"avatar_url":"https://avatars.githubusercontent.com/u/8669375?v=3","gravatar_id":"","url":"https://api.github.com/users/BinaryAnalysisPlatform","html_url":"https://github.com/BinaryAnalysisPlatform","followers_url":"https://api.github.com/users/BinaryAnalysisPlatform/followers","following_url":"https://api.github.com/users/BinaryAnalysisPlatform/following{/other_user}","gists_url":"https://api.github.com/users/BinaryAnalysisPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/BinaryAnalysisPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BinaryAnalysisPlatform/subscriptions","organizations_url":"https://api.github.com/users/BinaryAnalysisPlatform/orgs","repos_url":"https://api.github.com/users/BinaryAnalysisPlatform/repos","events_url":"https://api.github.com/users/BinaryAnalysisPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/BinaryAnalysisPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/BinaryAnalysisPlatform/opam-repository","description":"Main public package repository for OPAM, the source package manager of OCaml.","fork":true,"url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository","forks_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/forks","keys_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/teams","hooks_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/hooks","issue_events_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/issues/events{/number}","events_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/events","assignees_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/assignees{/user}","branches_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/branches{/branch}","tags_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/tags","blobs_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/git/refs{/sha}","trees_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/statuses/{sha}","languages_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/languages","stargazers_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/stargazers","contributors_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/contributors","subscribers_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/subscribers","subscription_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/subscription","commits_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/commits{/sha}","git_commits_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/git/commits{/sha}","comments_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/comments{/number}","issue_comment_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/issues/comments{/number}","contents_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/contents/{+path}","compare_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/merges","archive_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/downloads","issues_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/issues{/number}","pulls_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/pulls{/number}","milestones_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/milestones{/number}","notifications_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/labels{/name}","releases_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/releases{/id}","deployments_url":"https://api.github.com/repos/BinaryAnalysisPlatform/opam-repository/deployments","created_at":"2015-03-05T14:58:54Z","updated_at":"2016-03-04T13:07:28Z","pushed_at":"2016-10-14T17:13:33Z","git_url":"git://github.com/BinaryAnalysisPlatform/opam-repository.git","ssh_url":"git@github.com:BinaryAnalysisPlatform/opam-repository.git","clone_url":"https://github.com/BinaryAnalysisPlatform/opam-repository.git","svn_url":"https://github.com/BinaryAnalysisPlatform/opam-repository","homepage":"opam.ocaml.org","size":25165,"stargazers_count":2,"watchers_count":2,"language":"OCaml","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":1,"forks":3,"open_issues":1,"watchers":2,"default_branch":"master"}},"base":{"label":"ocaml:master","ref":"master","sha":"236245a22ba6bb362063fc316d583ae4b3d75994","user":{"login":"ocaml","id":1841483,"avatar_url":"https://avatars.githubusercontent.com/u/1841483?v=3","gravatar_id":"","url":"https://api.github.com/users/ocaml","html_url":"https://github.com/ocaml","followers_url":"https://api.github.com/users/ocaml/followers","following_url":"https://api.github.com/users/ocaml/following{/other_user}","gists_url":"https://api.github.com/users/ocaml/gists{/gist_id}","starred_url":"https://api.github.com/users/ocaml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ocaml/subscriptions","organizations_url":"https://api.github.com/users/ocaml/orgs","repos_url":"https://api.github.com/users/ocaml/repos","events_url":"https://api.github.com/users/ocaml/events{/privacy}","received_events_url":"https://api.github.com/users/ocaml/received_events","type":"Organization","site_admin":false},"repo":{"id":4508653,"name":"opam-repository","full_name":"ocaml/opam-repository","owner":{"login":"ocaml","id":1841483,"avatar_url":"https://avatars.githubusercontent.com/u/1841483?v=3","gravatar_id":"","url":"https://api.github.com/users/ocaml","html_url":"https://github.com/ocaml","followers_url":"https://api.github.com/users/ocaml/followers","following_url":"https://api.github.com/users/ocaml/following{/other_user}","gists_url":"https://api.github.com/users/ocaml/gists{/gist_id}","starred_url":"https://api.github.com/users/ocaml/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ocaml/subscriptions","organizations_url":"https://api.github.com/users/ocaml/orgs","repos_url":"https://api.github.com/users/ocaml/repos","events_url":"https://api.github.com/users/ocaml/events{/privacy}","received_events_url":"https://api.github.com/users/ocaml/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ocaml/opam-repository","description":"Main public package repository for OPAM, the source package manager of OCaml.","fork":false,"url":"https://api.github.com/repos/ocaml/opam-repository","forks_url":"https://api.github.com/repos/ocaml/opam-repository/forks","keys_url":"https://api.github.com/repos/ocaml/opam-repository/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ocaml/opam-repository/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ocaml/opam-repository/teams","hooks_url":"https://api.github.com/repos/ocaml/opam-repository/hooks","issue_events_url":"https://api.github.com/repos/ocaml/opam-repository/issues/events{/number}","events_url":"https://api.github.com/repos/ocaml/opam-repository/events","assignees_url":"https://api.github.com/repos/ocaml/opam-repository/assignees{/user}","branches_url":"https://api.github.com/repos/ocaml/opam-repository/branches{/branch}","tags_url":"https://api.github.com/repos/ocaml/opam-repository/tags","blobs_url":"https://api.github.com/repos/ocaml/opam-repository/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ocaml/opam-repository/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ocaml/opam-repository/git/refs{/sha}","trees_url":"https://api.github.com/repos/ocaml/opam-repository/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ocaml/opam-repository/statuses/{sha}","languages_url":"https://api.github.com/repos/ocaml/opam-repository/languages","stargazers_url":"https://api.github.com/repos/ocaml/opam-repository/stargazers","contributors_url":"https://api.github.com/repos/ocaml/opam-repository/contributors","subscribers_url":"https://api.github.com/repos/ocaml/opam-repository/subscribers","subscription_url":"https://api.github.com/repos/ocaml/opam-repository/subscription","commits_url":"https://api.github.com/repos/ocaml/opam-repository/commits{/sha}","git_commits_url":"https://api.github.com/repos/ocaml/opam-repository/git/commits{/sha}","comments_url":"https://api.github.com/repos/ocaml/opam-repository/comments{/number}","issue_comment_url":"https://api.github.com/repos/ocaml/opam-repository/issues/comments{/number}","contents_url":"https://api.github.com/repos/ocaml/opam-repository/contents/{+path}","compare_url":"https://api.github.com/repos/ocaml/opam-repository/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ocaml/opam-repository/merges","archive_url":"https://api.github.com/repos/ocaml/opam-repository/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ocaml/opam-repository/downloads","issues_url":"https://api.github.com/repos/ocaml/opam-repository/issues{/number}","pulls_url":"https://api.github.com/repos/ocaml/opam-repository/pulls{/number}","milestones_url":"https://api.github.com/repos/ocaml/opam-repository/milestones{/number}","notifications_url":"https://api.github.com/repos/ocaml/opam-repository/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ocaml/opam-repository/labels{/name}","releases_url":"https://api.github.com/repos/ocaml/opam-repository/releases{/id}","deployments_url":"https://api.github.com/repos/ocaml/opam-repository/deployments","created_at":"2012-05-31T14:25:57Z","updated_at":"2016-10-16T09:45:00Z","pushed_at":"2016-10-20T11:39:53Z","git_url":"git://github.com/ocaml/opam-repository.git","ssh_url":"git@github.com:ocaml/opam-repository.git","clone_url":"https://github.com/ocaml/opam-repository.git","svn_url":"https://github.com/ocaml/opam-repository","homepage":"https://opam.ocaml.org","size":34722,"stargazers_count":161,"watchers_count":161,"language":"OCaml","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":379,"mirror_url":null,"open_issues_count":73,"forks":379,"open_issues":73,"watchers":161,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ocaml/opam-repository/pulls/7606"},"html":{"href":"https://github.com/ocaml/opam-repository/pull/7606"},"issue":{"href":"https://api.github.com/repos/ocaml/opam-repository/issues/7606"},"comments":{"href":"https://api.github.com/repos/ocaml/opam-repository/issues/7606/comments"},"review_comments":{"href":"https://api.github.com/repos/ocaml/opam-repository/pulls/7606/comments"},"review_comment":{"href":"https://api.github.com/repos/ocaml/opam-repository/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ocaml/opam-repository/pulls/7606/commits"},"statuses":{"href":"https://api.github.com/repos/ocaml/opam-repository/statuses/47ca9960f736dded1ccbe51aab66c5ca745c9011"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"avsm","id":53164,"avatar_url":"https://avatars.githubusercontent.com/u/53164?v=3","gravatar_id":"","url":"https://api.github.com/users/avsm","html_url":"https://github.com/avsm","followers_url":"https://api.github.com/users/avsm/followers","following_url":"https://api.github.com/users/avsm/following{/other_user}","gists_url":"https://api.github.com/users/avsm/gists{/gist_id}","starred_url":"https://api.github.com/users/avsm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/avsm/subscriptions","organizations_url":"https://api.github.com/users/avsm/orgs","repos_url":"https://api.github.com/users/avsm/repos","events_url":"https://api.github.com/users/avsm/events{/privacy}","received_events_url":"https://api.github.com/users/avsm/received_events","type":"User","site_admin":false},"comments":9,"review_comments":0,"commits":16,"additions":68,"deletions":35,"changed_files":13}}
{"actor":{"display_login":"avsm"}}