Commit graph

98 commits

Author SHA1 Message Date
cbb5d57081 DOC: the Ref::THIS construct was removed from the Diff language (#996)
...because of questionable utility
And it turned out to be quite a liability when it comes to implementing
the building blocks for binding tree implementation data structures
2016-12-03 19:40:28 +01:00
9b8fae1a9b (re)consider the problem how to deal with mandatory/optional object fields
this is a tricky problem and a tough decision.
After quite some pondering I choose to enforce mandatory fields
through the ctor, and not to allow myself cheating my way around it
2016-12-03 19:37:52 +01:00
fd2d56ca45 refactoring(#988): switch function-closure to std::tuple
not sure yet if any of this works, because the
technicalities of dealing with variadic types are
quite different to our LISP-style typelist processing.

The good news is that with variadic templates it is
indeed possible, to supply dynamically picked arguments
to another function taking arbitrary arguments.

This all relies on the feature to unpack argument packs,
and, more specifically, about the possiblity to "wrap"
this unpacking around interspersed function call syntax

template<size_t...i>
Xyz
do_something(MyTuple myTuple)
  {
    return Xyz (std::get<i> (myTuple) ... );
  }

Here the '...' will be applied to the i... and then
the whole std::get-construct will be wrapped around
each element. Mind bogging, but very powerful
2016-01-19 03:56:53 +01:00
60b6267eac DOC: after release 0.pre.03 -- checklist with steps for release preparation 2015-11-20 06:12:59 +01:00
d6d8ddd536 DOC: remove hotfix patch from backporting/Mint howto
this patch is no longer required; we lowered the
version dependencies in the package proper
2015-11-15 07:10:45 +01:00
e1f7165208 DOC: instructions for building/backporting on Mint 17.2 (Rafaela)
this is a bit trickty, since we need to install gcc-4.9 from a PPA.
Mint only provides the libstdc++ 4.8, which is known to break when
compiling in C++14 mode
2015-11-05 03:27:55 +01:00
8a707f3a41 post-release: tighten library dependencies
NOTE: we have the policy to always support current Debian/stable
amd at least one Ubuntu LTS release, unless hard dependency problems prevent that.
Currently, Ubuntu/Trusty is already a bit dated, but the only problematic dependency
could be libboost (1.54 in Trusty, 1.55 in Jessie).
GCC-4.8 can be replaced by GCC-4.9 in Trusty without problems

It is always a bit tricky to find out the precise lower boundary,
so we try to upgrade these requirements as our platform progresses.
For now we have used the level available on Ubuntu/Trusty to set
the lower constraints for most libraries
2015-11-03 03:39:00 +01:00
12cefe914e release prep: clean-up obsolete information 2015-11-02 21:14:24 +01:00
b1b89c168e release prep: clean-up obsolete information 2015-11-02 19:38:43 +01:00
9c9b31f0f8 DOC: External Tree Description as a design concept
This page gives the rationale for the way our diff framework is built.
This reasoning might *reduce* the relevance of any decisions
regarding the implementation data structure and thus lead to
far reaching consequences for the whole architecture.
2015-11-02 04:50:53 +01:00
0e615e531f DOC: extension of the diff framework to represent structural changes 2015-11-02 03:51:04 +01:00
0b41ddefd0 DOC: how to use gcc-4.9 on Ubuntu Trusty (14.04 LTS) 2015-11-02 01:34:31 +01:00
80e78492d2 Reference platform for Lumeira is now Debian/Jessie 2015-08-16 02:49:53 +02:00
c2d5896a3b Project: switch to C++14
This means we have rather tight compiler requirements now.
Beyond that, we expect no serious impact; the most notable
C++14 feature we're likely to use soon is type inference
on lambda arguments.
2015-08-16 01:43:04 +02:00
dece405801 LANDING: transition to GTK-3
This switches the Lumiera UI from GTK-2 to GTK-3
Unfortunately, this move breaks two crucial features, which have been
disabled for now: the display of video and our custom timeline widget.

Since both of these require some reworking, which in fact has already
started, we prefer to do the library and framework switch right away.
2015-05-30 17:11:41 +02:00
4c4a430728 DOC: summarise suitable mechanisms for dependency decoupling
This too was a long-standing issue. While these practices
basically can be considered "common knowledge", experience
showed those topics are frequently unknown even to practised
programmers.

So now we have a single page dealing with all those issues of
code bloat, dependency poliferation, binary dependency resolution
and issues of transitive and circular library dependencies
2015-05-28 03:05:49 +02:00
182f6ac8e5 DOC: upgrade dependencies to reflect the transition to GTK-3
the corresponding requirements are already reflected in the
SCons build, see Platform.py

NOTE: the current debian package is still based on the preview
Release 0.2.pre from last year. It will be upgraded probably after
the transition to Jessie as reference system
2015-05-28 00:24:25 +02:00
e447fa9a0e DOC: workaround when --as-needed linking breaks auto-registration (closes #948)
This piece of documentation describes an insideous special case, which
some time ago prevented us from switching to --as-needed linking.
We treat this as a special case (and it is way easier to do so
now, after the reorganisation of our test suite).

deliberately, I've left #948 open to nudge me about writing this doc
2015-05-27 21:12:55 +02:00
6c7628fdfe DOC: the RPATH and RUNPATH tags and the $ORIGIN token
This is very arkane, hard to find knowledge about some intricacies
of the dynamic library resolution. Very relevant for Lumiera,
since we use a resolution scheme relative to the location
of the executable. Documenting this stuff was a long-standing issue
2015-05-27 18:52:15 +02:00
f17b1c8428 DOC: locating of dependencies and resources at application start-up
a long standing TODO to document the actual start-up sequence, which
is implemented this way since a long time now. There was an unwritten
section in the "Linking and Application Structure", which seems the
apropriate place for this kind of intricate techincal details.

Last week, Benny Lyons was here on visit in munich and he was pondering
the idea of an experimental secondary build system, as a way to learn
more about the source structure of Lumiera. This reminded me to fill
some missing parts of the documentation. Possibly this is also the
right moment to land the GTK-3 transition?
2015-05-27 04:01:09 +02:00
4e597cf0ce DOC: re-read and improve wording 2015-01-02 09:39:24 +01:00
beb57cde22 DOC: decision to use a simplistic implementation to start with
This means to discontinue any research into emitting an optimal
diff verb sequence for now and just to document the possible path
I see to reach at such a optimal solution later, when it turns out
to be really necessary performance wise.

Personal note: I arrived at this conclusion while whatching the
New Year fireworks 2014/2015 at the banks of the Isar river in
the centre of the city.
Too sad that 2014 didn't bring us World War III
2015-01-01 04:11:20 +01:00
73f310eb23 DOC: reread and slightly reworded 2014-12-23 02:18:28 +01:00
d1a5b0bf70 DOC: didactical improvement 2014-12-22 23:55:54 +01:00
d670f3bada DOC: fix in table 2014-12-22 19:19:30 +01:00
fe9105f321 DOC: reasoning behind the construction of our list diff algorithm
this is a theoretical description of our method, and gives
the reaoning why it is correct, plus the assesment of
size and complexity order.
2014-12-22 05:20:49 +01:00
42f69b6cb5 DOC: assumptions and definitions for diff handling
...plus a started draft of the list diff algorithm
2014-12-21 07:48:04 +01:00
3dc5c83b33 DOC: small howto improvements 2014-12-01 01:31:19 +01:00
41ad41d1f1 clean-up: sourcefile layout and spell checking
Uniform sequence at start of source files
- copyright claim
- license
- file comment
- header guard
- lumiera includes
- library / system includes

Lumiera uses Brittish spelling. Add an according note to the styleguide.
2014-10-23 23:04:35 +02:00
7c9ab5fba2 reorganise test suite compartments
this change is prerequisite to allow linking against different scopes (#938)
2014-10-17 20:02:25 +02:00
3fb838a041 DOC: some notorious problems to check when breakpoints in Eclipse dont work 2014-10-14 02:42:16 +02:00
5b6ebeaa5f stylesheet: finish definition of a base style
- text entry colours
- hover / mouse over
- disabled entries
- ensure consistent menu styling
2014-10-09 03:44:02 +02:00
5f4871a46a DOC: how to learn styling and extract binary theme bundles 2014-10-08 05:14:07 +02:00
a603199207 DOC: start documentation of Lumiera GUI theming 2014-10-07 04:59:45 +02:00
073efdf6a4 DOC: extend the description of dependency pitfals and intricasies
Still not complete, but a complete outline now
2014-10-02 04:08:26 +02:00
b5de8523b1 DOC: start a page to describe linking dependency intricasies 2014-10-01 04:07:18 +02:00
aaaad8d70f DOC: some clean-up in the page describing the build system 2014-10-01 01:19:56 +02:00
0eda9ff69c DOC: guidelines regarding c++11 move semantics 2014-09-25 21:23:19 +02:00
177eb0fab3 DOC: notes regarding the current level of C++11 support 2014-09-13 04:55:57 +02:00
79b19b270f DOC: add a page with notes on the IDE setup 2014-08-16 00:03:55 +02:00
50faee12b3 DOC: update the Boost-page to reflect what's part of the language now
several C++11 features used to be Boost features in the past
2014-08-16 00:03:32 +02:00
faf62cf8af DOC: start a page with C++11 notes (here: about type conversion)
note down some results found out during the C++11 transition.
There is now a clear distinction between automatic type conversion
and the ability to construct a new instance
2014-08-13 03:08:00 +02:00
027386d76c DOC: Tighten the build requirements to C++11 and Boost-1.55 2014-04-29 09:51:00 +02:00
e7769b4bbf Build: make dependency on X-Lib explicit
The XV-Viewer widget in our GUI uses four direct calls
to the X-Lib. This was discovered by strict dependency checking,
as mandated by new Debian policy
2013-11-03 00:07:07 +01:00
2cfc7030c0 release prep: clean-up obsolete information 2013-10-29 06:11:18 +01:00
d15ec47f9e DOC: some further round-up and polishsing 2013-10-28 06:14:42 +01:00
2c4ed4ca91 DOC: update and polish the building tutorial 2013-10-28 00:19:03 +01:00
9652c7ec5e Debian/Repo: reorganise the Git repository URLs
all debian package repositories are now located below
git://lumiera.org/debian/...
2013-10-27 10:18:38 +01:00
2b437b49ad DOC: switch on TOC and footnotes on some pages 2013-10-07 04:41:19 +02:00
48431d822d Build: adjust versions and naming to comply with Debian/Jessie
Note: this drops some backwards compatibility. We're targeting now
roughly the range between Ubuntu-Precise (LTS) and Debian/testing,
with Debian/stable as the reference system.

The naming scheme for Boost-Libraries was adjusted with Boost-1.42
for Unix-Platforms. Now the '-mt' suffix isn't included any more, but
the libraries available through the usual packaging mechanisms can be
assumed to be thread safe.

See also http://issues.lumiera.org/ticket/759
2013-10-07 01:52:57 +02:00