Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ghc: Simplify variant blocks, add missing GHC User's Guide, alex, happy, hscolour #5272

Closed
wants to merge 0 commits into from

Conversation

essandess
Copy link
Contributor

@essandess essandess commented Sep 13, 2019

ghc: Simplify variant blocks, add missing GHC User's Guide, happy, hscolour

  • Combine bootstrap commands within a common block
  • The GHC User's Guide builds correctly locally, but not in the buildbot.
  • Add alex port for ghc build
  • Add happy port for ghc build
  • Add hscolour port for ghc build
  • Remove happy and HsColour binary installs from ihaskell port

Fixes: https://trac.macports.org/ticket/59018
Related: https://lists.macports.org/pipermail/macports-users/2019-September/047328.html

Description

The latest ghc is missing the GHC User's Guide in the files

  • /opt/local/share/doc/ghc-8.6.5/html/users_guide/
  • /opt/local/share/doc/ghc-8.6.5/users_guide.pdf

I know first-hand that these are created and installed when building from source.

But I don't know what changed with the buildbot version during the merge of ​#5049 that causes this issue.

We should modify the Portfile so that the GHC User's Guide, both HTML and pdf versions, are created and installed by the buildbot.

Also, I'm listed as the maintainer, but don't know how to address this buildbot issue, so please assign appropriately.

I don't know the buildbot fix yet, but at least this PR will generate some logs.

cc: @neverpanic

Type(s)
  • bugfix
  • enhancement
  • security fix
Tested on

macOS 10.14.6 18G95
Xcode 10.3 10G8

Verification

Have you

  • checked your Portfile with port lint?
  • tried existing tests with sudo port test?
  • tried a full install with sudo port -vst install?
  • tested basic functionality of all binary files?

@neverpanic
Copy link
Member

neverpanic commented Sep 13, 2019

This PR is unlikely to fix the issue. The buildbot doesn't randomly decide not to build the documentation – it's much more likely that due to the way the buildbot builds its packages only exactly the dependencies specified in the Portfile and nothing else was installed while building GHC, and GHC's build system detects availability of components and chose to disable building the documentation.

I've looked at https://build.macports.org/builders/ports-10.14_x86_64-builder/builds/36289/steps/install-port/logs/main.log/text and here are some things from the log that might be relevant:

:info:build checking for sphinx-build... no
:info:build checking for version of sphinx-build... 
:info:build configure: WARNING: Sphinx version 1.0.0 or later is required to build documentation
:info:build    HsColour was not found; documentation will not contain source links
:info:build    Tools to build Sphinx HTML documentation available: NO
:info:build    Tools to build Sphinx PDF documentation available: NO

Copy link
Member

@neverpanic neverpanic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See the comment above.

@essandess
Copy link
Contributor Author

See the comment above.

Thanks. I'm trying to add py37-sphinx as a build dependency.

@macportsbot
Copy link

Travis Build #8212 Errored.

Lint results
--->  Verifying Portfile for ghc
--->  0 errors and 0 warnings found.

Port ghc's dependencies fail on xcode9.4. Log
Port ghc's dependencies fail on xcode8.3. Log

The build timed out.

@essandess
Copy link
Contributor Author

@neverpanic

See the comment above.

Thanks. I'm trying to add py37-sphinx as a build dependency.

Did this work? The logfile https://paste.z0k.xyz/4da7cb08089e trimmed. However, I only see users_guide mentioned in the port notes, not the activated files. Is there a way of getting the configuration logs like you posted above?

@macportsbot
Copy link

Travis Build #8214 Errored.

Lint results
--->  Verifying Portfile for ghc
--->  0 errors and 0 warnings found.

The build timed out.

@kencu
Copy link
Contributor

kencu commented Sep 14, 2019

sphinx-build is one of those "port select" ports. my guess is that you have one of. hem selected (like I do) and so the build finds sphinx-build and the pdf is made.

For the buildbot, you have to depends_build-append and then spec the exact name of the sphinx-build that that you want, 36, etc, as a configure.env-append. Then it will be found.

@cjones051073
Copy link
Member

sphinx-build is one of those "port select" ports. my guess is that you have one of. hem selected (like I do) and so the build finds sphinx-build and the pdf is made.

For the buildbot, you have to depends_build-append and then spec the exact name of the sphinx-build that that you want, 36, etc, as a configure.env-append. Then it will be found.

Just to add, you can check if this is the case by running

Oberon ~/Projects/MacPorts/ports > sudo port select sphinx
Available versions for sphinx:
	none (active)
	py37-sphinx

to change, run sudo port select sphinx none and then fix the port to work in this case. You should be able to replicate the failure locally.

@essandess
Copy link
Contributor Author

@kencu @cjones051073 Thanks for pointing out sphinx_select. The port already adds an extra bootstrapping directory to PATH, so I just tossed the correct symbolic links served fromport:sphinx_select in there.

@kencu
Copy link
Contributor

kencu commented Sep 14, 2019

the docs build perfectly for me. configure just tests for sphinx-build.

it accepts an env.var to spec it fully.

@kencu
Copy link
Contributor

kencu commented Sep 14, 2019

jjust do

depends_build-append a_specd_sphinx-build
configure.env-append SPHINX=/path/to/specd/sphinx-build

sorry, I'm on this ipad or I'd just do it for you.

@essandess
Copy link
Contributor Author

jjust do

depends_build-append a_specd_sphinx-build
configure.env-append SPHINX=/path/to/specd/sphinx-build

sorry, I'm on this ipad or I'd just do it for you.

I think I grok, hold, please sanity check force push in a minute to see if I actually grokked.

@kencu
Copy link
Contributor

kencu commented Sep 14, 2019

we'll use a similar procees to re-enable the llvm backend, later on, specing an LLC and an OPT (I'm already doing that in my own builds on 10.6.8)

@essandess
Copy link
Contributor Author

@kencu

jjust do
depends_build-append a_specd_sphinx-build
configure.env-append SPHINX=/path/to/specd/sphinx-build
sorry, I'm on this ipad or I'd just do it for you.

I think I grok, hold, please sanity check force push in a minute to see if I actually grokked.

I no grok.

I get that I can add the dependency to port:py37-sphinx, but port search sphinx | grep build returns nada, so what do you mean by this?

depends_build-append a_specd_sphinx-build

@kencu
Copy link
Contributor

kencu commented Sep 14, 2019

I saw the exact name of the sphinx env var fly by yesterday. I think it was SPHINX, but it's easy to double check in the config log if I've not remembered the exact name it looks for.

@kencu
Copy link
Contributor

kencu commented Sep 14, 2019

do

port contents py37-sphinx to find the name of it's binary

@kencu
Copy link
Contributor

kencu commented Sep 14, 2019

This should do it:

depends_build-append py37-sphinx
configure.env-append SPHINXBUILD='${prefix}/bin/sphinx-build-3.7'

@essandess
Copy link
Contributor Author

depends_build-append py37-sphinx
configure.env-append SPHINXBUILD='${prefix}/bin/sphinx-build-3.7'

Thanks!

@essandess essandess force-pushed the ghc branch 2 times, most recently from 6873ce8 to fac8d70 Compare September 16, 2019 01:38
@macportsbot
Copy link

Travis Build #8259 Errored.

Lint results
--->  Verifying Portfile for happy
Error: Using openmaintainer without any other maintainer
--->  1 errors and 0 warnings found.
--->  Verifying Portfile for hscolour
Error: Using openmaintainer without any other maintainer
--->  1 errors and 0 warnings found.
--->  Verifying Portfile for ihaskell
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ghc
--->  0 errors and 0 warnings found.

Port happy success on xcode10.3. Log
Port hscolour success on xcode10.3. Log
Port happy success on xcode9.4. Log
Port hscolour success on xcode9.4. Log
Port happy's dependencies fail on xcode8.3. Log
Port happy success on xcode7.3. Log
Port hscolour success on xcode7.3. Log

The build timed out.

@macportsbot
Copy link

Travis Build #8264 Errored.

Lint results
--->  Verifying Portfile for happy
Error: Using openmaintainer without any other maintainer
--->  1 errors and 0 warnings found.
--->  Verifying Portfile for hscolour
Error: Using openmaintainer without any other maintainer
--->  1 errors and 0 warnings found.
--->  Verifying Portfile for ihaskell
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ghc
--->  0 errors and 0 warnings found.

Port happy success on xcode10.3. Log
Port hscolour success on xcode10.3. Log
Port happy success on xcode9.4. Log
Port hscolour success on xcode9.4. Log
Port happy success on xcode8.3. Log
Port hscolour success on xcode8.3. Log
Port happy success on xcode7.3. Log
Port hscolour success on xcode7.3. Log

The build timed out.

@essandess
Copy link
Contributor Author

I believe we're close to end-game. This just need an extra LaTeX dependency, and a missing alex port from the also missing Haskell Platform.

Side comment: I've been copy-and-pasting descriptions and the like from the existing hs-* ports. I think it's too early to delete this because they'll still be useful as references as we modernize the Haskell stack.

cc @neverpanic

@essandess essandess changed the title ghc: Simplify variant blocks, add missing GHC User's Guide, happy, hscolour ghc: Simplify variant blocks, add missing GHC User's Guide, alex, happy, hscolour Sep 16, 2019
@essandess essandess mentioned this pull request Sep 16, 2019
11 tasks
@macportsbot
Copy link

Travis Build #8271 Errored.

Lint results
--->  Verifying Portfile for alex
Error: Using openmaintainer without any other maintainer
--->  1 errors and 0 warnings found.
--->  Verifying Portfile for happy
Error: Using openmaintainer without any other maintainer
--->  1 errors and 0 warnings found.
--->  Verifying Portfile for hscolour
Error: Using openmaintainer without any other maintainer
--->  1 errors and 0 warnings found.
--->  Verifying Portfile for ihaskell
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ghc
--->  0 errors and 0 warnings found.

Port alex success on xcode10.3. Log
Port happy success on xcode10.3. Log
Port hscolour success on xcode10.3. Log
Port alex success on xcode9.4. Log
Port happy success on xcode9.4. Log
Port hscolour success on xcode9.4. Log
Port alex's dependencies fail on xcode8.3. Log
Port happy success on xcode8.3. Log
Port hscolour success on xcode8.3. Log
Port alex success on xcode7.3. Log
Port happy success on xcode7.3. Log
Port hscolour success on xcode7.3. Log

The build timed out.

@essandess
Copy link
Contributor Author

This is working now. I just fixed the port lint issues and am going to sanity check the library dependencies on a local build.

@essandess
Copy link
Contributor Author

@neverpanic @cjones051073 @kencu

I’ve tested this locally and everything works. I don’t have anything to add.

This is ready to merge.

@macportsbot
Copy link

Travis Build #8274 Errored.

Lint results
--->  Verifying Portfile for alex
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for happy
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for hscolour
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ihaskell
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ghc
--->  0 errors and 0 warnings found.

Port alex success on xcode10.3. Log
Port happy success on xcode10.3. Log
Port hscolour success on xcode10.3. Log
Port alex's dependencies fail on xcode9.4. Log
Port happy success on xcode9.4. Log
Port hscolour success on xcode9.4. Log
Port alex success on xcode8.3. Log
Port happy success on xcode8.3. Log
Port hscolour success on xcode8.3. Log
Port alex success on xcode7.3. Log
Port happy fail on xcode7.3. Log
Port hscolour success on xcode7.3. Log

The build timed out.

@macportsbot
Copy link

Travis Build #8278 Errored.

Lint results
--->  Verifying Portfile for alex
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for happy
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for hscolour
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ihaskell
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ghc
--->  0 errors and 0 warnings found.

Port alex success on xcode10.3. Log
Port happy success on xcode10.3. Log
Port hscolour success on xcode10.3. Log
Port alex success on xcode9.4. Log
Port happy success on xcode9.4. Log
Port hscolour success on xcode9.4. Log
Port alex success on xcode8.3. Log
Port happy success on xcode8.3. Log
Port hscolour success on xcode8.3. Log
Port alex success on xcode7.3. Log
Port happy success on xcode7.3. Log
Port hscolour success on xcode7.3. Log

The build timed out.

@essandess essandess force-pushed the ghc branch 3 times, most recently from 62fd700 to ce223cb Compare September 19, 2019 22:29
essandess added a commit to essandess/macports-ports that referenced this pull request Sep 19, 2019
* Submission of portgroup haskell_cabal for building cabal projects
* Submission of Haskell ports aeson-pretty, cpphs, hlint
* Remove ihaskell installation of these binaries

Related/parent: macports#5272
@macportsbot
Copy link

Travis Build #8350 Errored.

Lint results
--->  Verifying Portfile for alex
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for happy
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for hscolour
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ihaskell
--->  0 errors and 0 warnings found.
--->  Verifying Portfile for ghc
--->  0 errors and 0 warnings found.

Port alex success on xcode10.3. Log
Port happy success on xcode10.3. Log
Port hscolour success on xcode10.3. Log
Port alex success on xcode9.4. Log
Port happy success on xcode9.4. Log
Port hscolour success on xcode9.4. Log
Port alex success on xcode8.3. Log
Port happy success on xcode8.3. Log
Port hscolour success on xcode8.3. Log
Port alex success on xcode7.3. Log
Port happy success on xcode7.3. Log
Port hscolour success on xcode7.3. Log

The build timed out.

@essandess
Copy link
Contributor Author

Ping. This is ready to merge.

mf2k pushed a commit that referenced this pull request Sep 30, 2019
* Submission of portgroup haskell_cabal for building cabal projects
* Submission of Haskell ports aeson-pretty, cpphs, hlint
* Remove ihaskell installation of these binaries

Related/parent: #5272
@essandess essandess closed this Oct 3, 2019
@essandess
Copy link
Contributor Author

Note: all these changes are merged with PR #5327

@essandess essandess deleted the ghc branch October 3, 2019 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

5 participants