mirror of https://github.com/vitalif/phantomjs
Add a spec file to allow creation of an rpm from the (previously built) binary.
http://code.google.com/p/phantomjs/issues/detail?id=8971.8
parent
fd653fe61f
commit
94e1f40ad9
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# A silly little helper script to build the RPM.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
name=${1:?"Usage: build <toolname>"}
|
||||||
|
name=${name%.spec}
|
||||||
|
topdir=$(mktemp -d)
|
||||||
|
version=$(awk '/define version/ { print $NF }' ${name}.spec)
|
||||||
|
builddir=${TMPDIR:-/tmp}/${name}-${version}
|
||||||
|
sourcedir="${topdir}/SOURCES"
|
||||||
|
buildroot="${topdir}/BUILD/${name}-${version}-root"
|
||||||
|
mkdir -p ${topdir}/RPMS ${topdir}/SRPMS ${topdir}/SOURCES ${topdir}/BUILD
|
||||||
|
mkdir -p ${buildroot} ${builddir}
|
||||||
|
echo "=> Copying sources..."
|
||||||
|
( cd .. && tar cf - ./[A-Z]* ./bin ./examples | tar xf - -C ${builddir} )
|
||||||
|
echo "=> Creating source tarball under ${sourcedir}..."
|
||||||
|
( cd ${builddir}/.. && tar zcf ${sourcedir}/${name}-${version}.tar.gz ${name}-${version} )
|
||||||
|
echo "=> Building RPM..."
|
||||||
|
rpm=$(rpmbuild --define "_topdir ${topdir}" --buildroot ${buildroot} --clean -bb ${name}.spec 2>/dev/null | \
|
||||||
|
awk '/\/RPMS\// { print $2; }')
|
||||||
|
cp ${rpm} ${TMPDIR:-/tmp}/
|
||||||
|
rm -fr ${topdir}
|
||||||
|
echo ${TMPDIR:-/tmp}/${rpm##*/}
|
|
@ -0,0 +1,128 @@
|
||||||
|
%define name phantomjs
|
||||||
|
%define version 1.7
|
||||||
|
%define release 1
|
||||||
|
%define prefix /usr
|
||||||
|
|
||||||
|
%define mybuilddir %{_builddir}/%{name}-%{version}-root
|
||||||
|
|
||||||
|
Summary: a headless WebKit with JavaScript API
|
||||||
|
Name: %{name}
|
||||||
|
Version: %{version}
|
||||||
|
License: BSD
|
||||||
|
Release: %{release}
|
||||||
|
Packager: Jan Schaumann <jschauma@etsy.com>
|
||||||
|
Group: Utilities/Misc
|
||||||
|
Source: %{name}-%{version}.tar.gz
|
||||||
|
BuildRoot: /tmp/%{name}-%{version}-root
|
||||||
|
|
||||||
|
%description
|
||||||
|
PhantomJS is a headless WebKit with JavaScript API. It has fast and native
|
||||||
|
support for various web standards: DOM handling, CSS selector, JSON,
|
||||||
|
Canvas, and SVG. PhantomJS is created by Ariya Hidayat.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
|
||||||
|
%setup
|
||||||
|
mkdir -p %{mybuilddir}%{prefix}/bin
|
||||||
|
mkdir -p %{mybuilddir}%{prefix}/share/%{name}/examples
|
||||||
|
|
||||||
|
%install
|
||||||
|
cp bin/%{name} %{mybuilddir}%{prefix}/bin/%{name}
|
||||||
|
cp examples/* %{mybuilddir}%{prefix}/share/%{name}/examples/
|
||||||
|
cp CONTRIBUTING.md %{mybuilddir}%{prefix}/share/%{name}/
|
||||||
|
cp ChangeLog %{mybuilddir}%{prefix}/share/%{name}/
|
||||||
|
cp LICENSE.BSD %{mybuilddir}%{prefix}/share/%{name}/
|
||||||
|
cp README.md %{mybuilddir}%{prefix}/share/%{name}/
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(0444,root,root)
|
||||||
|
%attr(0555,root,root)%{prefix}/bin/%{name}
|
||||||
|
%{prefix}/share/%{name}/CONTRIBUTING.md
|
||||||
|
%{prefix}/share/%{name}/ChangeLog
|
||||||
|
%{prefix}/share/%{name}/LICENSE.BSD
|
||||||
|
%{prefix}/share/%{name}/README.md
|
||||||
|
%{prefix}/share/%{name}/examples/arguments.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/arguments.js
|
||||||
|
%{prefix}/share/%{name}/examples/colorwheel.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/colorwheel.js
|
||||||
|
%{prefix}/share/%{name}/examples/countdown.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/countdown.js
|
||||||
|
%{prefix}/share/%{name}/examples/detectsniff.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/detectsniff.js
|
||||||
|
%{prefix}/share/%{name}/examples/direction.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/direction.js
|
||||||
|
%{prefix}/share/%{name}/examples/echoToFile.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/echoToFile.js
|
||||||
|
%{prefix}/share/%{name}/examples/features.js
|
||||||
|
%{prefix}/share/%{name}/examples/fibo.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/fibo.js
|
||||||
|
%{prefix}/share/%{name}/examples/follow.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/follow.js
|
||||||
|
%{prefix}/share/%{name}/examples/hello.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/hello.js
|
||||||
|
%{prefix}/share/%{name}/examples/imagebin.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/imagebin.js
|
||||||
|
%{prefix}/share/%{name}/examples/injectme.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/injectme.js
|
||||||
|
%{prefix}/share/%{name}/examples/ipgeocode.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/ipgeocode.js
|
||||||
|
%{prefix}/share/%{name}/examples/loadspeed.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/loadspeed.js
|
||||||
|
%{prefix}/share/%{name}/examples/modernizr.js
|
||||||
|
%{prefix}/share/%{name}/examples/module.js
|
||||||
|
%{prefix}/share/%{name}/examples/movies.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/movies.js
|
||||||
|
%{prefix}/share/%{name}/examples/netlog.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/netlog.js
|
||||||
|
%{prefix}/share/%{name}/examples/netsniff.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/netsniff.js
|
||||||
|
%{prefix}/share/%{name}/examples/outputEncoding.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/outputEncoding.js
|
||||||
|
%{prefix}/share/%{name}/examples/phantomwebintro.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/phantomwebintro.js
|
||||||
|
%{prefix}/share/%{name}/examples/pizza.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/pizza.js
|
||||||
|
%{prefix}/share/%{name}/examples/post.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/post.js
|
||||||
|
%{prefix}/share/%{name}/examples/postserver.js
|
||||||
|
%{prefix}/share/%{name}/examples/printenv.js
|
||||||
|
%{prefix}/share/%{name}/examples/printheaderfooter.js
|
||||||
|
%{prefix}/share/%{name}/examples/printmargins.js
|
||||||
|
%{prefix}/share/%{name}/examples/rasterize.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/rasterize.js
|
||||||
|
%{prefix}/share/%{name}/examples/render_multi_url.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/render_multi_url.js
|
||||||
|
%{prefix}/share/%{name}/examples/run-jasmine.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/run-jasmine.js
|
||||||
|
%{prefix}/share/%{name}/examples/run-qunit.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/run-qunit.js
|
||||||
|
%{prefix}/share/%{name}/examples/scandir.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/scandir.js
|
||||||
|
%{prefix}/share/%{name}/examples/seasonfood.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/seasonfood.js
|
||||||
|
%{prefix}/share/%{name}/examples/server.js
|
||||||
|
%{prefix}/share/%{name}/examples/serverkeepalive.js
|
||||||
|
%{prefix}/share/%{name}/examples/simpleserver.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/simpleserver.js
|
||||||
|
%{prefix}/share/%{name}/examples/sleepsort.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/sleepsort.js
|
||||||
|
%{prefix}/share/%{name}/examples/technews.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/technews.js
|
||||||
|
%{prefix}/share/%{name}/examples/tweets.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/tweets.js
|
||||||
|
%{prefix}/share/%{name}/examples/universe.js
|
||||||
|
%{prefix}/share/%{name}/examples/unrandomize.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/unrandomize.js
|
||||||
|
%{prefix}/share/%{name}/examples/useragent.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/useragent.js
|
||||||
|
%{prefix}/share/%{name}/examples/version.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/version.js
|
||||||
|
%{prefix}/share/%{name}/examples/waitfor.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/waitfor.js
|
||||||
|
%{prefix}/share/%{name}/examples/walk_through_frames.coffee
|
||||||
|
%{prefix}/share/%{name}/examples/walk_through_frames.js
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Nov 15 2012 Jan Schaumann <jschauma@etsy.com>
|
||||||
|
- first rpm version
|
Loading…
Reference in New Issue