mico/mico.spec

Wed, 07 Jan 2009 17:20:34 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 07 Jan 2009 17:20:34 +0100
changeset 27
302190459977
parent 5
3715407014ea
child 85
e6a1cd7ed6ba
permissions
-rw-r--r--

Import package vendor original specs for necessary manipulations.

     1 ##
     2 ##  mico.spec -- OpenPKG RPM Package Specification
     3 ##  Copyright (c) 2000-2008 OpenPKG Foundation e.V. <http://openpkg.net/>
     4 ##
     5 ##  Permission to use, copy, modify, and distribute this software for
     6 ##  any purpose with or without fee is hereby granted, provided that
     7 ##  the above copyright notice and this permission notice appear in all
     8 ##  copies.
     9 ##
    10 ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    11 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    12 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    13 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    14 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    15 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    16 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    17 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    18 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    19 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    20 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    21 ##  SUCH DAMAGE.
    22 ##
    24 #   package information
    25 Name:         mico
    26 Summary:      CORBA Toolkit
    27 URL:          http://www.mico.org/
    28 Vendor:       The MICO Project
    29 Packager:     OpenPKG Foundation e.V.
    30 Distribution: OpenPKG Community
    31 Class:        PLUS
    32 Group:        RPC
    33 License:      LGPL/GPL
    34 Version:      2.3.13
    35 Release:      20081215
    37 #   package options
    38 %option       with_ssl      no
    39 %option       with_x11      no
    40 %option       with_qt       no
    41 %option       with_gtk      no
    42 %option       with_tcl      no
    44 #   list of sources
    45 Source0:      http://www.mico.org/mico-%{version}.tar.gz
    46 Source2:      rc.mico
    48 #   build information
    49 Prefix:       %{l_prefix}
    50 BuildRoot:    %{l_buildroot}
    51 BuildPreReq:  OpenPKG, openpkg >= 20060823, gcc, make
    52 PreReq:       OpenPKG, openpkg >= 20060823
    53 %if "%{with_ssl}" == "yes"
    54 BuildPreReq:  openssl
    55 PreReq:       openssl
    56 %endif
    57 %if "%{with_x11}" == "yes"
    58 BuildPreReq:  X11
    59 PreReq:       X11
    60 %endif
    61 %if "%{with_qt}" == "yes"
    62 BuildPreReq:  qt < 4, pkgconfig
    63 PreReq:       qt < 4
    64 %endif
    65 %if "%{with_gtk}" == "yes"
    66 BuildPreReq:  gtk
    67 PreReq:       gtk
    68 %endif
    69 %if "%{with_tcl}" == "yes"
    70 BuildPreReq:  tcl
    71 PreReq:       tcl
    72 %endif
    73 AutoReq:      no
    74 AutoReqProv:  no
    76 %description
    77     The acronym MICO expands to MICO Is CORBA. The intention of this
    78     project is to provide a freely available and fully compliant
    79     implementation of the CORBA standard. The following design
    80     principles guided the implementation of MICO:
    81     - Start from scratch, and only use standard APIs (Posix/Win32)
    82     - Don't rely on propietary or specialized libraries
    83     - Use standard C++ for the implementation
    84     - Only make use of widely available, free, non-proprietary tools
    85     - Only implement what is required for a CORBA compliant implementation
    86     - Provide a clear design even for implementation internals
    88 %track
    89     prog mico = {
    90         version   = %{version}
    91         url       = http://www.mico.org/down.html
    92         regex     = mico-(__VER__)\.tar\.gz
    93     }
    95 %prep
    96     %setup -q -n mico
    98 %build
    99     CC="%{l_cc}"
   100     CXX="%{l_cxx}"
   101     CFLAGS="%{l_cflags -O}"
   102     CXXFLAGS="%{l_cxxflags -O} -Wno-deprecated"
   103     CPPFLAGS="%{l_cppflags}"
   104     includedir=""
   105 %if "%{with_qt}" == "yes"
   106     CFLAGS="$CFLAGS `%{l_prefix}/bin/pkg-config --cflags-only-other qt`"
   107     CXXFLAGS="$CXXFLAGS `%{l_prefix}/bin/pkg-config --cflags-only-other qt`"
   108     CPPFLAGS="$CPPFLAGS `%{l_prefix}/bin/pkg-config --cflags-only-I qt`"
   109     includedir="$includedir %{l_prefix}/include/qt"
   110     LDFLAGS="$LDFLAGS `%{l_prefix}/bin/pkg-config --libs-only-L qt`"
   111 %endif
   112 %if "%{with_ssl}" == "yes"
   113     includedir="$includedir %{l_prefix}/include/openssl"
   114 %endif
   115 %if "%{with_gtk}" == "yes"
   116     includedir="$includedir %{l_prefix}/include/gtk"
   117 %endif
   118 %if "%{with_tcl}" == "yes"
   119     includedir="$includedir %{l_prefix}/include/tcl"
   120 %endif
   121     for dir in $includedir; do
   122         CPPFLAGS="$CPPFLAGS -I$dir"
   123     done
   124     LDFLAGS="%{l_ldflags}"
   125     JAVAC=no
   126     export CC CXX CFLAGS CXXFLAGS CPPFLAGS LDFLAGS JAVAC
   127     ./configure \
   128         --prefix=%{l_prefix} \
   129 %if "%{with_ssl}" == "yes"
   130         --with-ssl=%{l_prefix} \
   131 %endif
   132 %if "%{with_x11}" == "yes"
   133         --with-x \
   134         --x-includes=`%{l_rc} --query x11_incdir` \
   135         --x-libraries=`%{l_rc} --query x11_libdir` \
   136 %else
   137         --without-x \
   138 %endif
   139 %if "%{with_qt}" == "yes"
   140         --with-qt=%{l_prefix} \
   141 %endif
   142 %if "%{with_gtk}" == "yes"
   143         --with-gtk=%{l_prefix} \
   144 %endif
   145 %if "%{with_tcl}" == "yes"
   146         --with-tcl=%{l_prefix} \
   147 %endif
   148         --disable-mini-stl \
   149         --disable-shared
   150     touch cpp/.depend
   151     %{l_make} %{l_mflags -O}
   153 %install
   154     rm -rf $RPM_BUILD_ROOT
   156     #   make directory structure
   157     %{l_shtool} mkdir -f -p -m 755 \
   158         $RPM_BUILD_ROOT%{l_prefix}/bin \
   159         $RPM_BUILD_ROOT%{l_prefix}/lib \
   160         $RPM_BUILD_ROOT%{l_prefix}/include/mico \
   161         $RPM_BUILD_ROOT%{l_prefix}/include/coss \
   162         $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
   163         $RPM_BUILD_ROOT%{l_prefix}/var/mico \
   164         $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
   165         $RPM_BUILD_ROOT%{l_prefix}/man/man5 \
   166         $RPM_BUILD_ROOT%{l_prefix}/man/man8
   168     #   install binaries, libraries, headers
   169     %{l_make} %{l_mflags} install \
   170         LDCONFIG=true \
   171         INSTDIR=$RPM_BUILD_ROOT%{l_prefix} \
   172         SHARED_INSTDIR=$RPM_BUILD_ROOT%{l_prefix}
   174     #   install our own things
   175     %{l_shtool} install -c -m 755 %{l_value -s -a} \
   176         %{SOURCE rc.mico} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
   178     #   cleanup installation files
   179     rm -rf $RPM_BUILD_ROOT%{l_prefix}/doc
   180     rm -rf $RPM_BUILD_ROOT%{l_prefix}/include/ministl
   181     rm -f  $RPM_BUILD_ROOT%{l_prefix}/lib/mico-setup.*
   182     strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
   183     ( cd $RPM_BUILD_ROOT%{l_prefix}/lib
   184       for name in mico micoaux micocoss micoir; do
   185           mv lib${name}%{version}.a lib${name}.a
   186       done
   187 %if "%{with_x11}" == "yes"
   188       mv libmicox%{version}.a libmicox.a
   189 %endif
   190 %if "%{with_qt}" == "yes"
   191       mv libmicoqt%{version}.a libmicoqt.a
   192 %endif
   193 %if "%{with_gtk}" == "yes"
   194       mv libmicogtk%{version}.a libmicogtk.a
   195 %endif
   196 %if "%{with_tcl}" == "yes"
   197       mv libmicotcl%{version}.a libmicotcl.a
   198 %endif
   199     ) || exit $?
   201     #   generate files listing
   202     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \
   203         '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/mico'
   205 %files -f files
   207 %clean
   208     rm -rf $RPM_BUILD_ROOT
   210 %pre
   211     #   before upgrade, save status and stop service
   212     [ $1 -eq 2 ] || exit 0
   213     eval `%{l_rc} mico status 2>/dev/null | tee %{l_tmpfile}`
   214     %{l_rc} mico stop 2>/dev/null
   215     exit 0
   217 %post
   218     if [ $1 -eq 2 ]; then
   219         #   after upgrade, restore status
   220         eval `cat %{l_tmpfile}`; rm -f %{l_tmpfile}
   221         [ ".$mico_active" = .yes ] && %{l_rc} mico start
   222     fi
   223     exit 0
   225 %preun
   226     #   before erase, stop service
   227     [ $1 -eq 0 ] || exit 0
   228     %{l_rc} mico stop 2>/dev/null
   229     exit 0

mercurial