Skip to content

Commit 3aafb64

Browse files
committed
Release 14.10.0
Merge branch 'release' Merge branch 'cleanups' Merge branch 'xml-syntax' Merge branch 'hide-xml-namespaces' Merge branch 'factory-type-list' Merge branch 'MPLv2' Merge branch 'docs' Merge branch 'idl-api' Merge branch 'fixes-14.04' Merge branch 'data-bindings-alpha1' Merge branch 'docs-nav-tree' Merge branch 'remote-reference-counting' Merge branch 'dynamic-any' Merge branch 'docs-and-coverage' Merge branch 'rngs-and-hashing' Merge branch 'configure-ac' Merge branch 'copy-and-paste' Merge branch 'keyboard-input' Merge branch 'widget-groups' DOCS: adapt upload path to new testbit fs layout Merge branch 'docs' UI: sinfex.cc: work around bison & flex disagreeing on nullptr vs 0 for YY_NULL Merge branch 'build-fixups' Merge branch 'svg-images' Merge branch 'build-fixes' Merge branch 'normalized-image-tests' Merge branch 'docs-svg-graphics' configure.in: revision increment of RAPICORN_REVISION_VERSION to 1
2 parents 336f240 + f2047d6 commit 3aafb64

372 files changed

Lines changed: 35797 additions & 13379 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Makefile
55
*.o
66
*.lo
77
*.pyc
8+
/rnd-files/
89
/.x11test.log
910
/ChangeLog
1011
/INSTALL
@@ -24,6 +25,7 @@ Makefile
2425
/intltool-update.in
2526
/libtool
2627
/ltmain.sh
28+
/test-driver
2729
/missing
2830
/mkinstalldirs
2931
/po-helper.sh

AUTHORS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Tim Janik <timj@gtk.org>
1+
Tim Janik <timj@gnu.org>

COPYING

Lines changed: 0 additions & 504 deletions
This file was deleted.

COPYING

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
LICENSE

LICENSE

Lines changed: 373 additions & 0 deletions
Large diffs are not rendered by default.

Makefile.am

Lines changed: 7 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
# Rapicorn
2-
# Copyright (C) 2005 Tim Janik
3-
#
4-
## GNU Lesser General Public License version 2 or any later version.
52
include $(top_srcdir)/Makefile.decl
63

74
SUBDIRS = . po data rcore res aidacc ui rope tools tests pytests examples docs
@@ -11,7 +8,6 @@ noinst_DATA =
118

129
# === setup ===
1310
AUTOMAKE_OPTIONS = 1.9 dist-bzip2 no-dist-gzip
14-
configure: @DVLBUILD@ acrapicorn.m4 # acrapicorn.m4 is included by configure.in
1511

1612
# === web site ===
1713
site site-preview site-update:
@@ -50,28 +46,11 @@ MAKE_API_CHECKSUM=$(strip \
5046
$(MAKE) -C $(top_srcdir)/ui/ $(AM_MAKEFLAGS) api-content ) | \
5147
md5sum | sed 's/ .*//' \
5248
)
53-
api-check: # ensure headers don't change if RELEASE=outdated && REVISION=0
54-
cd $(srcdir) \
55-
&& RAPICORN_CURRENT_CHECKSUM=$$($(MAKE_API_CHECKSUM)) \
56-
&& RAPICORN_MONTHLY_VERSION="$$(expr $$(date +%Y%m) - 200000)" \
57-
&& test "$$RAPICORN_CURRENT_CHECKSUM" = "`cat api-check.md5`" \
58-
|| if [ "$$RAPICORN_MONTHLY_VERSION" = \
59-
"$$(expr @RAPICORN_RELEASE_YEAR@ '*' 100 + @RAPICORN_RELEASE_MONTH@)" \
60-
-o "@RAPICORN_REVISION_VERSION@" -gt 0 ]; then \
61-
echo "$$RAPICORN_CURRENT_CHECKSUM" > api-check.md5 ; \
62-
else \
63-
MSG1="Rapicorn version needs updating (checksum: $$RAPICORN_CURRENT_CHECKSUM): " ; \
64-
MSG2="@RAPICORN_RELEASE_YEAR@.@RAPICORN_RELEASE_MONTH@.@RAPICORN_REVISION_VERSION@ => " ; \
65-
MSG3="$$[RAPICORN_MONTHLY_VERSION/100].$$[RAPICORN_MONTHLY_VERSION%100].0" ; \
66-
MSG="$$MSG1$$MSG2$$MSG3" ; echo $$MSG | sed 's/./=/g'; echo $$MSG; echo $$MSG | sed 's/./=/g' ; \
67-
exit 1 ; \
68-
fi
6949
api-checksum:
7050
$(MAKE_API_CHECKSUM)
71-
.PHONY: api-check api-checksum
72-
#check-am: api-check # check API version upon make check
51+
.PHONY: api-checksum
7352
distcheck-hook: # check API version upon make distcheck
74-
$(MAKE) $(AM_MAKEFLAGS) -C $(top_srcdir)/ api-check
53+
$(MAKE) $(AM_MAKEFLAGS) -C $(top_srcdir)/
7554
installcheck-local:
7655
$(Q) cd . \
7756
&& echo '#include <rapicorn-core.hh>' > tmpx.cc \
@@ -80,6 +59,7 @@ installcheck-local:
8059
&& echo 'using namespace Rapicorn;' >> tmpx.cc \
8160
&& echo 'extern "C" int main (int argc, char *argv[]) {' >> tmpx.cc \
8261
&& echo 'ApplicationH app = init_app (".AMtest", &argc, argv);' >> tmpx.cc \
62+
&& echo 'Blob blob = Blob::load (".");' >> tmpx.cc \
8363
&& echo 'return app.run_and_exit(); }' >> tmpx.cc \
8464
; eval "$$TSTDIAGNOSE" "'Create rapicorn sample program'"
8565
$(Q) $(CXX) -Werror tmpx.cc -c `PKG_CONFIG_PATH="$(pkgconfigdir):$$PKG_CONFIG_PATH" pkg-config --cflags rapicorn@RAPICORN_RELEASE@` \
@@ -96,31 +76,25 @@ check-dynamic_cast: # check for dynamic_cast of reference types which is broken
9676
&& find $(srcdir) -type f \( -iname '*.[hc][hc]' -o -iname '*.[hc]' \) \
9777
-exec grep -Hn 'dynamic_cast[^<]*<[^>&]*&' {} \; \
9878
| grep '.' ; exit $$[!$$?] # fail on matches
99-
check-list_properties: # only public interfaces should export properties
100-
$(Q) cd $(srcdir) \
101-
&& echo " CHECK Repel untyped list_properties() method implementations..." \
102-
&& ! grep '^[[:space:]]*list_properties[[:space:]]*([^)]*)[^;]*$$' -n ui/*.cc rcore/*.cc
103-
$(Q) cd $(srcdir) \
104-
&& echo " CHECK Repel non-interface list_properties() method implementations..." \
105-
&& ! grep 'Impl::list_properties[[:space:]]*([^)]*)[^;]*$$' -n ui/*.cc rcore/*.cc \
106-
--exclude ui/widget.cc --exclude ui/container.cc --exclude ui/buttons.cc --exclude ui/window.cc
107-
check-am: check-dynamic_cast check-list_properties # run source code checks before all others
79+
check-am: check-dynamic_cast # run source code checks before all others
10880

10981
# === automake fixes ===
11082
# disable bogus cleanup checks
11183
distcleancheck_listfiles = true # find . -type f -print
11284
# distuninstallcheck_listfiles = true # find . -type f -print
85+
MAINTAINERCLEANFILES += intltool-extract.in intltool-merge.in intltool-update.in
11386

11487
# == ChangeLog & Release Rules ==
11588
ChangeLog: $(shell $(srcdir)/mkrelease.sh commit-stamps)
11689
$(srcdir)/mkrelease.sh ChangeLog -R bb02c8c92f88a091ca8ca2002a5800c2102e5e1d..HEAD
11790
noinst_DATA += ChangeLog
91+
MAINTAINERCLEANFILES += ChangeLog
11892
EXTRA_DIST += ChangeLog mkrelease.sh
11993
release-news:
12094
@$(srcdir)/mkrelease.sh news --first-parent --body
12195
release-check:
12296
@echo "Checking for unlisted contributors..."
12397
@$(srcdir)/mkrelease.sh contributors -X -B timj,stw
12498
release-upload: ChangeLog
125-
$(srcdir)/mkrelease.sh upload -U testbit:dist/rapicorn/ -E configure.in:RAPICORN_REVISION_VERSION
99+
$(srcdir)/mkrelease.sh upload -U testbit:dist/rapicorn/ -E configure.ac:RAPICORN_REVISION_VERSION
126100
.PHONY: release-news release-check release-upload

Makefile.decl

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
# Rapicorn -*-mode:makefile;-*-
2-
# Copyright (C) 2006 Tim Janik
3-
#
4-
## GNU Lesser General Public License version 2 or any later version.
2+
# This Source Code Form is licensed MPLv2: http://mozilla.org/MPL/2.0
53

64
# declare variables that we might want to use += on.
7-
INCLUDES=
85
EXTRA_HEADERS=
96
MAINTAINERCLEANFILES=$(GENERATED)
107
CLEANFILES=$(GENERATED_CLEANFILES)
@@ -58,6 +55,7 @@ export X11TEST_DISPLAY ?= $(shell $(X11TEST_FIND) && echo ":$$X11TEST_DISPLAY")
5855
X11TEST_SERVER := \
5956
if [ -z "$$X11TEST_DISPLAY" ] ; then \
6057
Xvfb -help 2>&1 | grep -q display || { echo "$(MAKECMDGOALS): failed to start Xvfb" ; exit -2 ; } \
58+
&& xset -help 2>&1 | grep -q display || { echo "$(MAKECMDGOALS): failed to start xset" ; exit -2 ; } \
6159
&& for idoffs in `seq 1001 1500` ; do D=$$(($$idoffs + $$RANDOM % 500)) \
6260
&& test ! -e /tmp/.X$$D-lock && break ; done \
6361
|| { echo "$(MAKECMDGOALS): out of available X11 Display IDs" ; exit -2 ; } \
@@ -96,7 +94,6 @@ distfile-list:
9694
check-am: check-before
9795
check-local: check-after
9896
check-local: ; @:
99-
TESTS=
10097
TSTV1=test-verbose
10198

10299
# === slowcheck ===
@@ -115,7 +112,7 @@ slowcheck_parallel--$(1): $(1)
115112
&& RAPICORN_TEST="$$(TSTV$$(V)):test-slow" ./$(1) ; _e=$$$$?; \
116113
[ $$$$_e = 0 ] || { echo "FAILED($$$$_e): $(1)" ; exit $$$$_e; }
117114
slowcheck: slowcheck_parallel--$(1)
118-
check: @NOTDVLBUILD@ slowcheck_parallel--$(1)
115+
check: @NOTDEVELMODE@ slowcheck_parallel--$(1)
119116
endef
120117
$(foreach PRG,$(TEST_PROGS),$(eval $(call slowcheck_parallel_TEMPLATE,$(PRG))))
121118

NEWS

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,27 @@
1-
Rapicorn 13.07.0:
1+
Rapicorn 14.10.0: (2014-10-09)
2+
3+
* Project is re-license under MPLv2.
4+
* Task List: New high level overview: http://testbit.eu/wiki/Rapicorn_Task_List
5+
* Major documentation improvements plus new illustrations.
6+
* Added coverage report generation.
7+
* Extended dynamic Any to contain arbitrary C++ structures.
8+
* Made image processing more robust.
9+
* Integrated SVG image rendering branch.
10+
* Support property element syntax in XML UI files.
11+
* Simplified XML UI syntax for widget definitions and arguments.
12+
* Added simple XML UI data bindings for Python.
13+
* XML UI support for hsize-group & vsize-group.
14+
* Now all widget APIs are exported through IDL definitions.
15+
* Fixed X11 compose key handling.
16+
* Added X11 selection copy and paste.
17+
* Added Keccak for SHAKE & SHA3 hashing and CSPRNG.
18+
* Added remote reference counting across IDL threads.
19+
* Lots of bug fixes, code cleanups and elimination of old/unused code.
20+
* Portability fixes for 32bit, 64bit, Ubuntu 14.04 and 14.10.
21+
* Removed tarball dependencies: doxygen dot bison flex
22+
* Build infrastructure and dependency updates: glib-2.32 g++-4.7
23+
24+
Rapicorn 13.07.0: (2013-07-06)
225

326
* Aida: Optimizations and cleanups in the IPC implementation.
427
* Aida: Protocol extension to retrieve initial remote handle.

README

Lines changed: 42 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,62 @@
11
The Rapicorn Toolkit
22
====================
33

4-
Rapicorn is a toolkit for rapid development of user interfaces for C++ and
5-
python development. Much is still in prototype/alpha development stage, but
6-
a strong set of foundation technologies has already been established.
7-
Everybody is free to participate with ideas, code or wiki contributions,
8-
and artwork (we still need a logo, and always need icons and SVG themes).
4+
Rapicorn is a toolkit for rapid development of user interfaces in C++ and
5+
Python. The user interface (UI) is designed in a declarative markup language
6+
and is connected to the programming logic using data bindings and commands.
97

10-
Rapicorn brings UI-design, UI-notation and UI-programming as close together
11-
as possible. To accomplish this, it provides concise ways for UI notation,
12-
usable also throughout design phases.
13-
Simple but powerful programming mechanisms are provided to automate binding
14-
of programming and GUI logic and to minimize manual work.
8+
New project releases can be found at the project website:
9+
http://rapicorn.org
1510

16-
Cairo is used for all rendering tasks, and Pango is currently used for text
17-
rendering. A more extensive overview is provided online:
18-
http://rapicorn.org/introduction.html
11+
At the moment, Rapicorn is in the "prototype" phase so some features are
12+
still under heavy development. You can refer to the roadmap for details:
13+
http://rapicorn.org/wiki/Rapicorn_Task_List#Roadmap
1914

20-
Web pages and further resources can be found at:
2115

22-
http://rapicorn.org
16+
Building and Installation
17+
=========================
2318

24-
A mailing list for Rapicorn development and feedback:
19+
Rapicorn has been successfully build under 32bit, 64bit and Ubuntu versions
20+
13.10, 14.04 and 14.10. A number of dependency packages need to be installed:
2521

26-
https://groups.google.com/d/forum/rapicorn
27-
rapicorn@googlegroups.com
22+
apt-get install libcairo2-dev libpango1.0-dev intltool python2.7-dev \
23+
libxml2-dev libgdk-pixbuf2.0-dev libreadline6-dev Xvfb x11-xserver-utils
2824

29-
A programming tutorial can be found under:
30-
http://rapicorn.org/tutorial.html
25+
Building and testing a build is accomplished as follows:
3126

32-
Dependencies
33-
============
27+
./configure && make -j`nproc` && make install
28+
make -j`nproc` check installcheck
3429

35-
In order to build Rapicorn from release tarballs, a recent version of
36-
libpng, Cairo, Pango and Gtk+ as well as Python 2.5 are currently needed.
37-
The sources for the required packages can be found here:
30+
Building the Rapicorn git repository uses autogen.sh instead of configure and
31+
needs additional packages:
32+
autoconf libtool automake intltool dot doxygen bison flex
3833

39-
http://gtk.org/download.html
40-
http://cairographics.org/download/
41-
http://sourceforge.net/projects/libpng/
42-
http://www.python.org/download/releases/
4334

44-
As Debian package list:
35+
Support and Examples
36+
====================
37+
38+
The distribution tarball includes Python and C++ examples directories:
39+
examples/ pytests/
40+
41+
Also documentation is provided with the distribution and online:
42+
$prefix/share/doc/rapicorn1410/html/apps.html
43+
https://testbit.eu/pub/docs/rapicorn/latest/
44+
45+
For help, questions and feedback, an online forum is provided:
46+
https://groups.google.com/d/forum/rapicorn
4547

46-
libpng12-dev libcairo2-dev libpango1.0-dev libgtk2.0-dev python2.5-dev
48+
To get support, send email to the mailing list (forum):
49+
rapicorn@googlegroups.com
4750

48-
Rapicorn tends to hit GNU C++ compiler bugs fairly frequently, so if you
49-
have problems compiling the code, or get segfaults in STL source files,
50-
upgrading the compiler may improve the situation.
51+
Also developers can sometimes be found chatting on IRC:
52+
#beast IRC channel on GimpNet: irc.gimp.org
5153

52-
Compiling with a different compiler version than the default on your
53-
system and running all checks Rapicorn offers (they should all succeed)
54-
can be done with commands like:
54+
Bugs can be filed and discussed in the Github issue tracker:
55+
https://github.com/tim-janik/rapicorn/issues
5556

56-
export CC=gcc-4.6 CXX=g++-4.6 "CPP=gcc-4.6 -E" "CPPCXX=g++-4.6 -E"
57-
./configure
58-
make all install
59-
make report # execute fast tests, performance tests and slow tests
6057

61-
Installation
62-
============
58+
License
59+
=======
6360

64-
See the file 'INSTALL'.
61+
This Source Code Form is subject to the terms of the Mozilla Public
62+
License 2.0. See the LICENSE file for license rights and limitations.

0 commit comments

Comments
 (0)