]> git.pld-linux.org Git - packages/composer.git/blob - composer.spec
always require openssl and zip extension
[packages/composer.git] / composer.spec
1 # NOTE
2 # - release tarballs: http://getcomposer.org/download/
3
4 # Conditional build:
5 %bcond_with     bootstrap               # build boostrap
6
7 %define         php_min_version 5.3.4
8 %define         subver  alpha8
9 %define         rel             1
10 %include        /usr/lib/rpm/macros.php
11 Summary:        Dependency Manager for PHP
12 Name:           composer
13 Version:        1.0.0
14 Release:        0.%{subver}.%{rel}
15 License:        MIT
16 Group:          Development/Languages/PHP
17 Source0:        https://github.com/composer/composer/archive/%{version}-%{subver}/%{name}-%{version}-%{subver}.tar.gz
18 # Source0-md5:  a304aecf48b8406730d572e204afd6db
19 %if %{with bootstrap}
20 Source1:        http://getcomposer.org/download/%{version}-%{subver}/%{name}.phar
21 # Source1-md5:  df1001975035f07d09307bf1f1e62584
22 %endif
23 Source2:        https://raw.githubusercontent.com/iArren/%{name}-bash-completion/86a8129/composer
24 # Source2-md5:  cdeebf0a0da1fd07d0fd886d0461642e
25 Patch0:         nogit.patch
26 Patch1:         no-vendors.patch
27 Patch2:         autoload-config.patch
28 URL:            http://www.getcomposer.org/
29 BuildRequires:  /usr/bin/phar
30 BuildRequires:  /usr/bin/php
31 BuildRequires:  php(ctype)
32 BuildRequires:  php(hash)
33 BuildRequires:  php(json)
34 BuildRequires:  php(openssl)
35 BuildRequires:  php(phar)
36 BuildRequires:  php(zip)
37 BuildRequires:  php(zlib)
38 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
39 BuildRequires:  rpmbuild(macros) >= 1.673
40 %if %{without bootstrap}
41 BuildRequires:  %{name}
42 BuildRequires:  php-symfony2-Console >= 2.3
43 BuildRequires:  php-symfony2-Finder >= 2.2
44 %endif
45 Requires:       php(core) >= %{php_min_version}
46 Requires:       php(ctype)
47 Requires:       php(date)
48 Requires:       php(filter)
49 Requires:       php(hash)
50 Requires:       php(json)
51 Requires:       php(openssl)
52 Requires:       php(pcre)
53 Requires:       php(phar)
54 Requires:       php(simplexml)
55 Requires:       php(spl)
56 Requires:       php(zip)
57 %if %{without bootstrap}
58 Requires:       php-justinrainbow-json-schema >= 1.1.0
59 Requires:       php-seld-jsonlint >= 1.1.2
60 Requires:       php-symfony2-Console >= 2.3
61 Requires:       php-symfony2-Finder >= 2.2
62 Requires:       php-symfony2-Process >= 2.1
63 %endif
64 Suggests:       bash-completion-%{name}
65 Suggests:       git-core
66 Suggests:       mercurial
67 Suggests:       subversion
68 BuildArch:      noarch
69 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70
71 %define         _appdir         %{_datadir}/%{name}
72
73 %description
74 Composer is a tool for dependency management in PHP. It allows you to
75 declare the dependent libraries your project needs and it will install
76 them in your project for you.
77
78 %package -n bash-completion-%{name}
79 Summary:        Bash completion for Composer
80 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla Composera
81 Group:          Applications/Shells
82 Requires:       %{name}
83 Requires:       bash-completion >= 2.0
84
85 %description -n bash-completion-%{name}
86 Bash completion for Composer package and dependency manager.
87
88 %description -n bash-completion-%{name} -l pl.UTF-8
89 Pakiet ten dostarcza bashowe uzupełnianie nazw dla Composera.
90
91 %prep
92 %setup -qc -n %{name}-%{version}-%{release}
93 mv composer-*/* .
94 %patch0 -p1
95 %{!?with_bootstrap:%patch1 -p1}
96
97 mv composer.lock{,.disabled}
98 %{__sed} -i -e '1s,^#!.*env php,#!%{__php},' bin/*
99
100 %build
101 %if %{with bootstrap}
102 composer='%{__php} %{SOURCE1}'
103 phar extract -f "%{SOURCE1}" -i vendor .
104 %else
105 composer=composer
106 %endif
107 if [ ! -d vendor ]; then
108         COMPOSER_HOME=${PWD:=$(pwd)} \
109         $composer dump-autoload -v
110         %{__patch} -p1 < %{PATCH2}
111 fi
112
113 COMPOSER_VERSION=%{version}%{?subver:-%{subver}} \
114 %{__php} -d phar.readonly=0 ./bin/compile
115
116 # sanity check
117 %{__php} composer.phar --version
118
119 install -d build
120 %{__php} -r '$phar = new Phar($argv[1]); $phar->extractTo($argv[2]);' composer.phar build
121
122 %install
123 rm -rf $RPM_BUILD_ROOT
124 install -d $RPM_BUILD_ROOT{%{_bindir},%{_appdir}}
125 cd build
126 cp -a bin src res vendor $RPM_BUILD_ROOT%{_appdir}
127 ln -s %{_appdir}/bin/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
128 chmod +x $RPM_BUILD_ROOT%{_appdir}/bin/*
129
130 install -d $RPM_BUILD_ROOT%{bash_compdir}
131 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{bash_compdir}/composer
132
133 %clean
134 rm -rf $RPM_BUILD_ROOT
135
136 %files
137 %defattr(644,root,root,755)
138 %doc README.md CHANGELOG.md LICENSE PORTING_INFO
139 %attr(755,root,root) %{_bindir}/composer
140 %dir %{_appdir}
141 %dir %{_appdir}/bin
142 %attr(755,root,root) %{_appdir}/bin/*
143 %{_appdir}/res
144 %{_appdir}/src
145 %{_appdir}/vendor
146
147 %files -n bash-completion-%{name}
148 %defattr(644,root,root,755)
149 %{bash_compdir}/composer
This page took 0.052596 seconds and 4 git commands to generate.