{"action":"created","issue":{"url":"https://api.github.com/repos/LLNL/spack/issues/558","repository_url":"https://api.github.com/repos/LLNL/spack","labels_url":"https://api.github.com/repos/LLNL/spack/issues/558/labels{/name}","comments_url":"https://api.github.com/repos/LLNL/spack/issues/558/comments","events_url":"https://api.github.com/repos/LLNL/spack/issues/558/events","html_url":"https://github.com/LLNL/spack/pull/558","id":141375537,"number":558,"title":"Add Licensed Software Support","user":{"login":"adamjstewart","id":12021217,"avatar_url":"https://avatars.githubusercontent.com/u/12021217?v=3","gravatar_id":"","url":"https://api.github.com/users/adamjstewart","html_url":"https://github.com/adamjstewart","followers_url":"https://api.github.com/users/adamjstewart/followers","following_url":"https://api.github.com/users/adamjstewart/following{/other_user}","gists_url":"https://api.github.com/users/adamjstewart/gists{/gist_id}","starred_url":"https://api.github.com/users/adamjstewart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamjstewart/subscriptions","organizations_url":"https://api.github.com/users/adamjstewart/orgs","repos_url":"https://api.github.com/users/adamjstewart/repos","events_url":"https://api.github.com/users/adamjstewart/events{/privacy}","received_events_url":"https://api.github.com/users/adamjstewart/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":18,"created_at":"2016-03-16T19:22:18Z","updated_at":"2016-05-09T16:35:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/LLNL/spack/pulls/558","html_url":"https://github.com/LLNL/spack/pull/558","diff_url":"https://github.com/LLNL/spack/pull/558.diff","patch_url":"https://github.com/LLNL/spack/pull/558.patch"},"body":"With this package, users will be able to install and use PGI compilers with ease. They will still have to download the file manually since you need to create an account and login. But the build is automated, and Spack walks you through the license setup. Spack can locate the package in two ways: it will find the file if it is in the user's current directory and it will find it if it is in a mirror.\r\n\r\nSee #553 for a previous conversation regarding the installation of licensed software.\r\n\r\nRemaining potential problems to tackle:\r\n\r\n1. ~~Currently the installation hangs at `spack.editor(license_path)`. It installs the software properly and writes to license.dat, but doesn't open an editor like `spack create` does. Guess that's what I get for trying to be fancy. Also, `tty.msg()` prints to `spack-build.out`. Is there a way to get it to print to STDOUT?~~\r\n\r\n2. Technically, PGI depends on the Linux Standard Base (lsb). We don't have it installed here and PGI builds fine, but the installation raises a warning when it is not present. Another warning message is raised when GCC can't find a 32-bit C library. I'm not sure how easy it would be to write a package for lsb since it seems to be dependent on the architecture.\r\n\r\n3. There is no single PGI compiler source code. PGI offers many compilers, including C/C++/Fortran, CUDA, and Visual Fortran. Downloads are further divided into 64-bit/32-bit and Linux/OS X/Windows. Luckily they all seem to have the same installation process? But they will all have different checksums and filenames. For example, the checksum I added is for PGI Accelerator Fortran/C/C++ Server, 64-bit, Linux, Full. The downloaded file was named `pgilinux-2016-163-x86_64.tar.gz`. I think it's safe to require users to rename this file to `pgi-16.3.tar.gz`, but they will have to install with `--no-checksum` unless we can find a way to add a list of checksums for a single version.\r\n\r\n4. PGI refers to the version as 16.3, but when Spack extracts the version with `pgcc -V`, it gets 16.3-0. I believe PGI numbers updates with the dash number. Should we add this to the version I used? Should we remove this from Spack's PGI version regex?\r\n\r\n5. I would like the `+network` variant to be enabled on Linux by default. But network installations don't work on OS X. The `+single` variant should be enabled by default on Darwin instead.\r\n\r\n6. Should we even provide the variants to allow users to build NVIDIA, AMD, JRE, and MPI?\r\n\r\n7. Minor annoyance, but is there a way to preserve the empty line in the package description? Or is there a better place to put the note about downloading the file?"},"comment":{"url":"https://api.github.com/repos/LLNL/spack/issues/comments/217917149","html_url":"https://github.com/LLNL/spack/pull/558#issuecomment-217917149","issue_url":"https://api.github.com/repos/LLNL/spack/issues/558","id":217917149,"user":{"login":"adamjstewart","id":12021217,"avatar_url":"https://avatars.githubusercontent.com/u/12021217?v=3","gravatar_id":"","url":"https://api.github.com/users/adamjstewart","html_url":"https://github.com/adamjstewart","followers_url":"https://api.github.com/users/adamjstewart/followers","following_url":"https://api.github.com/users/adamjstewart/following{/other_user}","gists_url":"https://api.github.com/users/adamjstewart/gists{/gist_id}","starred_url":"https://api.github.com/users/adamjstewart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamjstewart/subscriptions","organizations_url":"https://api.github.com/users/adamjstewart/orgs","repos_url":"https://api.github.com/users/adamjstewart/repos","events_url":"https://api.github.com/users/adamjstewart/events{/privacy}","received_events_url":"https://api.github.com/users/adamjstewart/received_events","type":"User","site_admin":false},"created_at":"2016-05-09T16:35:21Z","updated_at":"2016-05-09T16:35:21Z","body":"Alright, documentation is now added. I'm not very familiar with the reStructuredText format, so someone should definitely look it over and make sure I did everything right. Let me know if I missed anything important or was too verbose.\r\n\r\n@tgamblin: Can you look over this PR and let me know what you think? Once it is merged, it should be much easier to test @lee218llnl's #796."}}