You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
5.7 KiB
173 lines
5.7 KiB
## |
|
## php-couchdb.spec -- OpenPKG RPM Package Specification |
|
## Copyright (c) 2000-2022 OpenPKG Project <http://openpkg.org/> |
|
## |
|
## 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 version |
|
%define V_phpcouchdb_tarball 0.0.2a |
|
%define V_phpcouchdb_subdir 0.0.2 |
|
%define V_phpillow 0.6-beta |
|
|
|
# package information |
|
Name: php-couchdb |
|
Summary: PHP CouchDB API |
|
URL: http://www.topdog.za.net/php_couchdb_extension |
|
Vendor: Andrew Colin Kissa |
|
Packager: OpenPKG Project |
|
Distribution: OpenPKG Community |
|
Class: EVAL |
|
Group: Language |
|
License: PHP |
|
Version: 20100731 |
|
Release: 20120608 |
|
|
|
# package options |
|
%option with_apache no |
|
|
|
# list of sources |
|
Source0: http://www.topdog-software.com/files/php-couchdb/couchdb-%{V_phpcouchdb_tarball}.tgz |
|
Source1: http://arbitracker.org/phpillow/downloads/phpillow-%{V_phpillow}.tar.bz2 |
|
Patch0: php-couchdb.patch |
|
|
|
# build information |
|
BuildPreReq: OpenPKG, openpkg >= 20160101, libtool, autoconf, automake |
|
PreReq: OpenPKG, openpkg >= 20160101 |
|
BuildPreReq: php, curl, openssl |
|
PreReq: php, curl, openssl |
|
BuildPreReq: php::with_json = yes |
|
PreReq: php::with_json = yes |
|
BuildPreReq: php::with_curl = yes |
|
PreReq: php::with_curl = yes |
|
%if "%{with_apache}" == "yes" |
|
BuildPreReq: apache, apache-php |
|
PreReq: apache, apache-php |
|
BuildPreReq: apache-php::with_json = yes |
|
PreReq: apache-php::with_json = yes |
|
BuildPreReq: apache-php::with_curl = yes |
|
PreReq: apache-php::with_curl = yes |
|
%endif |
|
|
|
%description |
|
These are CouchDB client APIs for PHP. |
|
|
|
%track |
|
prog php-couchdb:phpcouchdb = { |
|
version = %{V_phpcouchdb_tarball} |
|
url = http://www.topdog.za.net/php_couchdb_extension |
|
regex = couchdb-(__VER__)\.tgz |
|
} |
|
prog php-couchdb:phpillow = { |
|
version = %{V_phpillow} |
|
url = http://arbitracker.org/phpillow/download.html |
|
regex = phpillow-(__VER__-beta)\.tar.bz2 |
|
} |
|
|
|
%prep |
|
%setup -q -c |
|
%setup -q -T -D -a 1 |
|
%patch -p0 |
|
|
|
%build |
|
# build PHP CouchDB API 1/2 |
|
( cd couchdb-%{V_phpcouchdb_subdir} |
|
%{l_prefix}/bin/phpize |
|
CC="%{l_cc}" \ |
|
CFLAGS="%{l_cflags -O}" \ |
|
CPPFLAGS="%{l_cppflags}" \ |
|
LDFLAGS="%{l_ldflags}" \ |
|
LIBS="-lssl -lcrypto" \ |
|
GREP="grep" \ |
|
./configure \ |
|
--prefix=%{l_prefix} \ |
|
--with-php-config=%{l_prefix}/bin/php-config \ |
|
--enable-shared \ |
|
--disable-static |
|
%{l_make} %{l_mflags -O} |
|
) || exit $? |
|
|
|
# build PHP CouchDB API 2/2 |
|
( cd %{V_phpillow} |
|
) || exit $? |
|
|
|
%install |
|
# create installation hierarchy |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/php-couchdb |
|
|
|
# install PHP CouchDB API 1/2 |
|
%{l_shtool} install -c -m 755 \ |
|
couchdb-%{V_phpcouchdb_subdir}/.libs/couchdb.so \ |
|
$RPM_BUILD_ROOT%{l_prefix}/libexec/php-couchdb/ |
|
|
|
# install PHP CouchDB API 2/2 |
|
%{l_shtool} mkdir -f -p -m 755 \ |
|
$RPM_BUILD_ROOT%{l_prefix}/lib/php-couchdb |
|
cp -rp %{V_phpillow}/classes/* \ |
|
$RPM_BUILD_ROOT%{l_prefix}/lib/php-couchdb/ |
|
%{l_shtool} subst \ |
|
-e 's;classes/;;' \ |
|
$RPM_BUILD_ROOT%{l_prefix}/lib/php-couchdb/autoload.php |
|
|
|
# determine installation files |
|
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} |
|
|
|
%files -f files |
|
|
|
%clean |
|
|
|
%post |
|
if [ ".$1" = .1 ]; then |
|
# add hook to PHP configuration |
|
phpini="$RPM_INSTALL_PREFIX/etc/php/php.ini" |
|
if [ -f $phpini ]; then |
|
echo "extension = $RPM_INSTALL_PREFIX/libexec/php-couchdb/couchdb.so" |\ |
|
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
|
-a -i "$RPM_INSTALL_PREFIX:php-couchdb" -p ";" $phpini |
|
fi |
|
%if "%{with_apache}" == "yes" |
|
# add hook to Apache/PHP configuration |
|
phpini="$RPM_INSTALL_PREFIX/etc/apache/apache-php.ini" |
|
if [ -f $phpini ]; then |
|
echo "extension = $RPM_INSTALL_PREFIX/libexec/php-couchdb/couchdb.so" |\ |
|
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
|
-a -i "$RPM_INSTALL_PREFIX:php-couchdb" -p ";" $phpini |
|
fi |
|
%endif |
|
fi |
|
|
|
%postun |
|
if [ ".$1" = .0 ]; then |
|
# remove hook from PHP configuration |
|
phpini="$RPM_INSTALL_PREFIX/etc/php/php.ini" |
|
if [ -f $phpini ]; then |
|
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
|
-r -i "$RPM_INSTALL_PREFIX:php-couchdb" -p ";" $phpini |
|
fi |
|
%if "%{with_apache}" == "yes" |
|
# remove hook from Apache/PHP configuration |
|
phpini="$RPM_INSTALL_PREFIX/etc/apache/apache-php.ini" |
|
if [ -f $phpini ]; then |
|
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
|
-r -i "$RPM_INSTALL_PREFIX:php-couchdb" -p ";" $phpini |
|
fi |
|
%endif |
|
fi |
|
|
|
|