]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blob - icecream/icecream.nm
file: Update to 5.18.
[people/ms/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 name = icecream
7 version = 1.0.0
8 release = 1
9
10 maintainer = Michael Tremer <michael.tremer@ipfire.org>
11 groups = Development/Compilers
12 url = http://en.opensuse.org/Icecream
13 license = GPLv2+
14 summary = Distributed compiler.
15
16 description
17 Icecream is a distributed compile system. It allows parallel compiling by
18 distributing the compile jobs to several nodes of a compile network running the
19 icecc daemon. The icecc scheduler routes the jobs and provides status and
20 statistics information to the icecc monitor. Each compile node can accept one
21 or more compile jobs depending on the number of processors and the settings of
22 the daemon. Link jobs and other jobs which cannot be distributed are executed
23 locally on the node where the compilation is started.
24 end
25
26 source_dl = ftp://ftp.suse.com/pub/projects/icecream/
27 sources = icecc-%{version}.tar.bz2
28
29 build
30 requires
31 gcc-c++
32 end
33
34 DIR_APP = %{DIR_SRC}/icecc-%{version}
35
36 configure_options += \
37 --disable-static \
38 --enable-shared
39
40 install_cmds
41 mkdir -pv %{BUILDROOT}%{libdir}/icecc/bin
42 for i in gcc g++ cc c++; do
43 ln -svf ../../../bin/icecc %{BUILDROOT}%{prefix}/lib/icecc/bin/${i}
44 ln -svf ../../../bin/icecc %{BUILDROOT}%{prefix}/lib/icecc/bin/%{DISTRO_BUILDTARGET}-${i}
45 done
46 ln -svf icecc %{BUILDROOT}%{bindir}/icerun
47 sed -e 's|^#!.*|#!/bin/bash|' -i %{BUILDROOT}%{prefix}/lib/icecc/icecc-create-env
48
49 mkdir -pv %{BUILDROOT}/etc/profile.d
50 sed -e "s|@LIBDIR@|%{prefix}/lib|g" \
51 < %{DIR_SOURCE}/icecream.sh > %{BUILDROOT}/etc/profile.d/icecream.sh
52
53 # create default working dir
54 mkdir -pv %{BUILDROOT}/var/cache/icecream
55
56 # Remove unwanted symlinks.
57 rm -rvf %{BUILDROOT}/usr/bin/c++
58 rm -rvf %{BUILDROOT}/usr/bin/cc
59 rm -rvf %{BUILDROOT}/usr/bin/g++
60 rm -rvf %{BUILDROOT}/usr/bin/gcc
61
62 # Create Logfiles.
63 mkdir -pv %{BUILDROOT}/var/log
64 touch %{BUILDROOT}/var/log/icecc{d,-scheduler}.log
65 end
66 end
67
68 packages
69 package %{name}
70 requires
71 gcc-c++
72 /usr/bin/ldd
73 end
74
75 prerequires += systemd-units
76
77 script postin
78 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
79 end
80
81 script preun
82 /bin/systemctl --no-reload disable iceccd.service \
83 icecc-scheduler.service >/dev/null 2>&1 || :
84 /bin/systemctl stop iceccd.service \
85 icecc-scheduler.service >/dev/null 2>&1 || :
86 end
87
88 script postun
89 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
90 end
91
92 script postup
93 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
94 /bin/systemctl try-restart iceccd.service \
95 icecc-scheduler.service >/dev/null 2>&1 || :
96 end
97 end
98
99 package %{name}-devel
100 template DEVEL
101 end
102
103 package %{name}-debuginfo
104 template DEBUGINFO
105 end
106 end