]> git.pld-linux.org Git - packages/composer.git/blob - composer.spec
- release 2 (by relup.sh)
[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             2
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(posix)
55 Requires:       php(simplexml)
56 Requires:       php(spl)
57 Requires:       php(zip)
58 %if %{without bootstrap}
59 Requires:       php-justinrainbow-json-schema >= 1.1.0
60 Requires:       php-seld-jsonlint >= 1.1.2
61 Requires:       php-symfony2-Console >= 2.3
62 Requires:       php-symfony2-Finder >= 2.2
63 Requires:       php-symfony2-Process >= 2.1
64 %endif
65 Suggests:       bash-completion-%{name}
66 Suggests:       git-core
67 Suggests:       mercurial
68 Suggests:       subversion
69 BuildArch:      noarch
70 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71
72 %define         _appdir         %{_datadir}/%{name}
73
74 %description
75 Composer is a tool for dependency management in PHP. It allows you to
76 declare the dependent libraries your project needs and it will install
77 them in your project for you.
78
79 %package -n bash-completion-%{name}
80 Summary:        Bash completion for Composer
81 Summary(pl.UTF-8):      bashowe uzupełnianie nazw dla Composera
82 Group:          Applications/Shells
83 Requires:       %{name}
84 Requires:       bash-completion >= 2.0
85
86 %description -n bash-completion-%{name}
87 Bash completion for Composer package and dependency manager.
88
89 %description -n bash-completion-%{name} -l pl.UTF-8
90 Pakiet ten dostarcza bashowe uzupełnianie nazw dla Composera.
91
92 %prep
93 %setup -qc -n %{name}-%{version}-%{release}
94 mv composer-*/* .
95 %patch0 -p1
96 %{!?with_bootstrap:%patch1 -p1}
97
98 mv composer.lock{,.disabled}
99 %{__sed} -i -e '1s,^#!.*env php,#!%{__php},' bin/*
100
101 %build
102 %if %{with bootstrap}
103 composer='%{__php} %{SOURCE1}'
104 phar extract -f "%{SOURCE1}" -i vendor .
105 %else
106 composer=composer
107 %endif
108 if [ ! -d vendor ]; then
109         COMPOSER_HOME=${PWD:=$(pwd)} \
110         $composer dump-autoload -v
111         %{__patch} -p1 < %{PATCH2}
112 fi
113
114 COMPOSER_VERSION=%{version}%{?subver:-%{subver}} \
115 %{__php} -d phar.readonly=0 ./bin/compile
116
117 # sanity check
118 %{__php} composer.phar --version
119
120 install -d build
121 %{__php} -r '$phar = new Phar($argv[1]); $phar->extractTo($argv[2]);' composer.phar build
122
123 %install
124 rm -rf $RPM_BUILD_ROOT
125 install -d $RPM_BUILD_ROOT{%{_bindir},%{_appdir}}
126 cd build
127 cp -a bin src res vendor $RPM_BUILD_ROOT%{_appdir}
128 ln -s %{_appdir}/bin/%{name} $RPM_BUILD_ROOT%{_bindir}/%{name}
129 chmod +x $RPM_BUILD_ROOT%{_appdir}/bin/*
130
131 install -d $RPM_BUILD_ROOT%{bash_compdir}
132 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{bash_compdir}/composer
133
134 %clean
135 rm -rf $RPM_BUILD_ROOT
136
137 %files
138 %defattr(644,root,root,755)
139 %doc README.md CHANGELOG.md LICENSE PORTING_INFO
140 %attr(755,root,root) %{_bindir}/composer
141 %dir %{_appdir}
142 %dir %{_appdir}/bin
143 %attr(755,root,root) %{_appdir}/bin/*
144 %{_appdir}/res
145 %{_appdir}/src
146 %{_appdir}/vendor
147
148 %files -n bash-completion-%{name}
149 %defattr(644,root,root,755)
150 %{bash_compdir}/composer
This page took 0.079294 seconds and 4 git commands to generate.