Reincarnate, coke (and possibly other tools in the ooc ecosystem) design, usage, ideas and discussion #475

Closed
shamanas opened this Issue Nov 17, 2012 · 9 comments

Projects

None yet

3 participants

@shamanas
Collaborator

Subjects of discussion I can think of right now:

  • cokefiles specification (interpreted subset of ooc? valid ooc file that is compiled and executed by coke and limited to a special sdk to perform build-related tasks?)
  • coke as a packaging tool for ooc software?
  • reincarnate extended to fetch (C library) dependencies of ooc libraries?

Discuss. ^_^

(poke @nddrylliog @fredreichbier @showstopper @duckinator @wandernauta )

Prior and interesting discussions:

@wandernauta

Having reincarnate fetch C libraries would be hell on wheels pretty much
everywhere - the only thing OSes can't agree on are packaging standards and
package names for common C libraries. There is no common ground to exploit,
except maybe pkg-config.

Extending coke to make it able to produce statically linked, complete,
large, binaries would be cool though. Pair that with a way to include
resources in the binary itself and you'd have a pretty sweet setup for
games ('Hey look, here's a single binary. It contains the ooc runtime, the
right SDL libs, and everything from images to sounds'). It should be pretty
easy to (auto)package those too.

On Sat, Nov 17, 2012 at 10:36 PM, Alexandros Naskos <
notifications@github.com> wrote:

Subjects of discussion I can think of right now:

  • cokefiles specification (interpreted subset of ooc? valid ooc file
    that is compiled and executed by coke and limited to a special sdk to
    perform build-related tasks?)
  • coke as a packaging tool for ooc software?
  • reincarnate extended to fetch (C library) dependencies of ooc
    libraries?

Discuss. ^_^

(poke @nddrylliog https://github.com/nddrylliog @fredreichbierhttps://github.com/fredreichbier
@showstopper https://github.com/showstopper @duckinatorhttps://github.com/duckinator
@wandernauta https://github.com/wandernauta )

Prior and interesting discussions:

  • #377 #377


    Reply to this email directly or view it on GitHubhttps://github.com/nddrylliog/rock/issues/475.

@nddrylliog
Member

You're all here debating but I've got uncommitted specifications for 'bottles' in my git repo. Wait till I push that :)

And yes, pkg-config is the minimum denominator. (There's pkg-config-lite for mingw32 if you don't want to deal with the glib shit). As far as packages go, I'm going with apt-get on Ubuntu, brew on OSX, and a custom solution on Win32 (no reliable package manager for libraries there...)

More details to follow.

And yes, coke will be able to produce self-sufficient 'distribution files' for each target. For Linux that probably means statically linked. For OSX that means dynamically linked, but with dylibbundler we can fix the executable and copy the dylibs so it'll look for them in the app bundle. For Windows it basically means.. a .zip files (or folder?) with the .exe and the right .dll(s) side by side.

@wandernauta

(Also pacman on Arch? Pretty please?)

On Sun, Nov 18, 2012 at 1:18 AM, Amos Wenger notifications@github.comwrote:

You're all here debating but I've got uncommitted specifications for
'bottles' in my git repo. Wait till I push that :)

And yes, pkg-config is the minimum denominator. (There's pkg-config-lite
for mingw32 if you don't want to deal with the glib shit). As far as
packages go, I'm going with apt-get on Ubuntu, brew on OSX, and a custom
solution on Win32 (no reliable package manager for libraries there...)

More details to follow.

And yes, coke will be able to produce self-sufficient 'distribution files'
for each target. For Linux that probably means statically linked. For OSX
that means dynamically linked, but with dylibbundler we can fix the
executable and copy the dylibs so it'll look for them in the app bundle.
For Windows it basically means.. a .zip files (or folder?) with the .exe
and the right .dll(s) side by side.


Reply to this email directly or view it on GitHubhttps://github.com/nddrylliog/rock/issues/475#issuecomment-10480820.

@nddrylliog
Member

Sure, why not. The way I have in mind allows integration with pretty much any 3rd party package manager.. I'll expand on that later. #famouslastwords

@nddrylliog
Member

@wandernauta If you want to help with Arch support you can start right now by writing utils/pacman-status.sh, which should be very easy. Just take a look at utils/apt-status.sh and work from here, should be pretty straightforward.

Gentoo support is welcome as well! Those files will be piggy-backed into coke itself, and copied to the relevant directories when producing output.

@wandernauta

@nddrylliog utils/pacman-status.sh is live

@nddrylliog
Member

@wandernauta Merged!

@nddrylliog
Member

Discussion of features that are still at the idea level should take place in the wiki now: https://github.com/nddrylliog/rock/wiki/Tools - please summarize the feature there.

/cc @wandernauta @shamanas

@nddrylliog nddrylliog closed this Nov 23, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment