OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: r...@openpkg.org Module: openpkg-src Date: 08-Jul-2009 10:45:57 Branch: HEAD Handle: 2009070809455600 Added files: openpkg-src/dyncall dyncall.spec Log: new package: dyncall 0.4 (Dynamic Foreign Function Call Library) Summary: Revision Changes Path 1.1 +96 -0 openpkg-src/dyncall/dyncall.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/dyncall/dyncall.spec ============================================================================ $ cvs diff -u -r0 -r1.1 dyncall.spec --- /dev/null 2009-07-08 10:45:56 +0200 +++ dyncall.spec 2009-07-08 10:45:57 +0200 @@ -0,0 +1,96 @@ +## +## dyncall.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/> +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: dyncall +Summary: Dynamic Foreign Function Call Library +URL: http://dyncall.org/ +Vendor: Daniel Adler, Tassilo Philipp +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: EVAL +Group: Compiler +License: MIT +Version: 0.4 +Release: 20090708 + +# list of sources +Source0: http://dyncall.org/r%{version}/dyncall-%{version}.tar.gz + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20060823, make, gcc +PreReq: OpenPKG, openpkg >= 20060823 +AutoReq: no +AutoReqProv: no + +%description + The dyncall library encapsulates architecture-, OS- and + compiler-specific function call semantics in a virtual "bind + argument parameters from left to right and then call" interface + allowing programmers to call C functions in a completely dynamic + manner. In other words, instead of calling a function directly, + the dyncall library provides a mechanism to push the function + parameters manually and to issue the call afterwards. This means, + that a program can determine at runtime what function to call, and + what parameters to pass to it. The library is written in C and + assembly and provides a very simple C interface to program against. + The library comes in very handy to power flexible message systems, + dynamic function call dispatch mechanisms, closure implementations + or even to bridge different programming languages. When it comes + to language bindings, the dyncall library provides a clean and + portable C interface to dynamically issue calls to foreign code + using small call kernels written in assembly. Instead of providing + code for every bridged function call, which unnecessarily results in + code bloat, only a couple of instructions are used to invoke every + possible call. + +%track + prog dyncall = { + version = %{version} + url = http://dyncall.org/download.shtml + regex = dyncall-(__VER__)\.tar\.gz + } + +%prep + %setup -q + +%build + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + ./configure \ + --prefix=%{l_prefix} + %{l_make} %{l_mflags -O} + +%install + rm -rf $RPM_BUILD_ROOT + %{l_make} %{l_mflags} install CONFIG_PREFIX=$RPM_BUILD_ROOT%{l_prefix} + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT + @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org