Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37048467
en ru br
ALT Linux repos
S:3.1.2-alt2.1
5.0: 1.8.7-alt7
4.1: 1.8.7-alt0.M41.5
4.0: 1.8.6-alt2.M40.2
3.0: 1.8.2-alt7

Group :: Development/Ruby
RPM: ruby

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

# hey Emacs, its -*- rpm-spec -*-
# vim: set ft=spec fdm=marker :

# {{{ Defines

%define name ruby
%define version 1.8.6
%define release 2.M40.2
%define subver %(echo %version |cut -d. -f1,2)
%define rubylibdir %_datadir/%name/%subver
%define archdir %_libdir/%name/%subver/%_target_cpu-%_target_os%_gnu
%define vendordir %_datadir/%name/vendor_ruby/%subver
%define vendorarchdir %_libdir/%name/vendor_ruby/%subver/%_target_cpu-%_target_os%_gnu
%define rubyincludedir %_includedir/%name/%subver
%define ruby_ri_systemdir %_datadir/ri/%subver

%def_with emacs

%set_verify_elf_method fhs=normal
# }}}

# {{{ General

Packager: Ruby Maintainers Team <ruby at packages.altlinux.org>

BuildRequires: emacs-common groff-base libdb4-devel libgdbm-devel libncurses-devel libreadline-devel libssl-devel tk-devel zlib-devel

Name: %name
Version: %version
Release: alt%release
Summary: Interpreter of object-oriented scripting language Ruby %subver
License: Dual: GPL and Ruby
Url: http://www.ruby-lang.org/
Group: Development/Ruby

Requires: lib%name = %version-%release

# }}}


# {{{ Sources and Patches

Source: %name-%version-%release.tar.bz2
# }}}

# {{{ Description

%description
Ruby is the interpreted scripting language for quick and easy
object-oriented programming. It has many features to process text
files and to do system management tasks (as in perl). It is simple,
straight-forward, and extensible.
Interpreter of object-oriented scripting language Ruby %subver.
# }}}

# Subpackages {{{


# {{{ lib%name

%package -n lib%name
Summary: Libraries necessary to run the Ruby %subver
Group: System/Libraries
Provides: %archdir
Provides: %rubylibdir
Provides: %vendorarchdir
Provides: %vendordir

%description -n lib%name
Ruby is the interpreted scripting language for quick and easy
object-oriented programming. It has many features to process text
files and to do system management tasks (as in perl). It is simple,
straight-forward, and extensible.
This package includes the libruby, necessary to run Ruby %subver.
# }}}

# {{{ lib%name-devel

%package -n lib%name-devel
Summary: Header files for compiling extension modules for the Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release
Requires: rpm-build-%name = %version-%release
Requires: %name-module-fileutils
Requires: %name-module-shell
Requires: %name-tool-rdoc

%description -n lib%name-devel
Ruby is the interpreted scripting language for quick and easy
object-oriented programming. It has many features to process text
files and to do system management tasks (as in perl). It is simple,
straight-forward, and extensible.
This package contains the header files, necessary to make extension
library for Ruby %subver.
# }}}

# {{{ lib%name-devel-static

%package -n lib%name-devel-static
Summary: Statically linked Ruby %subver library
Group: Development/Ruby
Requires: lib%name-devel = %version-%release

%description -n lib%name-devel-static
Ruby is the interpreted scripting language for quick and easy
object-oriented programming. It has many features to process text
files and to do system management tasks (as in perl). It is simple,
straight-forward, and extensible.
This package includes statically linked Ruby %subver library needed for
embedding Ruby in other applications.
# }}}

# {{{ %name-doc-examples

%package -n %name-doc-examples
Summary: This package provides example programs about Ruby %subver
Group: Development/Ruby

%description -n %name-doc-examples
Ruby is the interpreted scripting language for quick and easy
object-oriented programming. It has many features to process text
files and to do system management tasks (as in perl). It is simple,
straight-forward, and extensible.
# }}}

# {{{ %name-doc-ri

%package -n %name-doc-ri
Summary: This package provides ri documentation for Ruby %subver
Group: Development/Ruby
Requires: %name-tool-ri
Requires: lib%name = %version-%release

%description -n %name-doc-ri
This package provides ri documentation for Ruby %subver
# }}}

# {{{ %name-misc-elisp

%if_with emacs
%package -n %name-misc-elisp
Summary: ruby-mode for Emacsen
Group: Development/Ruby
Provides: emacs-ruby-mode
Requires: emacs-common

%description -n %name-misc-elisp
This package provides major-mode for editing Ruby scripts and some
emacs-lisp programs for Ruby programmers.
%endif
# }}}

# {{{ %name-module-English

%package -n %name-module-English
Summary: Lets Perl'ish global variables have English names for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-English
Lets Perl'ish global variables have English names for Ruby %subver
# }}}

# {{{ %name-module-bigdecimal

%package -n %name-module-bigdecimal
Summary: Variable precision floating library for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-bigdecimal
BigDecimal is an extension library for the Ruby interpreter. Using
BigDecimal class, you can obtain any number of significant digits in
computation.
This package provides BigDecimal library for Ruby %subver.
# }}}

# {{{ %name-module-cgi

%package -n %name-module-cgi
Summary: CGI support for Ruby %subver
Group: Development/Ruby
Requires: %name-module-English %name-module-patterns
Requires: lib%name = %version-%release

%description -n %name-module-cgi
CGI support for Ruby %subver
# }}}

# {{{ %name-module-curses

%package -n %name-module-curses
Summary: Curses interface for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-curses
This package provides an extension library "curses" for Ruby %subver.
The library makes Ruby programs to be able to use functions of the
curses library.
# }}}

# {{{ %name-module-date-time

%package -n %name-module-date-time
Summary: Date utils and time for Ruby %subver
Group: Development/Ruby
Requires: %name-module-math
Requires: lib%name = %version-%release

%description -n %name-module-date-time
Date and time utils for Ruby %subver
# }}}

# {{{ %name-module-dbm

%package -n %name-module-dbm
Summary: DBM interface for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-dbm
This package provides an extension library "dbm" for Ruby %subver. The
library makes Ruby programs to be able to access to a DBM file.
On ALT, the extension library is built with GDBM.
# }}}

# {{{ %name-module-debug

%package -n %name-module-debug
Summary: Debug tools for for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-debug
Debug tools for for Ruby %subver
# }}}

# {{{ %name-module-digest

%package -n %name-module-digest
Summary: Digest library
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-digest
Digest library
# }}}

# {{{ %name-module-dl

%package -n %name-module-dl
Summary: Extension library to use dynamic linker from Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-dl
Ruby/DL provides an interface to the dynamic linker such as dlopen() on
UNIX and LoadLibrary() on MS-Windows.
This package provides Ruby/DL library for Ruby %subver.
# }}}

# {{{ %name-module-drb

%package -n %name-module-drb
Summary: Distributed Ruby (for Ruby %subver)
Group: Development/Ruby
Requires: %name-module-fcntl %name-module-socket %name-module-thread
Requires: lib%name = %version-%release

%description -n %name-module-drb
An implementation of distributed object system by pure Ruby. dRuby
(DRb) can send message to other ruby script that like Java's RMI.
This package provides the dRuby library for Ruby %subver.
# }}}

# {{{ %name-module-e2mmap

%package -n %name-module-e2mmap
Summary: Exception to message mapper for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-e2mmap
Exception to message mapper for Ruby %subver
# }}}

# {{{ %name-module-env

%package -n %name-module-env
Summary: Module env
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-env
Module env
# }}}

# {{{ %name-module-enumerator

%package -n %name-module-enumerator
Summary: Module Enumerator
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-enumerator
Module Enumerator
# }}}

# {{{ %name-module-erb

%package -n %name-module-erb
Summary: Tiny eRuby (for Ruby %subver)
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-erb
ERb is yet another implementation of eRuby (embedded Ruby, an interpreter
of the Ruby object-oriented language). It is written as pure Ruby script.
This package provides erb command (erb%subver) and ERb library for Ruby %subver.
# }}}

# {{{ %name-module-etc

%package -n %name-module-etc
Summary: The  module to retrieve information under /etc director
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-etc
The  module to retrieve information under /etc directory.  Avail-
able only on UNIX platforms.  All operations defined in this mod-
ule are module functions, so that you can include Etc module into
your class.
# }}}

# {{{ %name-module-fcntl

%package -n %name-module-fcntl
Summary: fcntl - load the C fcntl.h defines
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-fcntl
This module is just a translation of the C <fnctl.h> file.
# }}}

# {{{ %name-module-fileutils

%package -n %name-module-fileutils
Summary: File utilities for Ruby %subver
Group: Development/Ruby
Requires: %name-module-patterns
Requires: lib%name = %version-%release

%description -n %name-module-fileutils
File utilities for Ruby %subver
# }}}

# {{{ %name-module-gdbm

%package -n %name-module-gdbm
Summary: GDBM interface for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-gdbm
This package provides an extension library "gdbm" for Ruby %subver.  The
library makes Ruby %subver programs to be able to access to a DBM file.
# }}}

# {{{ %name-module-iconv

%package -n %name-module-iconv
Summary: A Wrapper class of iconv for the Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-iconv
A wrapper class of iconv(3) for the Ruby %subver, which translates string
between various coding systems.
This package provides the iconv library for Ruby %subver.
# }}}

# {{{ %name-module-math

%package -n %name-module-math
Summary: Math module
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-math
Math module
# }}}

# {{{ %name-module-misc

%package -n %name-module-misc
Summary: Miscellaneous Ruby %subver library
Group: Development/Ruby
Obsoletes: %name-module-stdlibs
Provides: %name-module-stdlibs = %version-%release
Requires: lib%name = %version-%release

%description -n %name-module-misc
Miscellaneous Ruby %subver modules
# }}}

# {{{ %name-module-net

%package -n %name-module-net
Summary: Support some network protocols for the Ruby %subver
Group: Development/Ruby
Requires: %name-module-English %name-module-date-time %name-module-digest
Requires: %name-module-openssl %name-module-patterns %name-module-socket
Requires: %name-module-thread %name-module-uri
Requires: lib%name = %version-%release

%description -n %name-module-net
This package provides support FTP, HTTP, HTTPS, IMAP, POP3, SMTP and
TELNET for Ruby %subver.
# }}}

# {{{ %name-module-nkf

%package -n %name-module-nkf
Summary: Kanji code converter for the Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-nkf
This package provides kanji code converter for Ruby %subver.
# }}}

# {{{ %name-module-open3

%package -n %name-module-open3
Summary: Library that opens subprocess connection stdin/stdout/stderr for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-open3
Library that opens subprocess connection stdin/stdout/stderr for Ruby %subver
# }}}

# {{{ %name-module-openssl

%package -n %name-module-openssl
Summary: OpenSSL interface for Ruby %subver
Group: Development/Ruby
Requires: %name-module-net = %version-%release
Requires: %name-module-socket = %version-%release %name-module-fcntl = %version-%release
Requires: lib%name = %version-%release

%description -n %name-module-openssl
Ruby/OpenSSL makes Ruby to be able to use OpenSSL. It includes HTTP
and TELNET protocols' SSL/TLS support.
This package provides Ruby/OpenSSL for Ruby %subver.
# }}}

# {{{ %name-module-optparse

%package -n %name-module-optparse
Summary: OptionParser class for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-optparse
Command-line option analysis with the OptionParser class for Ruby %subver.
# }}}

# {{{ %name-module-patterns

%package -n %name-module-patterns
Summary: Singleton design pattern library for Ruby %subver
Group: Development/Ruby
Requires: %name-module-thread
Requires: lib%name = %version-%release

%description -n %name-module-patterns
Design pattern library for Ruby %subver
# }}}

# {{{ %name-module-pty

%package -n %name-module-pty
Summary: Pseudo tty interface for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-pty
This package provides an extension library "pty" for Ruby %subver. This
extension library makes Ruby programs to be able to execute an
arbitrary command through pseudo tty (pty).
# }}}

# {{{ %name-module-racc-runtime

%package -n %name-module-racc-runtime
Summary: Runtime library for parser which is generated by Racc (Ruby %subver)
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-racc-runtime
Racc (Ruby yACC) is a LALR(1) parser generator for Ruby.
This package provides runtime library for parser which is generated
by Racc.
# }}}

# {{{ %name-module-readline

%package -n %name-module-readline
Summary: Readline interface for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-readline
This package provides an extension library "readline" for Ruby %subver.
The library makes Ruby programs to be able to use functions (line
editing, history, completion, etc.) of the readline library(3).
# }}}

# {{{ %name-module-rexml

%package -n %name-module-rexml
Summary: pure Ruby non-validating XML parser supporting Namespaces, XPath
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-rexml
REXML is a XML parser for Ruby written purely in Ruby so you don't
need to install any binary libraries. It includes a DOM-like API
which fits the Ruby-way of human-oriented programming much more than
the DOM and a SAX-like streaming API. Additionally you can apply
XPath-expressions to the tree.  REXML also has support for
XML-Namespaces.
# }}}

# {{{ %name-module-rss

%package -n %name-module-rss
Summary: RSS support for Ruby
Group: Development/Ruby
Requires: %name-module-patterns %name-module-rexml %name-module-uri
Requires: lib%name = %version-%release

%description -n %name-module-rss
RSS support for Ruby.
# }}}

# {{{ %name-module-sdbm

%package -n %name-module-sdbm
Summary: SDBM interface for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-sdbm
This package provides an extension library "sdbm" for Ruby %subver. The
library makes Ruby %subver programs to be able to access to a SDBM file.
SDBM is ndbm work-alike hashed database library based on Per-Aake
Larson's Dynamic Hashing algorithms. BIT 18 (1978).
# }}}

# {{{ %name-module-shell

%package -n %name-module-shell
Summary: Provides operations like shell for Ruby %subver
Group: Development/Ruby
Requires: %name-module-e2mmap %name-module-fileutils %name-module-thread
Requires: lib%name = %version-%release

%description -n %name-module-shell
Runs commands and does pipeline operations like shell.
# }}}

# {{{ %name-module-soap

%package -n %name-module-soap
Summary: Ruby's SOAP implementation for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-soap
'SOAP4R' is an implementation of SOAP 1.1. It provides SOAP and WSDL
modules.
This package provides SOAP4R for Ruby %subver.
# }}}

# {{{ %name-module-socket

%package -n %name-module-socket
Summary: Sockets support for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-socket
This package provides sockets for Ruby %subver.
# }}}

# {{{ %name-module-stringio

%package -n %name-module-stringio
Summary: Pseudo IO class from/to String
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-stringio
Pseudo IO class from/to String.
# }}}

# {{{ %name-module-strscan

%package -n %name-module-strscan
Summary: Fast string scanning library for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-strscan
strscan provides a lexical scanner class which is called
StringScanner. The instance tries to match with regexp for some
strings. If matched then the scanner advances the internal pointer
and returns the matched string.
This package provides the strscan library for Ruby %subver.
# }}}

# {{{ %name-module-syslog

%package -n %name-module-syslog
Summary: UNIX syslog(3) interface for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-syslog
A Simple wrapper for the UNIX syslog system calls that might be handy
if you're writing a server in Ruby. For the details of the syslog(8)
architecture and constants, see the syslog(3) manual page of your
platform.
This package provides the syslog library for Ruby %subver.
# }}}

# {{{ %name-module-tcltk

%package -n %name-module-tcltk
Summary: Tcl/Tk interface for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-tcltk
tcltklib is an extension library for Ruby %subver. It makes Ruby %subver
programs to be able to use low level interface for the Tcl/Tk.
# }}}

# {{{ %name-module-test-unit

%package -n %name-module-test-unit
Summary: unit-testing framework for Ruby %subver
Group: Development/Ruby
Requires: %name-module-optparse
Requires: lib%name = %version-%release

%description -n %name-module-test-unit
Test::Unit allows you to easily and flexibly write testing code for
your Ruby classes and modules. The general idea behind unit testing
is that you write a test method that makes certain assertions about
your code, working against a test fixture. A bunch of these test
methods are bundled up into a test suite and can be run any time the
developer wants. The results of a run are gathered in a test result
and displayed to the user through some UI. Test::Unit also has a
compatibility layer for RubyUnit, the old unit testing framework for
Ruby.
This package provides Test::Unit library for Ruby %subver.
# }}}

# {{{ %name-module-thread

%package -n %name-module-thread
Summary: Thread support for Ruby %subver
Group: Development/Ruby
Requires: %name-module-e2mmap
Requires: lib%name = %version-%release

%description -n %name-module-thread
Thread support for Ruby %subver
# }}}

# {{{ %name-module-tk

%package -n %name-module-tk
Summary: Tk interface for Ruby %subver
Group: Development/Ruby
Requires: %name-module-tcltk = %version-%release
Requires: lib%name = %version-%release

%description -n %name-module-tk
Ruby/Tk is an extension library for Ruby %subver. It provides interface
to the Tk library. This is built on top of the Ruby/tcltklib library
# }}}

# {{{ %name-module-tracer

%package -n %name-module-tracer
Summary: Execution tracer for Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-tracer
Execution tracer for Ruby %subver
# }}}

# {{{ %name-module-uri

%package -n %name-module-uri
Summary: URI manipulation for Ruby %subver
Group: Development/Ruby
Requires: %name-module-English %name-module-date-time %name-module-stringio
Requires: lib%name = %version-%release

%description -n %name-module-uri
URI manipulation for Ruby %subver
# }}}

# {{{ %name-module-wait

%package -n %name-module-wait
Summary: IO wait methods for Ruby %subver
Group: Development/Ruby
Requires: %name-module-fcntl = %version-%release
Requires: lib%name = %version-%release

%description -n %name-module-wait
IO wait methods for Ruby %subver
# }}}

# {{{ %name-module-webrick

%package -n %name-module-webrick
Summary: Simple HTTP Server Toolkit for Ruby %subver
Group: Development/Ruby
Requires: %name-module-date-time %name-module-digest %name-module-erb %name-module-fcntl %name-module-fileutils %name-module-socket %name-module-uri
Requires: lib%name = %version-%release

%description -n %name-module-webrick
WEBrick is a Ruby library program to build HTTP servers. It supports
static file, CGI program, servlet like environment, basic and digest
authentication, access log, HTTPS service, HTTP proxy, etc.
This package provides WEBrick library for Ruby %subver.
# }}}

# {{{ %name-module-xmlrpc

%package -n %name-module-xmlrpc
Summary: XML-RPC support for Ruby %subver
Group: Development/Ruby
Requires: %name-module-date-time %name-module-net
Requires: lib%name = %version-%release

%description -n %name-module-xmlrpc
XML-RPC provides remote procedure calls over HTTP with XML. It is
like SOAP but much easier. For more information see the XML-RPC
homepage <URL:http://www.xmlrpc.com/>.
This package provides XML-RPC support for Ruby %subver.
# }}}

# {{{ %name-module-yaml

%package -n %name-module-yaml
Summary: YAML for Ruby %subver
Group: Development/Ruby
Requires: %name-module-date-time %name-module-stringio
Requires: lib%name = %version-%release

%description -n %name-module-yaml
YAML(tm) (rhymes with "camel") is a straightforward machine parsable
data serialization format designed for human readability and
interaction with scripting languages such as Perl and Python. YAML is
optimized for data serialization, formatted dumping, configuration
files, log files, Internet messaging and filtering.
This package contains YAML handling library for Ruby %subver.
# }}}

# {{{ %name-module-zlib

%package -n %name-module-zlib
Summary: Extension library to use zlib from Ruby %subver
Group: Development/Ruby
Requires: lib%name = %version-%release

%description -n %name-module-zlib
Ruby/zlib is a extension library which makes Ruby to be able to use
zlib library. It also provides the features for accessing gzipped
files.
This package provides Ruby/zlib library for Ruby %subver.
# }}}

# {{{ %name-tool-irb

%package -n %name-tool-irb
Summary: Interactive Ruby (for Ruby %subver)
Group: Development/Ruby
Obsoletes: %name < 1.8.5-alt2
Requires: %name = %version-%release
Requires: %name-module-e2mmap
Requires: lib%name = %version-%release

%description -n %name-tool-irb
The irb is acronym for Interactive RuBy. It evaluates Ruby expression from
the terminal.
This package provides the irb which uses Ruby %subver.
# }}}

# {{{ %name-tool-rdoc

%package -n %name-tool-rdoc
Summary: Generate documentation from Ruby source files (for Ruby %subver)
Group: Development/Ruby
Obsoletes: %name < 1.8.5-alt2
Requires: %name = %version-%release
Requires: %name-module-cgi %name-module-e2mmap %name-module-fileutils %name-module-optparse
Requires: %name-module-patterns %name-module-tracer %name-module-yaml %name-tool-irb
Requires: lib%name = %version-%release

%description -n %name-tool-rdoc
RDoc - Documentation from Ruby Source Files:
* Generates structured HTML and XML documentation from Ruby source
and C extensions.
* Automatically extracts class, module, method, and attribute
definitions. These can be annotated using inline comments.
* Analyzes method visibility.
* Handles aliasing.
* Uses non-intrusive and implicit markup in the comments. Readers of
the original source needn't know that it is marked up at all.
This package provides the RDoc tool which uses Ruby %subver.

# }}}


# {{{ %name-tool-ri

%package -n %name-tool-ri
Summary: Ruby Interactive reference (for Ruby %subver)
Group: Development/Ruby
Obsoletes: %name < 1.8.5-alt2
Requires: %name = %version-%release
Requires: %name-tool-rdoc
Requires: lib%name = %version-%release

%description -n %name-tool-ri
ri is a command line tool that displays descriptions of built-in Ruby
methods, classes, and modules. For methods, it shows you the calling
sequence and a description. For classes and modules, it shows a
synopsis along with a list of the methods the class or module
implements.
This package provides ri command and descriptions about Ruby %subver.
# }}}

# {{{ %name-stdlibs

%package -n %name-stdlibs
Summary: Standard Ruby %subver library
Group: Development/Ruby
Requires: lib%name = %version-%release
Obsoletes: %name-stdlibs-tk
Provides: %name-stdlibs-tk = %version-%release
# Generated automaticly
#  at  at  at  Do not edit by hand
Requires: %name-module-English
Requires: %name-module-bigdecimal
Requires: %name-module-cgi
Requires: %name-module-curses
Requires: %name-module-date-time
Requires: %name-module-dbm
Requires: %name-module-debug
Requires: %name-module-digest
Requires: %name-module-dl
Requires: %name-module-drb
Requires: %name-module-e2mmap
Requires: %name-module-env
Requires: %name-module-enumerator
Requires: %name-module-erb
Requires: %name-module-etc
Requires: %name-module-fcntl
Requires: %name-module-fileutils
Requires: %name-module-gdbm
Requires: %name-module-iconv
Requires: %name-module-math
Requires: %name-module-misc
Requires: %name-module-net
Requires: %name-module-nkf
Requires: %name-module-open3
Requires: %name-module-openssl
Requires: %name-module-optparse
Requires: %name-module-patterns
Requires: %name-module-pty
Requires: %name-module-racc-runtime
Requires: %name-module-readline
Requires: %name-module-rexml
Requires: %name-module-rss
Requires: %name-module-sdbm
Requires: %name-module-shell
Requires: %name-module-soap
Requires: %name-module-socket
Requires: %name-module-stringio
Requires: %name-module-strscan
Requires: %name-module-syslog
Requires: %name-module-tcltk
Requires: %name-module-test-unit
Requires: %name-module-thread
Requires: %name-module-tk
Requires: %name-module-tracer
Requires: %name-module-uri
Requires: %name-module-wait
Requires: %name-module-webrick
Requires: %name-module-xmlrpc
Requires: %name-module-yaml
Requires: %name-module-zlib
#  at  at  at  End of generated code

%description -n %name-stdlibs
Standard Ruby %subver library. Virtual package that requires all modules
from standard ruby distribution.
# }}}

# {{{ rpm-build-%name

%package -n rpm-build-%name
Summary: RPM helper macros to rebuild ruby packages
Group: Development/Ruby

%description -n rpm-build-%name
These helper macros provide possibility to rebuild ruby packages
by some Alt Linux Team Policy compatible way.
# }}}

# }}} Subpackages


# {{{ Prep

%prep
%setup -q -n %name-%version-%release
iconv -f cp1251 -t koi8-r README.ALT-CP1251 -o README.ALT-KOI8-R
# }}}

# {{{ Build

%build

# {{{ Configure

%__autoconf

LDSHARED='gcc -shared' %configure \
         --enable-frame-address \
         --with-sitedir=%_prefix/local/share/ruby/site_ruby \
         --with-default-kcode=none \
         --enable-shared \
         --enable-ipv6 \
         --with-lookup-order-hack=INET \
 --disable-rpath
# }}}

# Hack to pass mkmf checks for socket as it tries to run tests in extensions

# linked against libruby.so which isn't in a LD's path yet
export LD_LIBRARY_PATH=%_builddir/ruby

%make_build
strip %name
strip lib%name.so.%version
%__make test
%__make rdoc

# {{{ ruby-elisp

%if_with emacs
for i in misc/*.el ; do
   emacs -batch --eval "(progn
           (setq load-path (append (list \".\") load-path))
           (byte-compile-file \"$i\"))"
done
%endif
# }}}
# }}}

# {{{ Install

%install
%makeinstall DESTDIR=%buildroot
%make DESTDIR=%buildroot  do-install-doc

%__mkdir %buildroot/bin
%__mkdir %buildroot/%_lib
%__mv %buildroot%_bindir/%name %buildroot/bin/%name
%__ln_s /bin/%name  %buildroot%_bindir/%name
%__mv %buildroot%_libdir/lib%name.so %buildroot/%_lib/lib%name.so
%__mv %buildroot%_libdir/lib%name.so.%subver %buildroot/%_lib/lib%name.so.%subver
%__mv %buildroot%_libdir/lib%name.so.%version %buildroot/%_lib/lib%name.so.%version

%__mkdir_p %buildroot%_menudir/
%__install -m 644 erb.1 %buildroot%_man1dir/
%__install -m 644 irb.1 %buildroot%_man1dir/
%__install -m 644 irb.menu %buildroot%_menudir/
%__install -m 644 rdoc.1 %buildroot%_man1dir/
%__install -m 644 ri.1 %buildroot%_man1dir/
%__install -m 644 testrb.1 %buildroot%_man1dir/

# {{{ ruby-elisp

%__mkdir_p %buildroot/etc/emacs/site-start.d/
%__mkdir_p %buildroot%_emacslispdir/
%__install -m 644 ruby.el %buildroot/etc/emacs/site-start.d/
%__install -m 644 misc/*.el* %buildroot%_emacslispdir/
# }}}

# {{{ Generate RPM macros

%__mkdir -p %buildroot%_sysconfdir/rpm/macros.d
./miniruby -e '
   VENDOR_SPECIFIC=true unless defined?(VENDOR_SPECIFIC)
   require "./rbconfig"
   include Config
   ["sitearchdir", "sitelibdir", "archdir", "rubylibdir"].each do |dir|
puts "%%%%ruby_%%s #{CONFIG[dir]}" %% dir.gsub(/ruby/,"")
   end
   puts "%%ruby_begin ruby -e '\''"
   puts "%%ruby_end '\''"
   puts "%%ruby_ri_sitedir     %_datadir/ri/%subver/site"
   puts "%%rdoc  DESTDIR=\"%%buildroot\" rdoc --ri-site --all"
   puts "%%ruby_vendor ruby -rvendor-specific"
   puts "%%ruby_configure ruby -rvendor-specific extconf.rb --ruby=%_bindir/ruby"
   puts "%%ruby_config ruby -rvendor-specific setup.rb config"
   puts "%%ruby_build ruby -rvendor-specific setup.rb setup"
   puts "%%ruby_install ruby -rvendor-specific setup.rb install --prefix=%%buildroot"
' >%buildroot%_sysconfdir/rpm/macros.d/ruby
# }}}

%__mkdir_p %buildroot%vendordir
%__mkdir_p %buildroot%vendorarchdir

echo "VENDOR_SPECIFIC=true" > %buildroot%vendordir/vendor-specific.rb

# This is a hack but we really don't need to bytecompile

# Python comparison sample in the Ruby manual
unset RPM_PYTHON
# }}}

# {{{ Files


# {{{ %name

%files
%doc ChangeLog* COPYING* LEGAL README* ToDo
/bin/%name
%_bindir/%name
%_man1dir/%name.1*
# }}}

# {{{ lib%name

%files -n lib%name
/%_lib/lib%name.so.%subver
/%_lib/lib%name.so.%version
%archdir/rbconfig.rb
%vendordir/vendor-specific.rb
%dir %archdir
%dir %rubylibdir
%dir %vendorarchdir
%dir %vendordir
# }}}

# {{{ lib%name-devel

%files -n lib%name-devel
/%_lib/lib%name.so
%dir /usr/include/ruby
%rubyincludedir/
%rubylibdir/mkmf.rb
# }}}

# {{{ lib%name-devel-static

%files -n lib%name-devel-static
%_libdir/lib%name-static.a
# }}}

# {{{ %name-doc-examples

#%files -n %name-doc-examples
#FIXME
# }}}

# {{{ %name-doc-ri

%files -n %name-doc-ri
%ruby_ri_systemdir
# }}}

# {{{ %name-misc-elisp

%if_with emacs
%files -n %name-misc-elisp
%_emacslispdir/*.el*
%_sysconfdir/emacs/site-start.d/ruby.el
%endif
# }}}

# {{{ %name-module-English

%files -n %name-module-English
%rubylibdir/English.rb
# }}}

# {{{ %name-module-bigdecimal

%files -n %name-module-bigdecimal
%archdir/bigdecimal.so
%rubylibdir/bigdecimal
%doc ext/bigdecimal/README
%doc ext/bigdecimal/sample
%doc ext/bigdecimal/*.html
# }}}

# {{{ %name-module-cgi

%files -n %name-module-cgi
%rubylibdir/cgi.rb
%rubylibdir/cgi-lib.rb
%rubylibdir/cgi
# }}}

# {{{ %name-module-curses

%files -n %name-module-curses
%archdir/curses.so
%doc ext/curses/hello.rb
%doc ext/curses/mouse.rb
%doc ext/curses/rain.rb
%doc ext/curses/view*
# }}}

# {{{ %name-module-date-time

%files -n %name-module-date-time
%rubylibdir/date.rb
%rubylibdir/date/format.rb
%rubylibdir/date2.rb
%rubylibdir/parsedate.rb
%rubylibdir/time.rb
%rubylibdir/timeout.rb
# }}}

# {{{ %name-module-dbm

%files -n %name-module-dbm
%archdir/dbm.so
%doc ./sample/dbmtest.rb
%doc test/dbm
# }}}

# {{{ %name-module-debug

%files -n %name-module-debug
%rubylibdir/benchmark.rb
%rubylibdir/debug.rb
%rubylibdir/pp.rb
%rubylibdir/prettyprint.rb
%rubylibdir/profile.rb
%rubylibdir/profiler.rb
# }}}

# {{{ %name-module-digest

%files -n %name-module-digest
%archdir/digest.so
%archdir/digest
%rubylibdir/base64.rb
%rubylibdir/md5.rb
%rubylibdir/sha1.rb
%rubylibdir/digest.rb
%rubylibdir/digest/
# }}}

# {{{ %name-module-dl

%files -n %name-module-dl
%archdir/dl.so
%rubylibdir/dl
%doc ext/dl/doc
%doc ext/dl/sample
%doc ext/dl/test
# }}}

# {{{ %name-module-drb

%files -n %name-module-drb
%rubylibdir/drb.rb
%rubylibdir/drb
%rubylibdir/rinda
%doc sample/drb
%doc test/drb
%doc test/rinda
# }}}

# {{{ %name-module-e2mmap

%files -n %name-module-e2mmap
%rubylibdir/e2mmap.rb
# }}}

# {{{ %name-module-env

%files -n %name-module-env
%rubylibdir/Env.rb
%rubylibdir/importenv.rb
# }}}

# {{{ %name-module-enumerator

%files -n %name-module-enumerator
%archdir/enumerator.so
%doc ext/enumerator/enumerator.txt
# }}}

# {{{ %name-module-erb

%files -n %name-module-erb
%_bindir/erb
%rubylibdir/erb.rb
%_man1dir/erb.1*
%doc test/erb
# }}}

# {{{ %name-module-etc

%files -n %name-module-etc
%archdir/etc.so
%doc ext/etc/etc.txt*
# }}}

# {{{ %name-module-fcntl

%files -n %name-module-fcntl
%archdir/fcntl.so
# }}}

# {{{ %name-module-fileutils

%files -n %name-module-fileutils
%rubylibdir/ftools.rb
%rubylibdir/fileutils.rb
%rubylibdir/find.rb
%rubylibdir/pathname.rb
%rubylibdir/pstore.rb
%rubylibdir/tempfile.rb
%rubylibdir/tmpdir.rb
%rubylibdir/un.rb
# }}}

# {{{ %name-module-gdbm

%files -n %name-module-gdbm
%archdir/gdbm.so
%doc test/gdbm
# }}}

# {{{ %name-module-iconv

%files -n %name-module-iconv
%archdir/iconv.so
%rubylibdir/jcode.rb
# }}}

# {{{ %name-module-math

%files -n %name-module-math
%rubylibdir/complex.rb
%rubylibdir/mathn.rb
%rubylibdir/matrix.rb
%rubylibdir/rational.rb
# }}}

# {{{ %name-module-misc

%files -n %name-module-misc
%rubylibdir/abbrev.rb
%rubylibdir/csv.rb
%rubylibdir/eregex.rb
%rubylibdir/logger.rb
%rubylibdir/ostruct.rb
%rubylibdir/readbytes.rb
%rubylibdir/scanf.rb
%rubylibdir/set.rb
%rubylibdir/tsort.rb
# }}}

# {{{ %name-module-net

%files -n %name-module-net
%rubylibdir/gserver.rb
%rubylibdir/ipaddr.rb
%rubylibdir/mailread.rb
%rubylibdir/net/ftp.rb
%rubylibdir/net/http.rb
%rubylibdir/net/https.rb
%rubylibdir/net/imap.rb
%rubylibdir/net/pop.rb
%rubylibdir/net/protocol.rb
%rubylibdir/net/smtp.rb
%rubylibdir/net/telnet.rb
%rubylibdir/ping.rb
%rubylibdir/resolv-replace.rb
%rubylibdir/resolv.rb
# }}}

# {{{ %name-module-nkf

%files -n %name-module-nkf
%archdir/nkf.so
%rubylibdir/kconv.rb
%doc test/nkf/*
# }}}

# {{{ %name-module-open3

%files -n %name-module-open3
%rubylibdir/open3.rb
# }}}

# {{{ %name-module-openssl

%files -n %name-module-openssl
%archdir/openssl.so
%rubylibdir/openssl.rb
%rubylibdir/openssl
%rubylibdir/net/ftptls.rb
%rubylibdir/net/telnets.rb
%doc sample/openssl
%doc test/openssl
# }}}

# {{{ %name-module-optparse

%files -n %name-module-optparse
%rubylibdir/optparse.rb
%rubylibdir/optparse
%rubylibdir/getoptlong.rb
%rubylibdir/getopts.rb
%rubylibdir/parsearg.rb
# }}}

# {{{ %name-module-patterns

%files -n %name-module-patterns
%rubylibdir/delegate.rb
%rubylibdir/forwardable.rb
%rubylibdir/finalize.rb
%rubylibdir/generator.rb
%rubylibdir/observer.rb
%rubylibdir/singleton.rb
%rubylibdir/weakref.rb
# }}}

# {{{ %name-module-pty

%files -n %name-module-pty
%archdir/pty.so
%rubylibdir/expect.rb
%doc ext/pty/README*
%doc ext/pty/expect_sample.rb
%doc ext/pty/script.rb
%doc ext/pty/shl.rb
# }}}

# {{{ %name-module-readline

%files -n %name-module-readline
%archdir/readline.so
%doc ext/readline/README*
# }}}

# {{{ %name-module-rexml

%files -n %name-module-rexml
%rubylibdir/rexml
# }}}

# {{{ %name-module-rss

%files -n %name-module-rss
%rubylibdir/rss
%rubylibdir/rss.rb
%doc sample/rss
%doc test/rss
# }}}

# {{{ %name-module-racc-runtime

%files -n %name-module-racc-runtime
%archdir/racc/cparse.so
%rubylibdir/racc/parser.rb
# }}}

# {{{ %name-module-sdbm

%files -n %name-module-sdbm
%archdir/sdbm.so
%doc test/sdbm
# }}}

# {{{ %name-module-shell

%files -n %name-module-shell
%rubylibdir/shell.rb
%rubylibdir/shellwords.rb
%rubylibdir/shell/
# }}}

# {{{ %name-module-soap

%files -n %name-module-soap
%rubylibdir/soap
%rubylibdir/wsdl
%rubylibdir/xsd
%doc test/soap
%doc test/wsdl
%doc test/xsd
# }}}

# {{{ %name-module-socket

%files -n %name-module-socket
%archdir/socket.so
# }}}

# {{{ %name-module-stringio

%files -n %name-module-stringio
%archdir/stringio.so
%doc ext/stringio/README
%doc test/stringio
# }}}

# {{{ %name-module-strscan

%files -n %name-module-strscan
%archdir/strscan.so
%doc test/strscan
# }}}

# {{{ %name-module-syslog

%files -n %name-module-syslog
%archdir/syslog.so
%doc ext/syslog/syslog.txt
%doc ext/syslog/test.rb
# }}}

# {{{ %name-module-tcltk

%files -n %name-module-tcltk
%archdir/tcltklib.so
%rubylibdir/tcltk.rb
%doc ext/tk/MANUAL*
%doc ext/tk/README*
%doc ext/tk/sample
# }}}

# {{{ %name-module-test-unit

%files -n %name-module-test-unit
%_bindir/testrb
%_man1dir/testrb.1*
%rubylibdir/rubyunit.rb
%rubylibdir/runit
%rubylibdir/test
%doc sample/testunit
%doc test/testunit
# }}}

# {{{ %name-module-thread

%files -n %name-module-thread
%archdir/thread.so
%rubylibdir/monitor.rb
%rubylibdir/mutex_m.rb
%rubylibdir/sync.rb
%rubylibdir/thread.rb
%rubylibdir/thwait.rb
# }}}

# {{{ %name-module-tracer

%files -n %name-module-tracer
%rubylibdir/tracer.rb
# }}}

# {{{ %name-module-tk

%files -n %name-module-tk
%archdir/tkutil.so
%rubylibdir/tk
%rubylibdir/tkextlib
%rubylibdir/remote-tk.rb
%rubylibdir/multi-tk.rb
%rubylibdir/tk*.rb
%doc ext/tk/README*
%doc ext/tk/sample
# }}}

# {{{ %name-module-uri

%files -n %name-module-uri
%rubylibdir/uri.rb
%rubylibdir/uri
%rubylibdir/open-uri.rb
# }}}

# {{{ %name-module-wait

%files -n %name-module-wait
%archdir/io/wait.so
%rubylibdir/io/nonblock.rb
# }}}

# {{{ %name-module-webrick

%files -n %name-module-webrick
%rubylibdir/webrick.rb
%rubylibdir/webrick
%doc sample/webrick
# }}}

# {{{ %name-module-xmlrpc

%files -n %name-module-xmlrpc
%rubylibdir/xmlrpc
# }}}

# {{{ %name-module-yaml

%files -n %name-module-yaml
%archdir/syck.so
%rubylibdir/yaml.rb
%rubylibdir/yaml
%doc test/yaml
# }}}

# {{{ %name-module-zlib

%files -n %name-module-zlib
%archdir/zlib.so
%doc ext/zlib/doc
%doc test/zlib
# }}}

# {{{ %name-tool-irb

%files -n %name-tool-irb
%_bindir/irb
%_man1dir/irb.1*
%_menudir/irb.menu
%rubylibdir/irb.rb
%rubylibdir/irb/
%doc doc/irb/
# }}}

# {{{ %name-tool-rdoc

%files -n %name-tool-rdoc
%_bindir/rdoc
%_man1dir/rdoc.1*
%rubylibdir/rdoc/
%doc lib/rdoc/README
# }}}

# {{{ %name-tool-ri

%files -n %name-tool-ri
%_bindir/ri
%_man1dir/ri.1*
# }}}

# {{{ %name-stdlibs

%files -n %name-stdlibs
# }}}

# {{{ rpm-build-%name

%files -n rpm-build-%name
%_sysconfdir/rpm/macros.d/ruby
# }}}

# }}} Files


# {{{ Pre/Post scripts

%post -n lib%name
%post_ldconfig

%postun -n lib%name
%postun_ldconfig

%post -n %name-tool-irb
%update_menus

%postun -n  %name-tool-irb
%clean_menus
# }}}

# {{{ Changelog

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin