1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
6 # XXX initscripts for daemons are missing
12 maintainer = Michael Tremer <michael.tremer@ipfire.org>
13 groups = Development/Compilers
14 url = http://en.opensuse.org/Icecream
16 summary = Distributed compiler.
19 Icecream is a distributed compile system. It allows parallel compiling by
20 distributing the compile jobs to several nodes of a compile network running the
21 icecc daemon. The icecc scheduler routes the jobs and provides status and
22 statistics information to the icecc monitor. Each compile node can accept one
23 or more compile jobs depending on the number of processors and the settings of
24 the daemon. Link jobs and other jobs which cannot be distributed are executed
25 locally on the node where the compilation is started.
28 source_dl = ftp://ftp.suse.com/pub/projects/icecream/
30 icecc-%{version}.tar.bz2 \
31 icecream-manpages.tar.bz2
38 DIR_APP = %{DIR_SRC}/icecc-%{version}
40 configure_options += \
45 cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/icecc-%{version}.tar.bz2
46 cd %{DIR_APP} && %{MACRO_EXTRACT} %{DIR_DL}/icecream-manpages.tar.bz2
52 ICECREAM_TARGET_PLATFORM=$(echo %{DISTRO_MACHINE} | sed -e "s/-gnu//g")
54 mkdir -pv %{BUILDROOT}/usr/lib/icecc/bin
55 for i in gcc g++ cc c++; do
56 ln -svf ../../../bin/icecc %{BUILDROOT}/usr/lib/icecc/bin/${i}
57 ln -svf ../../../bin/icecc %{BUILDROOT}/usr/lib/icecc/bin/%{ICECREAM_TARGET_PLATFORM}-${i}
59 sed -e 's|^#!.*|#!/bin/bash|' -i %{BUILDROOT}/usr/lib/icecc/icecc-create-env
61 mkdir -pv %{BUILDROOT}/etc/profile.d
62 sed -e "s|@LIBDIR@|/usr/lib|g" \
63 < %{DIR_SOURCE}/icecream.sh > %{BUILDROOT}/etc/profile.d/icecream.sh
65 # create default working dir
66 mkdir -pv %{BUILDROOT}/var/cache/icecream
69 mkdir -pv %{BUILDROOT}/usr/share/man/man{1,7,8}
70 mv mans/scheduler.1 mans/icecc-scheduler.1
71 for i in mans/*.1 mans/*.7; do
72 install -m 644 $i %{BUILDROOT}/usr/share/man/man${i##*.}
75 # Remove unwanted symlinks.
76 rm -rvf %{BUILDROOT}/usr/bin/c++
77 rm -rvf %{BUILDROOT}/usr/bin/cc
78 rm -rvf %{BUILDROOT}/usr/bin/g++
79 rm -rvf %{BUILDROOT}/usr/bin/gcc