diff --git a/dl-tests.sh b/dl-tests.sh new file mode 100644 index 0000000..297b46b --- /dev/null +++ b/dl-tests.sh @@ -0,0 +1,84 @@ +#!/bin/bash + +tag=$(sed -n 's/^Version:\s\(.*\)$/\1/p' ./*.spec | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') +url=$(sed -n 's/^URL:\s\(.*\)$/\1/p' ./*.spec | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') +pkgdir=$(basename $url | sed -s 's/\.git$//') + +echo "tag: $tag" +echo "URL: $url" +echo "pkgdir: $pkgdir" + +set -e + +tmp=$(mktemp -d) + +trap cleanup EXIT +cleanup() { + echo Cleaning up... + set +e + [ -z "$tmp" -o ! -d "$tmp" ] || rm -rf "$tmp" +} + +unset CDPATH +pwd=$(pwd) + +pushd "$tmp" +git clone $url +cd $pkgdir +echo Finding git tag +gittag=$(git show-ref --tags | cut -d' ' -f2 | grep "${tag}$" || git show-ref --tags | cut -d' ' -f2 | sort -Vr | head -n1) +if [ -z $gittag ]; then + gittag=tags/$tag +fi +echo "Git Tag: $gittag" +if [ -d "test" ]; then + git archive --prefix='test/' --format=tar ${gittag}:test/ \ + | bzip2 > "$pwd"/tests-${tag}.tar.bz2 +elif [ -d "tests" ]; then + git archive --prefix='tests/' --format=tar ${gittag}:tests/ \ + | bzip2 > "$pwd"/tests-${tag}.tar.bz2 +elif [ -d "spec" ]; then + git archive --prefix='spec/' --format=tar ${gittag}:spec/ \ + | bzip2 > "$pwd"/tests-${tag}.tar.bz2 +else + echo "No test directory found for tag ${gittag}" +fi +if [ -d "support" ]; then + git archive --prefix='support/' --format=tar ${gittag}:support/ \ + | bzip2 > "$pwd"/support-${tag}.tar.bz2 +fi +if [ -d "fixture" ]; then + git archive --prefix='fixture/' --format=tar ${gittag}:fixture/ \ + | bzip2 > "$pwd"/fixture-${tag}.tar.bz2 +fi +if [ -d "examples" ]; then + git archive --prefix='examples/' --format=tar ${gittag}:examples/ \ + | bzip2 > "$pwd"/examples-${tag}.tar.bz2 +elif [ -d "example" ]; then + git archive --prefix='example/' --format=tar ${gittag}:example/ \ + | bzip2 > "$pwd"/examples-${tag}.tar.bz2 +fi +if [ -d "tasks" ]; then + git archive --prefix='tasks/' --format=tar ${gittag}:tasks/ \ + | bzip2 > "$pwd"/tasks-${tag}.tar.bz2 +fi +if [ -d "docs" ]; then + git archive --prefix='docs/' --format=tar ${gittag}:docs/ \ + | bzip2 > "$pwd"/docs-${tag}.tar.bz2 +elif [ -d "doc" ]; then + git archive --prefix='doc/' --format=tar ${gittag}:doc/ \ + | bzip2 > "$pwd"/docs-${tag}.tar.bz2 +fi +if [ -d "src" ]; then + git archive --prefix='src/' --format=tar ${gittag}:src/ \ + | bzip2 > "$pwd"/src-${tag}.tar.bz2 +fi +if [ -d "tools" ]; then + git archive --prefix='tools/' --format=tar ${gittag}:tools/ \ + | bzip2 > "$pwd"/tools-${tag}.tar.bz2 +fi +if [ -d "scripts" ]; then + git archive --prefix='scripts/' --format=tar ${gittag}:scripts/ \ + | bzip2 > "$pwd"/scripts-${tag}.tar.bz2 +fi +popd diff --git a/nodejs-prelude-ls.spec b/nodejs-prelude-ls.spec new file mode 100644 index 0000000..e18424c --- /dev/null +++ b/nodejs-prelude-ls.spec @@ -0,0 +1,70 @@ +%{?nodejs_find_provides_and_requires} +%global packagename prelude-ls +%global bootstrap 1 +%global enable_tests 0 +Name: nodejs-prelude-ls +Version: 1.1.2 +Release: 1 +Summary: The prelude.ls library is a functionally oriented utility +License: MIT +URL: https://github.com/gkz/prelude-ls.git +Source0: https://registry.npmjs.org/prelude-ls/-/prelude-ls-%{version}.tgz +Source1: tests-%{version}.tar.bz2 +Source2: src-%{version}.tar.bz2 +Source10: dl-tests.sh +Source11: https://raw.githubusercontent.com/gkz/prelude-ls/%{version}/package.json.ls +BuildArch: noarch +ExclusiveArch: %{nodejs_arches} noarch +BuildRequires: nodejs-packaging +%if 0%{?enable_tests} +BuildRequires: mocha npm(sinon) +%endif +%if !0%{?bootstrap} +BuildRequires: npm(LiveScript) +%endif +%description +prelude.ls is a functionally oriented utility library. It is powerful and +flexible. Almost all of its functions are curried. It is written in, and is +the recommended base library for, LiveScript. + +%prep +%setup -q -n package +%setup -q -T -D -a 1 -n package +%setup -q -T -D -a 2 -n package +cp -p %{SOURCE11} . + +%build +%if !0%{?bootstrap} +%{_bindir}/echo -e "\e[102m -=#=- Building from source -=#=- \e[0m" +rm -rf ./lib/ +mkdir ./lib/ +%{_bindir}/lsc --compile package.json.ls +%{_bindir}/lsc --output lib --bare --compile src/*.ls +rm -rf ./node_modules/ +%endif + +%install +mkdir -p %{buildroot}%{nodejs_sitelib}/%{packagename} +cp -pr package.json lib/ \ + %{buildroot}%{nodejs_sitelib}/%{packagename} +%nodejs_symlink_deps + +%check +%nodejs_symlink_deps --check +%{__nodejs} -e 'require("./")' +%if 0%{?enable_tests} +%{_bindir}/lsc -o test/ test/*.ls +%{_bindir}/mocha -R spec --ui tdd +%else +%{_bindir}/echo -e "\e[101m -=#=- Tests disabled -=#=- \e[0m" +%endif + +%files +%{!?_licensedir:%global license %doc} +%doc *.md +%license LICENSE +%{nodejs_sitelib}/%{packagename} + +%changelog +* Thu Aug 20 2020 wangchong - 1.1.2-1 +- package init diff --git a/nodejs-prelude-ls.yaml b/nodejs-prelude-ls.yaml new file mode 100644 index 0000000..5e2d161 --- /dev/null +++ b/nodejs-prelude-ls.yaml @@ -0,0 +1,4 @@ +version-control: github +src_repo: gkz/prelude-ls +tag_prefix: ^ +seperator: . diff --git a/package.json.ls b/package.json.ls new file mode 100644 index 0000000..daecb4b --- /dev/null +++ b/package.json.ls @@ -0,0 +1,48 @@ +name: 'prelude-ls' +version: '1.1.2' + +author: 'George Zahariev ' + +description: "prelude.ls is a functionally oriented utility library. It is powerful and flexible. Almost all of its functions are curried. It is written in, and is the recommended base library for, LiveScript." + +keywords: + 'prelude' + 'livescript' + 'utility' + 'ls' + 'coffeescript' + 'javascript' + 'library' + 'functional' + 'array' + 'list' + 'object' + 'string' + +main: 'lib/' +files: + 'lib/' + 'README.md' + 'LICENSE' + +homepage: 'http://preludels.com' +bugs: 'https://github.com/gkz/prelude-ls/issues' +licenses: + * type: 'MIT' + url: 'https://raw.github.com/gkz/prelude-ls/master/LICENSE' + ... +engines: + node: '>= 0.8.0' +repository: + type: 'git' + url: 'git://github.com/gkz/prelude-ls.git' +scripts: + test: "make test" + +dev-dependencies: + livescript: '~1.4.0' + 'uglify-js': '~2.4.12' + mocha: '~2.2.4' + istanbul: '~0.2.4' + browserify: '~3.24.13' + sinon: '~1.10.2' diff --git a/prelude-ls-1.1.2.tgz b/prelude-ls-1.1.2.tgz new file mode 100644 index 0000000..76c3f0b Binary files /dev/null and b/prelude-ls-1.1.2.tgz differ diff --git a/src-1.1.2.tar.bz2 b/src-1.1.2.tar.bz2 new file mode 100644 index 0000000..9e84c58 Binary files /dev/null and b/src-1.1.2.tar.bz2 differ diff --git a/tests-1.1.2.tar.bz2 b/tests-1.1.2.tar.bz2 new file mode 100644 index 0000000..e46e031 Binary files /dev/null and b/tests-1.1.2.tar.bz2 differ