]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/blob - icecream/icecream.nm
Merge remote-tracking branch 'stevee/icecc-manpages'
[people/amarx/ipfire-3.x.git] / icecream / icecream.nm
1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
5
6 # XXX initscripts for daemons are missing
7
8 name = icecream
9 version = 0.9.6
10 release = 4
11
12 maintainer = Michael Tremer <michael.tremer@ipfire.org>
13 groups = Development/Compilers
14 url = http://en.opensuse.org/Icecream
15 license = GPLv2+
16 summary = Distributed compiler.
17
18 description
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.
26 end
27
28 source_dl = ftp://ftp.suse.com/pub/projects/icecream/
29 sources = \
30 icecc-%{version}.tar.bz2 \
31 icecream-manpages.tar.bz2
32
33 build
34 requires
35 gcc-c++
36 end
37
38 DIR_APP = %{DIR_SRC}/icecc-%{version}
39
40 configure_options += \
41 --disable-static \
42 --enable-shared
43
44 prepare
45 cd %{DIR_SRC} && %{MACRO_EXTRACT} %{DIR_DL}/icecc-%{version}.tar.bz2
46 cd %{DIR_APP} && %{MACRO_EXTRACT} %{DIR_DL}/icecream-manpages.tar.bz2
47
48 %{MACRO_PATCHES}
49 end
50
51 install_cmds
52 ICECREAM_TARGET_PLATFORM=$(echo %{DISTRO_MACHINE} | sed -e "s/-gnu//g")
53
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}
58 done
59 sed -e 's|^#!.*|#!/bin/bash|' -i %{BUILDROOT}/usr/lib/icecc/icecc-create-env
60
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
64
65 # create default working dir
66 mkdir -pv %{BUILDROOT}/var/cache/icecream
67
68 # install manpages
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##*.}
73 done
74
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
80 end
81 end
82
83 packages
84 package %{name}
85 requires
86 gcc-c++
87 /usr/bin/ldd
88 end
89 end
90
91 package %{name}-devel
92 template DEVEL
93 end
94 end