Revision history for small-viz
0.1.0.0 -- YYYY-mm-dd
- First version. Released on an unsuspecting world.
Copyright (c) 2019, Vaibhav Sagar | |
All rights reserved. | |
Redistribution and use in source and binary forms, with or without | |
modification, are permitted provided that the following conditions are met: | |
* Redistributions of source code must retain the above copyright | |
notice, this list of conditions and the following disclaimer. | |
* Redistributions in binary form must reproduce the above | |
copyright notice, this list of conditions and the following | |
disclaimer in the documentation and/or other materials provided | |
with the distribution. | |
* Neither the name of Vaibhav Sagar nor the names of other | |
contributors may be used to endorse or promote products derived | |
from this software without specific prior written permission. | |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
module Main where | |
main :: IO () | |
main = putStrLn "Hello, Haskell!" |
import Distribution.Simple | |
main = defaultMain |
cabal-version: >=1.10 | |
-- Initial package description 'small-viz.cabal' generated by 'cabal init'. | |
-- For further documentation, see http://haskell.org/cabal/users-guide/ | |
name: small-viz | |
version: 0.1.0.0 | |
-- synopsis: | |
-- description: | |
-- bug-reports: | |
license: BSD3 | |
license-file: LICENSE | |
author: Vaibhav Sagar | |
maintainer: vaibhavsagar@gmail.com | |
-- copyright: | |
-- category: | |
build-type: Simple | |
extra-source-files: CHANGELOG.md | |
executable small-viz | |
main-is: Main.hs | |
-- other-modules: | |
-- other-extensions: | |
build-depends: base >=4.12 && <4.13 | |
-- hs-source-dirs: | |
default-language: Haskell2010 |
#! /usr/bin/env nix-shell | |
#! nix-shell -i bash | |
#! nix-shell -p curl jq nix | |
set -eufo pipefail | |
FILE=$1 | |
PROJECT=$2 | |
OWNER=$(jq -r '.[$project].owner' --arg project "$PROJECT" < "$FILE") | |
REPO=$(jq -r '.[$project].repo' --arg project "$PROJECT" < "$FILE") | |
DEFAULT_BRANCH=$(jq -r '.[$project].branch // "master"' --arg project "$PROJECT" < "$FILE") | |
BRANCH=${3:-$DEFAULT_BRANCH} | |
REV=$(curl "https://api.github.com/repos/$OWNER/$REPO/branches/$BRANCH" | jq -r '.commit.sha') | |
SHA256=$(nix-prefetch-url --unpack "https://github.com/$OWNER/$REPO/tarball/$REV") | |
TJQ=$(jq '.[$project] = {owner: $owner, repo: $repo, branch: $branch, rev: $rev, sha256: $sha256}' \ | |
--arg project "$PROJECT" \ | |
--arg owner "$OWNER" \ | |
--arg repo "$REPO" \ | |
--arg branch "$BRANCH" \ | |
--arg rev "$REV" \ | |
--arg sha256 "$SHA256" \ | |
< "$FILE") | |
[[ $? == 0 ]] && echo "${TJQ}" >| "$FILE" |
{ | |
"reflex-platform": { | |
"owner": "reflex-frp", | |
"repo": "reflex-platform", | |
"branch": "develop", | |
"rev": "8f4b8973a06f78c7aaf1a222f8f8443cd934569f", | |
"sha256": "167smg7dyvg5yf1wn9bx6yxvazlk0qk64rzgm2kfzn9mx873s0vp" | |
} | |
} |