Home

emake

This is emake (Version 0.3.5) a shell-script for generating generic .ebuilds for Gentoo Linux. gentoo

What is it?

Emake is a bash-script to manage local installions by generic ebuilds created from Makefiles (cmake, imake, autotools, 'pure' make) or auto-generate generic ebuild-sceletons from given URI.
See also ebuild writing manual.

Install:

The recommended way to install emake is now via the darkelf overlay using layman:
layman -a darkelf
emerge -av app-portage/emake

Installing emake manually:

Put the script into /usr/local/bin and change owner (chown) to root:portage and file mode (chmod) to 750:
cd /usr/local/bin
wget -N "http://homepages.uni-paderborn.de/neuron/gentoo/emake/emake"
chown root:portage emake
chmod 750 emake
Then set the
OVERLAY
variable inside the script to a correct path of a local overlay. If you don't have a local overlay read the next section..

Creating a local portage overlay manually:

You can create a local overlay e.g. in /var/db/repos/emake named emake by:
mkdir -p /var/db/repos/emake
cd /var/db/repos/emake
mkdir profiles
echo "emake" > profiles/repo_name
mkdir metadata
echo "masters = gentoo" > metadata/layout.conf
chown -R root:portage .
chmod -R 750 .
(you can also set the filemode to 770 if you want to be able to run the script as non-root with just portage group priviledges)

Don't forget to make a repos.conf for the new overlay e.g. /etc/portage/repos.conf/emake.conf:
[overlay]
location = /var/db/repos/emake
masters = gentoo
auto-sync = no
priority = 999

Commandline Usage:

emake [CATEGORY/][PF] (src-root-directory / URI) [build-directory/[build-file]]

Example Commandline Use:

Change into a directory containing a Makefile and then do..
emake x11-misc/helloworld-1.0
to create a generic x11-misc/helloworld-1.0.ebuild and corresponding helloworld-1.0.txz from the current directory.

Or just generate an generic ebuild from a SRC_URI:
emake x11-misc/helloworld-1.0 SRC_URI

Generating a generic ebuild from a github repository:
emake x11-misc/helloworld-9999 https://github.com/USER/REPOSITORY
Working Example:
emake games-engines/openlara-9999 https://github.com/XProger/OpenLara

ToDo:

-support for repository URLs: git://, svn://, etc.
 -support for repository branches/tags/refs.
-menu driven usage
-get USE-Flags from configure
-get RDEPEND and DEPEND from configure
-command line option to make a binary/ebuild package instead of a source/ebuild package.

Changelog:

Version 0.3.5:
-updated category search directory
-changed from cmake-utils.eclass to cmake.eclass
-updated to EAPI-8 (from EAPI-6)
Version 0.3.4:
-automatically determine default DISTDIR via portageq
-default repo location changed to /var/db/repos/emake
Version 0.3.3:
-added meson support.
Version 0.3.2:
-creating 9999 live ebuild from github repository master.
Version 0.3:
-added eautoreconf for configure.ac/configure.in
Version 0.2:
-creating .ebuilds from remote SRC_URI. (downloading / unpacking)
-use "find" to find the build directory more automatically
Version 0.1:
-generate generic local ebuilds

License:

emake is published under The Artistic License 1.0 (Artistic-1.0).
All Rights Reserved.

Impressum:

Simon der Zauberer
Brüderstraße 18
D-33098 Paderborn