]> git.pld-linux.org Git - packages/composer.git/blob - composer.spec
update building with system symfony
[packages/composer.git] / composer.spec
1 #
2 # NOTE
3 # - release tarballs: http://getcomposer.org/download/
4
5 # Conditional build:
6 %bcond_with     bootstrap               # build boostrap
7
8 %define         php_min_version 5.3.4
9 %define         subver  alpha7
10 %define         rel             0.14
11 %include        /usr/lib/rpm/macros.php
12 Summary:        Dependency Manager for PHP
13 Name:           composer
14 Version:        1.0.0
15 Release:        0.%{subver}.%{rel}
16 License:        MIT
17 Group:          Development/Languages/PHP
18 #Source0:       https://github.com/composer/composer/archive/%{version}-%{subver}.tar.gz
19 Source0:        http://github.com/composer/composer/tarball/master?/%{name}.tgz
20 # Source0-md5:  661b31437f47e3ff23e616ab3fb21831
21 Source1:        http://getcomposer.org/download/%{version}-%{subver}/%{name}.phar
22 # Source1-md5:  f9b1dbd4ad0e3707bfe216690b210a7e
23 Patch0:         nogit.patch
24 Patch1:         no-bundle-symfony.patch
25 Patch2:         system-symfony.patch
26 URL:            http://www.getcomposer.org/
27 BuildRequires:  /usr/bin/php
28 BuildRequires:  php(ctype)
29 BuildRequires:  php(hash)
30 BuildRequires:  php(json)
31 BuildRequires:  php(openssl)
32 BuildRequires:  php(phar)
33 BuildRequires:  php(zip)
34 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
35 BuildRequires:  rpmbuild(macros) >= 1.461
36 %if %{without bootstrap}
37 BuildRequires:  %{name}
38 %endif
39 Requires:       php(core) >= %{php_min_version}
40 Requires:       php-symfony2-Console >= 2.1
41 Requires:       php-symfony2-Finder >= 2.1
42 Requires:       php-symfony2-Process >= 2.1
43 Suggests:       git-core
44 Suggests:       mercurial
45 Suggests:       php(openssl)
46 Suggests:       php(zip)
47 Suggests:       subversion
48 BuildArch:      noarch
49 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51 %define         _appdir         %{_datadir}/%{name}
52
53 %description
54 Composer is a tool for dependency management in PHP. It allows you to
55 declare the dependent libraries your project needs and it will install
56 them in your project for you.
57
58 %prep
59 %setup -qc
60 mv composer-composer-*/* .
61 %patch0 -p1
62 %patch1 -p1
63
64 mv composer.lock{,.disabled}
65 %{__sed} -i -e '1s,^#!.*env php,#!%{__php},' bin/*
66
67 %build
68 %if %{with bootstrap}
69 composer='%{__php} %{SOURCE1}'
70 %else
71 composer=composer
72 %endif
73 if [ ! -d vendor ]; then
74         COMPOSER_HOME=${PWD:=$(pwd)} \
75         $composer install --prefer-dist -v
76         %{__patch} -p1 < %{PATCH2}
77 fi
78
79 V=$(echo composer-composer-*)
80 V=${V#composer-composer-}
81 COMPOSER_VERSION=%{version}%{?subver:-%{subver}}${V:+-g$V} \
82 %{__php} -d phar.readonly=0 ./bin/compile
83
84 # sanity check
85 %{__php} composer.phar --version
86
87 install -d build
88 %{__php} -r '$phar = new Phar($argv[1]); $phar->extractTo($argv[2]);' composer.phar build
89
90 %install
91 rm -rf $RPM_BUILD_ROOT
92 install -d $RPM_BUILD_ROOT{%{_bindir},%{_appdir}}
93 cd build
94 cp -a bin src res vendor $RPM_BUILD_ROOT%{_appdir}
95 ln -s %{_appdir}/bin/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
96
97 %clean
98 rm -rf $RPM_BUILD_ROOT
99
100 %files
101 %defattr(644,root,root,755)
102 %doc README.md CHANGELOG.md LICENSE PORTING_INFO
103 %attr(755,root,root) %{_bindir}/composer
104 %dir %{_appdir}
105 %dir %{_appdir}/bin
106 %attr(755,root,root) %{_appdir}/bin/*
107 %{_appdir}/res
108 %{_appdir}/src
109 %{_appdir}/vendor
This page took 0.041123 seconds and 4 git commands to generate.