Skip to content

Instantly share code, notes, and snippets.

@straight-shoota
Last active January 31, 2024 11:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save straight-shoota/0d7cb177bf49bfd8a6dbc1d9d0c9ebf0 to your computer and use it in GitHub Desktop.
Save straight-shoota/0d7cb177bf49bfd8a6dbc1d9d0c9ebf0 to your computer and use it in GitHub Desktop.
Shards with `postinstall` scripts or `executables`

The following table shows all shards known to https://shardbox.org which have a executables defined in their latest release.

Date: 2024-01-31

executables postinstall repo
walter CRFLAGS=--release make build && (mkdir -p ../../bin; cp bin/walter ../../bin) github:gtramontina/walter.cr
protoc-gen-crystal shards build github:jeromegn/protobuf.cr
mssh github:tbrand/mssh
miniss github:noraj/miniss
migro make bin github:aisrael/migro
micrate shards build github:amberframework/micrate
libgen make bin/libgen github:olbat/libgen
lff github:mkdika/lff-cr
grpc_crystal shards build github:jgaskins/grpc
gi-crystal, compare-api shards build github:hugopl/gi-crystal
ebnf github:jrester/EBNF.cr
autobind shards build github:j8r/crystal-autobind
ameba, ameba.cr shards build -Dpreview_mt github:crystal-ameba/ameba

QUERY:

SELECT
  CONCAT(repos.resolver, ':', repos.url) AS repo,
  spec->'executables' AS executables,
  spec->'scripts'->'postinstall' AS postinstall
FROM releases
JOIN repos ON repos.shard_id = releases.shard_id AND repos.role = 'canonical'
WHERE
  latest AND
  spec->>'executables' IS NOT NULL;

The following table shows all shards known to https://shardbox.org which have a postinstall hook in their latest release.

Date: 2024-01-30

count postinstall repos
8 cd ext && make github:Axentro/Axentro, github:ysbaddaden/crystal-cmark, github:SushiChain/SushiChain, github:amauryt/cr-cmark-gfm, github:mamantoha/crystal-cmark-gfm, github:ysbaddaden/scrypt-crystal, github:axentro/crystal-argon2, github:sushichain/crystal-argon2
5 shards build github:jgaskins/grpc, github:hugopl/gi-crystal, github:j8r/crystal-autobind, github:amberframework/micrate, github:jeromegn/protobuf.cr
4 make bin github:hanneskaeufler/crytic, github:aisrael/migro, github:anykeyh/crystal-coverage, github:lbguilherme/crystal-coverage
3 BUILD_WITHOUT_DEVELOPMENT=true script/precompile_tasks github:luckyframework/avram, github:luckyframework/carbon, github:luckyframework/lucky
3 cd src/ext && make package github:kostya/modest, github:maiha/myhtml, github:kostya/myhtml
3 make github:oprypin/crsfml, github:hkalexling/image_size.cr, github:oprypin/crystal-imgui-sfml
3 mkdir ./.build; cc ./ext/monocypher.c -c -o ./.build/monocypher.o -O3 -march=native -std=gnu99; cc ./ext/monocypher-ed25519.c -c -o ./.build/monocypher-ed25519.o -O3 -march=native -std=gnu99; ar rcs ./.build/libmonocypher.a ./.build/monocypher.o ./.build/monocypher-ed25519.o github:axentro/monocypher.cr, github:konovod/monocypher.cr, github:sushichain/monocypher.cr
2 shards build; mkdir -p ../../bin/lucky/gen; cp $(pwd)/bin/gen.migration $(pwd)/../../bin/lucky/gen/migration github:luckyframework/record, github:luckyframework/lucky_migrator
2 cd src/glut/lib_extension && cmake . && make github:da1nerd/lib_glut, github:neutrinog/lib_glut
2 false | [ -f ../../sam.cr ] && true || cp -i examples/sam.template ../../sam.cr 2>/dev/null github:vulk/sam.cr, github:imdrasil/sam.cr
2 make run_file github:tilishop/spec_mirror.cr, github:wout/spec_mirror.cr
1 make -C ext clean libduktape github:jessedoyle/duktape.cr
1 make install github:gtramontina/ghooks.cr
1 make -j1 configure all github:hugopl/textui
1 make release=1 github:RomainFranceschini/crython
1 make release=true -C src/predict/ext github:RX14/predict.cr
1 make shim github:wout/rosetta
1 npm install github:noahlh/celestite
1 scripts/precompile_marten_cli github:martenframework/marten
1 shards github:Papierkorb/bindgen
1 shards build --debug --release && mkdir ../../bin && cp bin/panzer* ../../bin github:ysbaddaden/panzer
1 shards build -Dpreview_mt github:crystal-ameba/ameba
1 shards build generator --release github:ysbaddaden/java.cr
1 make build github:kemalyst/kemalyst-generator
1 ./build/zstd_install.sh github:didactic-drunk/zstd.cr
1 cd encryption && make github:sushichain/crystal-ecdsa
1 cd src/lib_stb_image/ext && make github:calebuharrison/LibSTBImage
1 c++ -fno-rtti -c src/librocksdb.cc -o src/librocksdb.o github:lbguilherme/rocksdb-crystal
1 cp -r ./lib_ext ../.. github:mswieboda/cray
1 CRFLAGS=--release make build && (mkdir -p ../../bin; cp bin/walter ../../bin) github:gtramontina/walter.cr
1 crystal run install.cr github:Anyolite/anyolite
1 crystal src/ext/build_ext.cr github:kostya/lexbor
1 make bin/libgen github:olbat/libgen
1 ./build/libsodium_install.sh github:didactic-drunk/sodium.cr

QUERY:

WITH postinstalls AS (
  SELECT
    CONCAT(repos.resolver, ':', repos.url) AS repo,
    shards.name AS shard_name,
    spec -> 'scripts' ->> 'postinstall' AS postinstall
  FROM
    releases
    JOIN shards ON shards.id = releases.shard_id
    JOIN repos ON repos.shard_id = releases.shard_id
    AND repos.role = 'canonical'
  WHERE
    latest
    AND spec ->> 'scripts' IS NOT NULL
)
SELECT
  COUNT(*),
  '`' || postinstall || '`' AS "postinstall",
  STRING_AGG(repo, ', ') AS "repos"
FROM
  postinstalls
GROUP BY
  postinstall
ORDER BY
  1 DESC;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment