]> git.pld-linux.org Git - packages/composer.git/blob - composer.spec
rebundle .phar without symfony components
[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.13
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:  rpm-php-pearprov >= 4.4.2-11
34 BuildRequires:  rpmbuild(macros) >= 1.461
35 %if %{without bootstrap}
36 BuildRequires:  %{name}
37 %endif
38 Requires:       php(core) >= %{php_min_version}
39 Requires:       php-symfony2-Console >= 2.1
40 Requires:       php-symfony2-Finder >= 2.1
41 Requires:       php-symfony2-Process >= 2.1
42 Suggests:       git-core
43 Suggests:       mercurial
44 Suggests:       php(openssl)
45 Suggests:       php(zip)
46 Suggests:       subversion
47 BuildArch:      noarch
48 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50 %define         _appdir         %{_datadir}/%{name}
51
52 %description
53 Composer is a tool for dependency management in PHP. It allows you to
54 declare the dependent libraries your project needs and it will install
55 them in your project for you.
56
57 %prep
58 %setup -qc
59 mv composer-composer-*/* .
60 %patch0 -p1
61 %patch1 -p1
62
63 %{__sed} -i -e '1s,^#!.*env php,#!%{__php},' bin/*
64
65 %build
66 %if %{with bootstrap}
67 composer='env -i PATH="$PATH" %{__php} %{SOURCE1}'
68 %else
69 composer=composer
70 %endif
71 if [ ! -d vendor ]; then
72         $composer install --prefer-dist -v
73         %{__patch} -p1 < %{PATCH2}
74 fi
75
76 V=$(echo composer-composer-*)
77 V=${V#composer-composer-}
78 COMPOSER_VERSION=%{version}%{?subver:-%{subver}}${V:+-g$V} \
79 %{__php} -d phar.readonly=0 ./bin/compile
80
81 # sanity check
82 %{__php} composer.phar --version
83
84 install -d build
85 %{__php} -r '$phar = new Phar($argv[1]); $phar->extractTo($argv[2]);' composer.phar build
86
87 %install
88 rm -rf $RPM_BUILD_ROOT
89 install -d $RPM_BUILD_ROOT{%{_bindir},%{_appdir}}
90 cd build
91 cp -a bin src res vendor $RPM_BUILD_ROOT%{_appdir}
92 ln -s %{_appdir}/bin/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
93
94 %clean
95 rm -rf $RPM_BUILD_ROOT
96
97 %files
98 %defattr(644,root,root,755)
99 %doc README.md CHANGELOG.md LICENSE PORTING_INFO
100 %attr(755,root,root) %{_bindir}/composer
101 %dir %{_appdir}
102 %dir %{_appdir}/bin
103 %attr(755,root,root) %{_appdir}/bin/*
104 %{_appdir}/res
105 %{_appdir}/src
106 %{_appdir}/vendor
This page took 0.045401 seconds and 4 git commands to generate.