wip/ebeast

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

wip/ebeast

Tim Janik-6
Hello,

here's a status update on the ebeast branch.

Branch 'ebeast' merge:
The 'ebeast' branch has now been rebased and merged into 'master'.
As suggested by Stefan, npm support is currently optional (auto detected)
and configure supports --without-npm to disable npm + electron builds
altogether. Also, distribution tarballs are not currently shipping the
ebeast/ subdir, so its not currently built during packaging either.

Npm versions:
Ebeast currently depends on npm version 1.4.21, that *might* be too old.
From what I could gather, debian:jessie and ubuntu:willy have npm 1.4.21
ubuntu:xenial has 3.5.2. I know ebeast builds work correctly under xenial,
feedback on earlier npm versions is appreciated.

electron-packager:
That said, the ebeast/ directory now supports make 'install' and
'uninstall' to test electron packaging.
Once it's mildly functional, it's planned to install a $bindir
wrapper executable that starts ebeast from the "installed"
ebeast electron package. Interestingly, the electron packages are
relocatable, for the future it'd be great to have a tighter
integration with libbse (maybe linking it into v8bse) and the
audio resources we are shipping.

ebeast state:
The ebeast executable itself has a bunch of HTML/CSS/JS boilerplate
in place now, so the next step is to actually hook up it's UI with
BSE object functionality. A good amount of the BSE API is bound to
JS now via the v8bse module, which in turn uses v8pp.

Intergrating v8pp:
I've removed the git submodule commit that brought in a pacthed v8pp,
because forcing git users to issue extra commands sucks and submodules
don't allow to reliably restore a historic source code tree, in
particular if the linked upstream repo or a critical commit therein
vanishes (e.g. through rebasing). So 'master' now uses a git subtree
under external/v8pp/ to embed a full version of the needed v8pp code
which works transparently for the casual git user.

No submodules:
That is, the beast.git repository does generally *not* use git
submodules and the old 'ebeast' branch that tested this approach is
going to be deleted, since its contents have been merged into master.

About git subtree:
For the record, here are the commands I've used to construct the v8pp
subtree integration commits (see also GIT-SUBTREE(1)):

    git-subtree.sh add --prefix external/v8pp http://github.com/tim-janik/v8pp for-beast --squash
    git rebase -i -p HEAD^ # reworded the 'Merge...' commit message

And an indepth articel on git subtree, accompanied by some useful patches
for git-subtree.sh:

    https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/



--
Yours sincerely,
Tim Janik

https://testbit.eu/timj/
Free software author.
_______________________________________________
beast mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/beast
Loading...