{"action":"created","issue":{"url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/issues/1395","repository_url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks","labels_url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/issues/1395/labels{/name}","comments_url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/issues/1395/comments","events_url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/issues/1395/events","html_url":"https://github.com/easybuilders/easybuild-easyblocks/pull/1395","id":310336305,"number":1395,"title":"add generic easyblock for installing software via Spack","user":{"login":"boegel","id":620876,"avatar_url":"https://avatars1.githubusercontent.com/u/620876?v=4","gravatar_id":"","url":"https://api.github.com/users/boegel","html_url":"https://github.com/boegel","followers_url":"https://api.github.com/users/boegel/followers","following_url":"https://api.github.com/users/boegel/following{/other_user}","gists_url":"https://api.github.com/users/boegel/gists{/gist_id}","starred_url":"https://api.github.com/users/boegel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boegel/subscriptions","organizations_url":"https://api.github.com/users/boegel/orgs","repos_url":"https://api.github.com/users/boegel/repos","events_url":"https://api.github.com/users/boegel/events{/privacy}","received_events_url":"https://api.github.com/users/boegel/received_events","type":"User","site_admin":false},"labels":[{"id":735126428,"url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/labels/new","name":"new","color":"0e8a16","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/milestones/46","html_url":"https://github.com/easybuilders/easybuild-easyblocks/milestone/46","labels_url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/milestones/46/labels","id":3137278,"number":46,"title":"3.6.0","description":"","creator":{"login":"boegel","id":620876,"avatar_url":"https://avatars1.githubusercontent.com/u/620876?v=4","gravatar_id":"","url":"https://api.github.com/users/boegel","html_url":"https://github.com/boegel","followers_url":"https://api.github.com/users/boegel/followers","following_url":"https://api.github.com/users/boegel/following{/other_user}","gists_url":"https://api.github.com/users/boegel/gists{/gist_id}","starred_url":"https://api.github.com/users/boegel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/boegel/subscriptions","organizations_url":"https://api.github.com/users/boegel/orgs","repos_url":"https://api.github.com/users/boegel/repos","events_url":"https://api.github.com/users/boegel/events{/privacy}","received_events_url":"https://api.github.com/users/boegel/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":10,"state":"open","created_at":"2018-02-22T20:12:01Z","updated_at":"2018-04-01T16:33:22Z","due_on":"2018-04-18T07:00:00Z","closed_at":null},"comments":5,"created_at":"2018-04-01T16:33:22Z","updated_at":"2018-04-02T08:11:01Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/pulls/1395","html_url":"https://github.com/easybuilders/easybuild-easyblocks/pull/1395","diff_url":"https://github.com/easybuilders/easybuild-easyblocks/pull/1395.diff","patch_url":"https://github.com/easybuilders/easybuild-easyblocks/pull/1395.patch"},"body":"Example usage:\r\n\r\n* easyconfig file for installing `bzip2` with Spack:\r\n```python\r\neasyblock = 'Spack'\r\n\r\nname = 'bzip2'\r\nversion = '1.0.6'\r\n\r\nhomepage = 'http://www.bzip.org/'\r\ndescription = \"bzip2 is a freely available, patent free, high-quality data compressor.\"\r\n\r\ntoolchain = {'name': 'GCCcore', 'version': '6.4.0'}\r\n\r\nsanity_check_paths = {\r\n    'files': ['bin/bunzip2', 'bin/bzip2'],\r\n    'dirs': ['include', 'lib'],\r\n}\r\n\r\nmoduleclass = 'tools'\r\n```\r\n\r\n* example output under `--trace`:\r\n```\r\n$ eb bzip2-Spack.eb --include-easyblocks spack.py -df\r\n== temporary log file in case of crash /tmp/eb-ZLvqAp/easybuild-5QR8wz.log\r\n== processing EasyBuild easyconfig /tmp/bzip2-Spack.eb\r\n== building and installing bzip2/1.0.6-GCCcore-6.4.0...\r\n  >> installation prefix: /tmp/software/bzip2/1.0.6-GCCcore-6.4.0\r\n== fetching files...\r\n== creating build dir, resetting environment...\r\n  >> build dir: /tmp/build/bzip2/1.0.6/GCCcore-6.4.0\r\n== unpacking...\r\n== patching...\r\n== preparing...\r\n  >> loading toolchain module: GCCcore/6.4.0\r\n  >> defining build environment for GCCcore/6.4.0 toolchain\r\n  >> running command:\r\n\t[started at: 2018-04-01 18:25:41]\r\n\t[output logged in /tmp/eb-ZLvqAp/easybuild-run_cmd-dgq8JQ.log]\r\n\tspack compiler add --scope site\r\n  >> command completed: exit 0, ran in 00h00m01s\r\n== configuring...\r\n== building...\r\n== testing...\r\n== installing...\r\n  >> running command:\r\n\t[started at: 2018-04-01 18:25:43]\r\n\t[output logged in /tmp/eb-ZLvqAp/easybuild-run_cmd-gXakZP.log]\r\n\tspack install bzip2@1.0.6 %gcc@6.4.0\r\n  >> command completed: exit 0, ran in 00h00m17s\r\n== taking care of extensions...\r\n== postprocessing...\r\n== sanity checking...\r\n  >> file 'bin/bunzip2' found: OK\r\n  >> file 'bin/bzip2' found: OK\r\n  >> (non-empty) directory 'include' found: OK\r\n  >> (non-empty) directory 'lib' found: OK\r\n== cleaning up...\r\n== creating module...\r\n  >> generating module file @ /tmp/modules/all/bzip2/1.0.6-GCCcore-6.4.0.lua\r\n== permissions...\r\n== packaging...\r\n== COMPLETED: Installation ended successfully\r\n== Results of the build can be found in the log file(s) /tmp/software/bzip2/1.0.6-GCCcore-6.4.0/easybuild/easybuild-bzip2-1.0.6-20180401.182611.log\r\n== Build succeeded for 1 out of 1\r\n== Temporary log file(s) /tmp/eb-ZLvqAp/easybuild-5QR8wz.log* have been removed.\r\n== Temporary directory /tmp/eb-ZLvqAp has been removed.\r\n```\r\n\r\n@tgamblin: up for reviewing this?"},"comment":{"url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/issues/comments/377881107","html_url":"https://github.com/easybuilders/easybuild-easyblocks/pull/1395#issuecomment-377881107","issue_url":"https://api.github.com/repos/easybuilders/easybuild-easyblocks/issues/1395","id":377881107,"user":{"login":"tgamblin","id":299842,"avatar_url":"https://avatars3.githubusercontent.com/u/299842?v=4","gravatar_id":"","url":"https://api.github.com/users/tgamblin","html_url":"https://github.com/tgamblin","followers_url":"https://api.github.com/users/tgamblin/followers","following_url":"https://api.github.com/users/tgamblin/following{/other_user}","gists_url":"https://api.github.com/users/tgamblin/gists{/gist_id}","starred_url":"https://api.github.com/users/tgamblin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgamblin/subscriptions","organizations_url":"https://api.github.com/users/tgamblin/orgs","repos_url":"https://api.github.com/users/tgamblin/repos","events_url":"https://api.github.com/users/tgamblin/events{/privacy}","received_events_url":"https://api.github.com/users/tgamblin/received_events","type":"User","site_admin":false},"created_at":"2018-04-02T08:11:01Z","updated_at":"2018-04-02T08:11:01Z","author_association":"NONE","body":"I mean for the ones EB doesn't install.  You might have:\r\n\r\n```\r\nA -> B \r\nB -> MPI\r\nB -> C\r\n```\r\n\r\nwhere B and C aren't in EB and you want to install A with Spack.  Spack will also install B and C.  There's no reason you can't specify MPI in `packages.yaml` and let A, B, and C all live in the one Spack prefix, instead of duplicating them across installs."}}
{"actor":{"display_login":"tgamblin"}}