{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/cabal/issues/2522","labels_url":"https://api.github.com/repos/haskell/cabal/issues/2522/labels{/name}","comments_url":"https://api.github.com/repos/haskell/cabal/issues/2522/comments","events_url":"https://api.github.com/repos/haskell/cabal/issues/2522/events","html_url":"https://github.com/haskell/cabal/pull/2522","id":66357598,"number":2522,"title":"Implement bash (with globstar) style globbing","user":{"login":"hdgarrood","id":1270186,"avatar_url":"https://avatars.githubusercontent.com/u/1270186?v=3","gravatar_id":"","url":"https://api.github.com/users/hdgarrood","html_url":"https://github.com/hdgarrood","followers_url":"https://api.github.com/users/hdgarrood/followers","following_url":"https://api.github.com/users/hdgarrood/following{/other_user}","gists_url":"https://api.github.com/users/hdgarrood/gists{/gist_id}","starred_url":"https://api.github.com/users/hdgarrood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hdgarrood/subscriptions","organizations_url":"https://api.github.com/users/hdgarrood/orgs","repos_url":"https://api.github.com/users/hdgarrood/repos","events_url":"https://api.github.com/users/hdgarrood/events{/privacy}","received_events_url":"https://api.github.com/users/hdgarrood/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":38,"created_at":"2015-04-04T19:39:17Z","updated_at":"2015-04-08T21:28:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/haskell/cabal/pulls/2522","html_url":"https://github.com/haskell/cabal/pull/2522","diff_url":"https://github.com/haskell/cabal/pull/2522.diff","patch_url":"https://github.com/haskell/cabal/pull/2522.patch"},"body":"Fixes #784, #2030, resolves #713, subsumes #1343, #1344. Picks up where #1975 left off.\r\n\r\nImplement a reduced form of GNU bash style globbing. The supported\r\nfeatures should account for 99% of use cases.\r\n\r\nStill to do:\r\n\r\n- [ ] minimum cabal-version constraint (etc). This seems to be\r\nnecessary because, for example, this commit changes the meaning of *.js,\r\nwhich previously would not have matched jquery.cookie.js, and now does.\r\n- [ ] should we add a limitation to disallow `*` and `**` from appearing as the very last item of a glob pattern, to avoid including unwanted items? The documentation in this PR currently describes this limitation but I haven't implemented it yet.\r\n- [ ] test correct behaviour re cabal version constraints in all four cases\r\n- [x] ensure that the new globs are actually being used in all of the cabal file fields that we expect them to be, that is, `data-files`, `extra-source-files`, `extra-doc-files` (I did this manually)."},"comment":{"url":"https://api.github.com/repos/haskell/cabal/issues/comments/91041815","html_url":"https://github.com/haskell/cabal/pull/2522#issuecomment-91041815","issue_url":"https://api.github.com/repos/haskell/cabal/issues/2522","id":91041815,"user":{"login":"mietek","id":166207,"avatar_url":"https://avatars.githubusercontent.com/u/166207?v=3","gravatar_id":"","url":"https://api.github.com/users/mietek","html_url":"https://github.com/mietek","followers_url":"https://api.github.com/users/mietek/followers","following_url":"https://api.github.com/users/mietek/following{/other_user}","gists_url":"https://api.github.com/users/mietek/gists{/gist_id}","starred_url":"https://api.github.com/users/mietek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mietek/subscriptions","organizations_url":"https://api.github.com/users/mietek/orgs","repos_url":"https://api.github.com/users/mietek/repos","events_url":"https://api.github.com/users/mietek/events{/privacy}","received_events_url":"https://api.github.com/users/mietek/received_events","type":"User","site_admin":false},"created_at":"2015-04-08T21:28:42Z","updated_at":"2015-04-08T21:28:42Z","body":"I think it’s reasonable to allow only a single `data-dir` in a Cabal package description, as it would correspond exactly to the directory available at run-time.  If this forces the user to keep their source repository organised, then so be it."}}