diff --git a/rpm/mkrpm.sh b/rpm/mkrpm.sh new file mode 100755 index 00000000..708d57ff --- /dev/null +++ b/rpm/mkrpm.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# +# A silly little helper script to build the RPM. +set -e + +name=${1:?"Usage: build "} +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##*/} diff --git a/rpm/phantomjs.spec b/rpm/phantomjs.spec new file mode 100644 index 00000000..f713ba62 --- /dev/null +++ b/rpm/phantomjs.spec @@ -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 +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 +- first rpm version