[ANN] shake-language-c and shake-cabal-build

30 views
Skip to first unread message

Stefan Kersten

unread,
Oct 17, 2014, 7:51:23 AM10/17/14
to shake-bui...@googlegroups.com
Hello,

I'm happy to announce the release of two new packages based on Shake:

shake-language-c is a small library on top of Shake that allows
cross-compiling C, C++ and Objective-C code to various target platforms.
Currently we support Android, iOS, MacOSX, Linux, Windows (MinGW) and
Google Portable Native Client (PNaCl). Supported host platforms are OSX,
Linux and Windows.

Homepage: https://github.com/samplecount/shake-language-c
Hackage: http://hackage.haskell.org/package/shake-language-c

shake-cabal-build is a small script that uses Cabal sandboxes for
initialising and updating build systems based on Shake. This is useful
when your build system depends on packages not in the Haskell platform
and you want to isolate installed packages in a sandbox.

Homepage: https://github.com/samplecount/shake-cabal-build
Hackage: http://hackage.haskell.org/package/shake-cabal-build

Both packages have been used internally at Samplecount for about two
years but they haven't been released to the general public before. Feel
free to submit bugs, questions or suggestions on the respective issue
trackers!

Have fun,
Stefan

Neil Mitchell

unread,
Oct 17, 2014, 4:57:58 PM10/17/14
to Stefan Kersten, shake-bui...@googlegroups.com
Hi Stefan,

That's awesome! Thanks for releasing the code, I appreciate that open
sourcing things from inside companies can be difficult, and takes time
that isn't working on your business, so excellent news. In response to
these packages I've:

* Added shake-language-c to the Shake Travis test suite, so every time
I check in Shake it will check shake-language-c still builds. That
way, if I ever introduce an incompatible API change, I'll be sure to
have a pull request with you before Shake gets released. (Or realise
my breaking change is too breaking, I mostly try and avoid them.)

* Released my tool to generate Haddock documentation and upload it to
Hackage, since without docs finding out about shake-language-c is
quite difficult. I suggest you read and follow
http://neilmitchell.blogspot.co.uk/2014/10/fixing-haddock-docs-on-hackage.html,
then your docs will be populated.

* I've added links from the Github page
(https://github.com/ndmitchell/shake#projects-using-shake) and what
will become the http://shakebuild.com home page
(https://github.com/ndmitchell/shake/blob/master/docs/Index.md).

Thanks once again,

Neil

Stefan Kersten

unread,
Oct 19, 2014, 11:35:53 AM10/19/14
to Neil Mitchell, shake-bui...@googlegroups.com
hi neil,

On 17/10/2014 22:57, Neil Mitchell wrote:
> That's awesome! Thanks for releasing the code, I appreciate that open
> sourcing things from inside companies can be difficult, and takes time
> that isn't working on your business, so excellent news.

thanks for the kind words; using shake for our build system has been a
very good decision so far, we've been able to minimise the time spent
with platform-dependent build systems and IDEs and get to write haskell
code instead ;)

> * Added shake-language-c to the Shake Travis test suite, so every time
> I check in Shake it will check shake-language-c still builds. That
> way, if I ever introduce an incompatible API change, I'll be sure to
> have a pull request with you before Shake gets released. (Or realise
> my breaking change is too breaking, I mostly try and avoid them.)

great!

> * Released my tool to generate Haddock documentation and upload it to
> Hackage, since without docs finding out about shake-language-c is
> quite difficult. I suggest you read and follow
> http://neilmitchell.blogspot.co.uk/2014/10/fixing-haddock-docs-on-hackage.html,
> then your docs will be populated.

cool, thanks! i wasn't aware of the fact that hackage still doesn't
build documentation. using your tool, i've uploaded documentation for
shake-language-c now [1].

btw, i had to add a missing double quote in one shell command line in
src/Cabal.hs:

system_ $ "cp -R dist/doc/html/" ++ name ++ " \"" ++ dir ++ "/" ++ name
++ "-" ++ ver ++ "-docs\""

> * I've added links from the Github page
> (https://github.com/ndmitchell/shake#projects-using-shake) and what
> will become the http://shakebuild.com home page
> (https://github.com/ndmitchell/shake/blob/master/docs/Index.md).

great, thanks!

stefan

[1] https://hackage.haskell.org/package/shake-language-c

Neil Mitchell

unread,
Oct 19, 2014, 11:49:11 AM10/19/14
to Stefan Kersten, shake-bui...@googlegroups.com
> thanks for the kind words; using shake for our build system has been a
> very good decision so far, we've been able to minimise the time spent
> with platform-dependent build systems and IDEs and get to write haskell
> code instead ;)

Glad to hear it! It's always very nice to know that it works for others too.

>> * Released my tool to generate Haddock documentation and upload it to
>> Hackage, since without docs finding out about shake-language-c is
>> quite difficult. I suggest you read and follow
>> http://neilmitchell.blogspot.co.uk/2014/10/fixing-haddock-docs-on-hackage.html,
>> then your docs will be populated.
>
> cool, thanks! i wasn't aware of the fact that hackage still doesn't
> build documentation. using your tool, i've uploaded documentation for
> shake-language-c now [1].

I think it's been restarted, but the doc builder has quite a long
backlog to get through. It also seems to have been restarted with a
newer version of Haddock, so the bugs my tool papers over are mostly
gone.

> btw, i had to add a missing double quote in one shell command line in
> src/Cabal.hs:
>
> system_ $ "cp -R dist/doc/html/" ++ name ++ " \"" ++ dir ++ "/" ++ name
> ++ "-" ++ ver ++ "-docs\""

I've pushed a new version of the 'neil' tool with that fix. I'm on
Windows, and it doesn't seem to have been an issue there - the
problems with manually quoting your command lines.

Looking over your module, it certainly looks impressively thorough.

Thanks, Neil
Reply all
Reply to author
Forward
0 new messages