!1 Package init

Merge pull request !1 from 雷炬/master
This commit is contained in:
openeuler-ci-bot 2020-08-21 15:59:12 +08:00 committed by Gitee
commit bc9ff24665
4 changed files with 146 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,44 @@
commit 862dba8b7d040b688f21926eceb14a6bd185fbbe
Author: Tom Hughes <tom@compton.nu>
Date: Sun Nov 8 11:33:04 2015 +0000
Some fixes for Cakefile
- follow FHS and Fedora Node.js packaging guidelines
- support DESTDIR
- preserve timestamps when installing
diff --git a/Cakefile b/Cakefile
index c9a675f..c361e64 100644
--- a/Cakefile
+++ b/Cakefile
@@ -95,20 +95,21 @@ releaseHeader = (date, version, prevVersion) -> """
option '-p', '--prefix [DIR]', 'set the installation prefix for `cake install`'
task 'install', 'install CoffeeScript into /usr/local (or --prefix)', (options) ->
+ destdir = options.destdir or ''
base = options.prefix or '/usr/local'
- lib = "#{base}/lib/coffee-script"
+ lib = "#{base}/share/coffee-script"
bin = "#{base}/bin"
- node = "~/.node_libraries/coffee-script"
+ node = "#{base}/lib/node_modules/coffee-script"
console.log "Installing CoffeeScript to #{lib}"
console.log "Linking to #{node}"
console.log "Linking 'coffee' to #{bin}/coffee"
exec([
- "mkdir -p #{lib} #{bin}"
- "cp -rf bin lib LICENSE README.md package.json src #{lib}"
- "ln -sfn #{lib}/bin/coffee #{bin}/coffee"
- "ln -sfn #{lib}/bin/cake #{bin}/cake"
- "mkdir -p ~/.node_libraries"
- "ln -sfn #{lib}/lib/coffee-script #{node}"
+ "mkdir -p #{destdir}/#{lib} #{destdir}/#{bin}"
+ "cp -prf bin extras lib package.json src #{destdir}/#{lib}"
+ "ln -sfn #{lib}/bin/coffee #{destdir}/#{bin}/coffee"
+ "ln -sfn #{lib}/bin/cake #{destdir}/#{bin}/cake"
+ "mkdir -p #{destdir}/#{node}"
+ "ln -sfn #{lib}/lib/coffee-script #{destdir}/#{node}"
].join(' && '), (err, stdout, stderr) ->
if err then console.log stderr.trim() else log 'done', green
)

98
coffee-script.spec Normal file
View File

@ -0,0 +1,98 @@
%global commit f26d33d418dcdcfcc6ad3ab774d9cabbf7af659c
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: coffee-script
Version: 1.10.0
Release: 1
Summary: A programming language that transcompiles to JavaScript
License: MIT
URL: http://coffeescript.org/
Source0: https://github.com/jashkenas/coffee-script/archive/%{commit}/coffee-script-%{version}-%{shortcommit}.tar.gz
ExclusiveArch: %{nodejs_arches} noarch
Patch1: coffee-script-Cakefile.patch
BuildRequires: nodejs-packaging web-assets-devel npm(underscore) uglify-js
Requires: js-%{name} == %{version}-%{release}
BuildArch: noarch
%description
CoffeeScript is a little language that compiles into JavaScript. Underneath all
of those embarrassing braces and semicolons, JavaScript has always had a
gorgeous object model at its heart. CoffeeScript is an attempt to expose the
good parts of JavaScript in a simple way.
The golden rule of CoffeeScript is: "It's just JavaScript". The code compiles
one-to-one into the equivalent JS, and there is no interpretation at runtime.
You can use any existing JavaScript library seamlessly (and vice-versa). The
compiled output is readable and pretty-printed, passes through JavaScript Lint
without warnings, will work in every JavaScript implementation, and tends to run
as fast or faster than the equivalent handwritten JavaScript.
%package -n js-%{name}
Summary: A programming that transcompiles to JavaScript - core compiler
Provides: %{name}-common = %{version}-%{release}
Obsoletes: %{name}-common < 1.10.0-4
Requires: web-assets-filesystem
%description -n js-%{name}
This is the core compiler for the CoffeeScript language, suitable for use in
browsers or by other JavaScript implementations.
For the primary compiler and cake utility used in conjunction with Node.js,
install the 'coffee-script' package.
%package doc
Summary: A programming language that transcompiles to JavaScript - documentation
%description doc
The documentation for the CoffeeScript programming language.
%prep
%setup -qn coffeescript-%{commit}
%patch1 -p1
mv documentation html
%build
%nodejs_symlink_deps --build
./bin/cake build
./bin/cake build:browser
mv extras/coffee-script.js extras/coffee-script.min.js
MINIFY=false ./bin/cake build:browser
%install
mkdir -p %{buildroot}%{_jsdir}/%{name}/
cp -pr extras/* %{buildroot}%{_jsdir}/%{name}/
mkdir -p %{buildroot}%{_datadir}/%{name}/extras/
ln -s %{_jsdir}/%{name}/coffee-script.js %{buildroot}%{_datadir}/%{name}/extras/
ln -s %{_jsdir}/%{name}/coffee-script.min.js %{buildroot}%{_datadir}/%{name}/extras/
mkdir -p %{buildroot}%{nodejs_sitelib}/%{name}
cp -pr *.js bin lib package.json %{buildroot}%{nodejs_sitelib}/%{name}
chmod 0644 %{buildroot}%{nodejs_sitelib}/%{name}/lib/coffee-script/parser.js
ln -sf %{_datadir}/%{name}/extras %{buildroot}%{nodejs_sitelib}/%{name}/extras
mkdir -p %{buildroot}%{_bindir}
ln -sf ../lib/node_modules/%{name}/bin/coffee %{buildroot}%{_bindir}/coffee
ln -sf ../lib/node_modules/%{name}/bin/cake %{buildroot}%{_bindir}/cake
%check
./bin/cake test
%pretrans -p <lua>
path = "%{nodejs_sitelib}/%{name}/lib"
st = posix.stat(path)
if st and st.type == "link" then
os.remove(path)
end
%files
%{nodejs_sitelib}/%{name}
%{_bindir}/coffee
%{_bindir}/cake
%files -n js-%{name}
%doc README.md
%license LICENSE
%{_jsdir}/%{name}
%{_datadir}/%{name}
%files doc
%doc html
%changelog
* Fri Aug 14 2020 leiju <leiju4@huawei.com> - 1.10.0-1
- Package init

4
coffee-script.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: jashkenas/coffee-script
tag_prefix: "^"
seperator: "."