1 # -*- Mode:rpm-spec -*-
4 # RPM build instructions (assuming rpm 4.0 or greater):
6 # In your home directory:
7 # =======================
9 # 1) Create a directory, rpm-build, containing the following sub-directories:
11 # BUILD INSTALL RPMS SOURCES SPECS SRPMS
13 # 2) Create or modify the ~/.rpmmacros file, adding the following lines:
15 # %_topdir $(absolute path of your home dir)/rpm-build
17 # This tells rpm to use ~/rpm-build as its "home base" rather than the default
18 # /usr/src/redhat. Otherwise, you'd have to be root to build the rpms.
20 # In the SOURCES sub-directory:
21 # =============================
23 # 3) Check out the sid-without-tcl module from CVS.
25 # 4) Create a tarball named sid.tar.gz from the CVS tree:
27 # tar --create --file=sid.tar src
30 # 5) Copy this spec file (sid/sid.spec) into the SPECS sub-directory.
35 # 6) Change the homedir definition to point to your home directory.
37 # 7) Modify the BuildArchitectures tag and the build commands to reflect
38 # the host and target for which you're building.
40 # In the SPECS sub-directory:
41 # ===========================
47 # The resulting RPM and source RPM will be in the RPMS and SRPMS sub-directories respectively.
50 %define homedir /home/fitzsim
51 %define sourcesdir src
53 Summary: SID is a framework for building computer system simulations.
58 Group: Development/Simulators
60 URL: http://sources.redhat.com/sid
62 BuildRoot: %{homedir}/rpm-build/INSTALL
63 BuildArchitectures: i686
64 BuildRequires: tcl >= 8.0, tk >= 8.0
65 Requires: tcl >= 8.0, tk >= 8.0
66 Packager: Thomas Fitzsimmons <fitzsim@redhat.com>
68 SID is a framework for building computer system simulations.
69 Specifically, a simulation is comprised of a collection of loosely
70 coupled components. Simulated systems may range from a CPU's
71 instruction set to a large multi-processor embedded system.
73 SID defines a small component interface which serves to tightly
74 encapsulate components. Components may be written in C++, C, Tcl or
75 any other language to which the API is bound. Typically, components
76 are separately compiled and packaged into shared libraries. A
77 standard run-time linking/loading interface is defined for these.
80 %setup -n %{sourcesdir}
87 ../%{sourcesdir}/configure --prefix=$RPM_BUILD_ROOT/usr
91 # To make things work with BUILDROOT
92 if [ "$RPM_BUILD_ROOT" != "%{homedir}/rpm-build/INSTALL" ]
95 echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
97 echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @
99 echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
102 echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT"
103 rm -rf $RPM_BUILD_ROOT
110 %defattr(-,root,root)
112 /usr/bin/i386-elf-sid
113 /usr/bin/configrun-sid
114 /usr/bin/m68k-elf-sid
115 /usr/bin/m32r-elf-sid
119 /usr/bin/sh64-elf-sid
120 /usr/bin/xstormy16-elf-sid
124 /usr/include/sidcomp.h
126 /usr/include/sidtypes.h
135 /usr/share/sidsamples
137 %doc ../%{sourcesdir}/sid/COPYING
138 %doc ../%{sourcesdir}/sid/COPYING.SID