From 15d55c0bcace083fa32671da2abef7ad23ebc1a6 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 31 Oct 2015 09:06:22 +0100 Subject: php-mongodb: 1.0.0alpha1 - new package --- Makefile | 4 ++ php-mongodb-autoload.php | 17 ++++++ php-mongodb.spec | 144 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 165 insertions(+) create mode 100644 Makefile create mode 100644 php-mongodb-autoload.php create mode 100644 php-mongodb.spec diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..91b0fd5 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../common/Makefile + diff --git a/php-mongodb-autoload.php b/php-mongodb-autoload.php new file mode 100644 index 0000000..4cf36b9 --- /dev/null +++ b/php-mongodb-autoload.php @@ -0,0 +1,17 @@ +register(); +} + +$fedoraClassLoader->addPrefix('MongoDB\\', dirname(__DIR__)); + +require_once __DIR__. '/functions.php'; diff --git a/php-mongodb.spec b/php-mongodb.spec new file mode 100644 index 0000000..561f0c7 --- /dev/null +++ b/php-mongodb.spec @@ -0,0 +1,144 @@ +# remirepo/fedora spec file for php-mongodb +# +# Copyright (c) 2015 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/4.0/ +# +# Please, preserve the changelog entries +# +%global gh_commit 39cb5bf858b7989f16b4f1c960f08fb4349fa666 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner mongodb +#global gh_date 20150820 +%global gh_project mongo-php-library +# Test suite not ready +# see https://github.com/mongodb/mongo-php-library/issues/41 +%global with_tests 0%{?_with_tests:1} +%global psr0 MongoDB +%global prever alpha1 + +Name: php-%{gh_owner} +Version: 1.0.0 +Release: 0.1.%{prever}%{?dist} +Summary: MongoDB driver library + +Group: Development/Libraries +License: ASL 2.0 +URL: https://github.com/%{gh_owner}/%{gh_project} +Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}%{?prever}-%{?gh_short}.tar.gz + +# Autoloader +Source1: %{name}-autoload.php + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch +%if %{with_tests} +BuildRequires: php(language) >= 5.4 +BuildRequires: php-reflection +BuildRequires: php-spl +BuildRequires: php-pecl(mongodb) +BuildRequires: php-composer(phpunit/phpunit) +BuildRequires: mongodb-server +# For autoloader +BuildRequires: php-composer(symfony/class-loader) +%endif + +# From composer.json, "require": { +# "php": ">=5.4" +# "ext-mongodb": "^1.0.0" +Requires: php(language) >= 5.4 +Requires: php-pecl(mongodb) +# From phpcompatinfo report for 1.0.0alpha1 +Requires: php-reflection +Requires: php-spl +# For autoloader +Requires: php-composer(symfony/class-loader) + +# Composer +Provides: php-composer(%{gh_owner}/%{gh_owner}) = %{version}%{?prever} + + +%description +This library provides a high-level abstraction around the lower-level drivers +for PHP and HHVM (i.e. the mongodb extension). + +While the extension provides a limited API for executing commands, queries, +and write operations, this library implements an API similar to that of the +legacy PHP driver. It contains abstractions for client, database, and +collection objects, and provides methods for CRUD operations and common +commands (e.g. index and collection management). + +To use this library, you just have to add, in your project: + require_once '%{_datadir}/php/%{psr0}/autoload.php'; + + +%prep +%setup -q -n %{gh_project}-%{gh_commit} + +cp %{SOURCE1} src/autoload.php + + +%build +# Nothing + + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}%{_datadir}/php +cp -pr src %{buildroot}%{_datadir}/php/%{psr0} + + +%check +%if %{with_tests} +: Run a server +mkdir dbtest +mongod \ + --journal \ + --logpath $PWD/server.log \ + --pidfilepath $PWD/server.pid \ + --dbpath $PWD/dbtest \ + --fork + +cat << 'EOF' | tee tests/bootstrap.php +addPrefix("MongoDB\\Tests\\", __DIR__); +$Loader->register(); +EOF + +: Run the test suite +%{_bindir}/phpunit --verbose || RET=1 + +: Cleanup +[ -s server.pid ] && kill $(cat server.pid) + +exit $RET +%else +: Test suite disabled +%endif + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc composer.json +%doc README.md +%doc RELEASE-* +%doc docs +%doc examples +%{_datadir}/php/%{psr0} + + +%changelog +* Sat Oct 31 2015 Remi Collet - 1.0.0-0.1.alpha1 +- initial package \ No newline at end of file -- cgit