-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
WIP ShellCheck: update to 0.6.0 #4577
Conversation
Notifying maintainers: |
Travis Build #6832 Canceled. Lint results
Port hs-aeson-devel's dependencies fail on xcode10.2. Log The build timed out. |
Travis Build #6839 Errored. Lint results
The build timed out. |
@cjones051073 Are you shepherding this? |
Heads-up, my Mac is currently dead so I can’t work on this for a week, but please do leave comment! Thanks! |
Sorry for not seeing this any earlier – there is currently some work going on to get Haskell modernized based on stack, see #4794, #5049, #4633 and as an example port update, #4698. We may eventually go down the stack-based route, since it's just much easier to package the binaries we want without worrying about all the different library dependencies. Cc: @essandess. |
Makes sense, I actually prefer stack-based installations than manually managing dependencies (of which I have no idea what to do with the |
@sirn It’s pretty fast and simple. Here are a couple examples: |
@sirn BTW, it would be helpful if you looked at those Portfile examples with a critical eye. Specifically, I haven’t fully checked if those Please post any corrections you feel are necessary, or a way to use MacPorts compilers if you get a chance to figure that one out. |
@essandess I'll take a look and will try to port this to stack-based Portfile during the weekend. Thanks! |
@sirn Also, take a critical look at the binary that stack produces. stack doesn’t really do |
Right, I should have checked before, but shellcheck was just updated to 0.7.0 in #5142. |
Description
This PR update ShellCheck to 0.6.0 and upgrade/introduce a new port of all dependencies required to get it running. ShellCheck has since switched from
hs-json
tohs-aeson
, and even though ShellCheck dependencies says any version ofaeson
is fine, it actually requires a newer version ofaeson
(thus existinghs-aeson
does not work).So instead of updating
hs-aeson
, which may break other packages in process, I decided to createhs-aeson-devel
and add new port for its dependencies, using-devel
suffix in its name (if the package already exists). Some-devel
package can be link against the existinghs-hashable
in MacPorts, buths-aeson-devel
requirehashable >=1.2.7.0
, so I have to link its dependencies withhs-hashable-devel
because otherwisehs-aeson
will fail to build (due to deriving error withHashable Text
).I tried to keep the dependencies tree clean by following few rules:
hs-aeson-devel
are linked againsths-hashable-devel
-devel
packages are linked against-devel
packages instead of haskell-platform-devel
packages are linked against packages in haskell-platforms if possiblePlease consider this PR as a WIP, as I believe it require a lot more work to be done before it can be merged, but I need feedback from existing maintainers, so I'm sorry for opening a WIP PR.
Thanks!
Type(s)
Tested on
macOS 10.15 19A471t
Xcode 11.0 11M336w
Verification
Have you
port lint
?sudo port -vst install
?I used
sudo port -vs install
to install because I cannot enable tracing on GHC possibly because I'm running a beta software (sorry about this); the process simply hangs and require kill -9 to exit.