SUMMARY="A GUI editor to create and edit constraint-based layouts"
DESCRIPTION="The Auckland Layout Editor (ALE) is a constraint-based layout \
editor that is based on the BALMLayout layout class. The constraint-based \
layout model is very powerful and can describe layouts that can't be described \
with other layout models, like for example, the grid-bag layout model. Layouts \
created with ALE are automatically resizable and non-overlapping. This means \
while editing a layout you can't create a layout that has two overlapping \
views. Furthermore, layouts created with ALE have no conflicting constraints.
ALE provides a small but powerful set of edit operations. These edit \
operations keep views automatically aligned to each other. This makes \
creating and editing layouts very easy.

For more information read:
https://www.cs.auckland.ac.nz/~lutteroth/publications/ZeidlerEtAl2013-AucklandLayoutEditor.pdf
or watch:
http://www.youtube.com/watch?v=ZPv58AWWGRQ"
HOMEPAGE="https://github.com/czeidler/ALEditor"
COPYRIGHT="2009-2014 UniAuckland Team"
LICENSE="MIT"
REVISION="6"
srcGitRev="90c1db5b38eedbb101dfc4648c13e65d552fc033"
SOURCE_URI="https://github.com/czeidler/ALEditor/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="e20bffa0dd5d840a55ab79f4e04fb3d7955e1604b9eb40a5d7f047eb47c52fd8"
SOURCE_FILENAME="ALEditor-$srcGitRev.tar.gz"
SOURCE_DIR="ALEditor-$srcGitRev"
PATCHES="ale-$portVersion.patchset"

ARCHITECTURES="all"

PROVIDES="
	ale = $portVersion
	app:ALEditor = $portVersion
	lib:libale = $portVersion
	"
REQUIRES="
	haiku
	"

BUILD_REQUIRES="
	haiku_devel
	"
BUILD_PREREQUIRES="
	cmd:cmake
	cmd:gcc
	cmd:ld
	cmd:make
	"

BUILD()
{
	cmake .
	make
}

INSTALL()
{
	mkdir -p $appsDir/ALEditor
	cp ALEditor $appsDir/ALEditor/ALEditor
	mkdir -p $libDir
	cp libale.so $libDir/libale.so

	addAppDeskbarSymlink $appsDir/ALEditor/ALEditor ALEditor

	# copy development headers
	headersALE="LayoutArchive.h"
	headersALM="ALMGroup.h ALMLayout.h ALMLayoutBuilder.h Area.h Column.h Row.h Tab.h"
	headersLinearSpec="Constraint.h LinearProgrammingTypes.h LinearSpec.h Summand.h Variable.h"

	mkdir -p $includeDir/ale
	for file in $headersALE
	do
	cp headers/editor/${file} $includeDir/ale/${file}
	done

	mkdir -p $includeDir/alm
	for file in $headersALM
	do
	cp headers/haiku_private/alm/${file} $includeDir/alm/${file}
	done

	mkdir -p $includeDir/linearspec
	for file in $headersLinearSpec
	do
	cp headers/haiku_private/linearspec/${file} $includeDir/linearspec/${file}
	done

	# copy example
	mkdir -p $dataDir/ale/example
	cp example/* $dataDir/ale/example/
}
