Packaging your Crystal app into a Flatpak

This page summarizes the projects mentioned and recommended in the original post on dev.to

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. Collision

    Check hashes for your files - A GUI tool to generate, compare and verify MD5, SHA-1, SHA-256, SHA-512, Blake3, CRC32 & Adler32 hashes. (by GeopJr)

    app-id: dev.geopjr.Hashbrown runtime: org.gnome.Platform runtime-version: "3.38" sdk: org.gnome.Sdk command: hashbrown finish-args: - --socket=wayland - --socket=fallback-x11 - --share=ipc cleanup: - /include - /lib/pkgconfig - /share/doc - /share/man - "*.a" - "*.la" modules: - name: libevent sources: - type: git url: https://github.com/libevent/libevent.git tag: release-2.1.12-stable - name: hashbrown buildsystem: simple build-commands: - $(pwd)/crystal/bin/crystal build ./src/hashbrown.cr --no-debug --release - install -D -m 0755 hashbrown /app/bin/hashbrown - install -D -m 0644 extra/Hashbrown.desktop /app/share/applications/dev.geopjr.Hashbrown.desktop - install -D -m 0644 extra/icons/logo.svg /app/share/icons/hicolor/scalable/apps/dev.geopjr.Hashbrown.svg - install -D -m 0644 extra/icons/symbolic.svg /app/share/icons/hicolor/symbolic/apps/dev.geopjr.Hashbrown-symbolic.svg post-install: - install -D -m 0644 extra/dev.geopjr.Hashbrown.metainfo.xml /app/share/metainfo/dev.geopjr.Hashbrown.metainfo.xml sources: - type: git url: https://github.com/GeopJr/Hashbrown.git tag: v1.2.0 commit: 02ecf5cc5aacc32fc484fd9e348d2b1220168295 - type: archive dest: crystal/ url: https://github.com/crystal-lang/crystal/releases/download/1.0.0/crystal-1.0.0-1-linux-x86_64.tar.gz sha256: 00211ca77758e99210ec40b8c5517b086d2ff9909e089400f6d847a95e5689a4 - type: git url: https://github.com/jhass/crystal-gobject.git commit: 6468c57f8aa54b71c766d27b1e59e87a09ee8552 dest: lib/gobject - type: git url: https://github.com/elorest/compiled_license.git tag: v0.1.3 commit: f287c2c8c95579688fa5620df954d8cc1272cbbf dest: lib/compiled_license

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. libevent

    Event notification library

    app-id: dev.geopjr.Hashbrown runtime: org.gnome.Platform runtime-version: "3.38" sdk: org.gnome.Sdk command: hashbrown finish-args: - --socket=wayland - --socket=fallback-x11 - --share=ipc cleanup: - /include - /lib/pkgconfig - /share/doc - /share/man - "*.a" - "*.la" modules: - name: libevent sources: - type: git url: https://github.com/libevent/libevent.git tag: release-2.1.12-stable - name: hashbrown buildsystem: simple build-commands: - $(pwd)/crystal/bin/crystal build ./src/hashbrown.cr --no-debug --release - install -D -m 0755 hashbrown /app/bin/hashbrown - install -D -m 0644 extra/Hashbrown.desktop /app/share/applications/dev.geopjr.Hashbrown.desktop - install -D -m 0644 extra/icons/logo.svg /app/share/icons/hicolor/scalable/apps/dev.geopjr.Hashbrown.svg - install -D -m 0644 extra/icons/symbolic.svg /app/share/icons/hicolor/symbolic/apps/dev.geopjr.Hashbrown-symbolic.svg post-install: - install -D -m 0644 extra/dev.geopjr.Hashbrown.metainfo.xml /app/share/metainfo/dev.geopjr.Hashbrown.metainfo.xml sources: - type: git url: https://github.com/GeopJr/Hashbrown.git tag: v1.2.0 commit: 02ecf5cc5aacc32fc484fd9e348d2b1220168295 - type: archive dest: crystal/ url: https://github.com/crystal-lang/crystal/releases/download/1.0.0/crystal-1.0.0-1-linux-x86_64.tar.gz sha256: 00211ca77758e99210ec40b8c5517b086d2ff9909e089400f6d847a95e5689a4 - type: git url: https://github.com/jhass/crystal-gobject.git commit: 6468c57f8aa54b71c766d27b1e59e87a09ee8552 dest: lib/gobject - type: git url: https://github.com/elorest/compiled_license.git tag: v0.1.3 commit: f287c2c8c95579688fa5620df954d8cc1272cbbf dest: lib/compiled_license

  4. crystal

    The Crystal Programming Language

    app-id: dev.geopjr.Hashbrown runtime: org.gnome.Platform runtime-version: "3.38" sdk: org.gnome.Sdk command: hashbrown finish-args: - --socket=wayland - --socket=fallback-x11 - --share=ipc cleanup: - /include - /lib/pkgconfig - /share/doc - /share/man - "*.a" - "*.la" modules: - name: libevent sources: - type: git url: https://github.com/libevent/libevent.git tag: release-2.1.12-stable - name: hashbrown buildsystem: simple build-commands: - $(pwd)/crystal/bin/crystal build ./src/hashbrown.cr --no-debug --release - install -D -m 0755 hashbrown /app/bin/hashbrown - install -D -m 0644 extra/Hashbrown.desktop /app/share/applications/dev.geopjr.Hashbrown.desktop - install -D -m 0644 extra/icons/logo.svg /app/share/icons/hicolor/scalable/apps/dev.geopjr.Hashbrown.svg - install -D -m 0644 extra/icons/symbolic.svg /app/share/icons/hicolor/symbolic/apps/dev.geopjr.Hashbrown-symbolic.svg post-install: - install -D -m 0644 extra/dev.geopjr.Hashbrown.metainfo.xml /app/share/metainfo/dev.geopjr.Hashbrown.metainfo.xml sources: - type: git url: https://github.com/GeopJr/Hashbrown.git tag: v1.2.0 commit: 02ecf5cc5aacc32fc484fd9e348d2b1220168295 - type: archive dest: crystal/ url: https://github.com/crystal-lang/crystal/releases/download/1.0.0/crystal-1.0.0-1-linux-x86_64.tar.gz sha256: 00211ca77758e99210ec40b8c5517b086d2ff9909e089400f6d847a95e5689a4 - type: git url: https://github.com/jhass/crystal-gobject.git commit: 6468c57f8aa54b71c766d27b1e59e87a09ee8552 dest: lib/gobject - type: git url: https://github.com/elorest/compiled_license.git tag: v0.1.3 commit: f287c2c8c95579688fa5620df954d8cc1272cbbf dest: lib/compiled_license

  5. crystal-gobject

    gobject-introspection for Crystal

    app-id: dev.geopjr.Hashbrown runtime: org.gnome.Platform runtime-version: "3.38" sdk: org.gnome.Sdk command: hashbrown finish-args: - --socket=wayland - --socket=fallback-x11 - --share=ipc cleanup: - /include - /lib/pkgconfig - /share/doc - /share/man - "*.a" - "*.la" modules: - name: libevent sources: - type: git url: https://github.com/libevent/libevent.git tag: release-2.1.12-stable - name: hashbrown buildsystem: simple build-commands: - $(pwd)/crystal/bin/crystal build ./src/hashbrown.cr --no-debug --release - install -D -m 0755 hashbrown /app/bin/hashbrown - install -D -m 0644 extra/Hashbrown.desktop /app/share/applications/dev.geopjr.Hashbrown.desktop - install -D -m 0644 extra/icons/logo.svg /app/share/icons/hicolor/scalable/apps/dev.geopjr.Hashbrown.svg - install -D -m 0644 extra/icons/symbolic.svg /app/share/icons/hicolor/symbolic/apps/dev.geopjr.Hashbrown-symbolic.svg post-install: - install -D -m 0644 extra/dev.geopjr.Hashbrown.metainfo.xml /app/share/metainfo/dev.geopjr.Hashbrown.metainfo.xml sources: - type: git url: https://github.com/GeopJr/Hashbrown.git tag: v1.2.0 commit: 02ecf5cc5aacc32fc484fd9e348d2b1220168295 - type: archive dest: crystal/ url: https://github.com/crystal-lang/crystal/releases/download/1.0.0/crystal-1.0.0-1-linux-x86_64.tar.gz sha256: 00211ca77758e99210ec40b8c5517b086d2ff9909e089400f6d847a95e5689a4 - type: git url: https://github.com/jhass/crystal-gobject.git commit: 6468c57f8aa54b71c766d27b1e59e87a09ee8552 dest: lib/gobject - type: git url: https://github.com/elorest/compiled_license.git tag: v0.1.3 commit: f287c2c8c95579688fa5620df954d8cc1272cbbf dest: lib/compiled_license

  6. compiled_license

    Compiles all Licenses from project into binary for MIT compliance

    app-id: dev.geopjr.Hashbrown runtime: org.gnome.Platform runtime-version: "3.38" sdk: org.gnome.Sdk command: hashbrown finish-args: - --socket=wayland - --socket=fallback-x11 - --share=ipc cleanup: - /include - /lib/pkgconfig - /share/doc - /share/man - "*.a" - "*.la" modules: - name: libevent sources: - type: git url: https://github.com/libevent/libevent.git tag: release-2.1.12-stable - name: hashbrown buildsystem: simple build-commands: - $(pwd)/crystal/bin/crystal build ./src/hashbrown.cr --no-debug --release - install -D -m 0755 hashbrown /app/bin/hashbrown - install -D -m 0644 extra/Hashbrown.desktop /app/share/applications/dev.geopjr.Hashbrown.desktop - install -D -m 0644 extra/icons/logo.svg /app/share/icons/hicolor/scalable/apps/dev.geopjr.Hashbrown.svg - install -D -m 0644 extra/icons/symbolic.svg /app/share/icons/hicolor/symbolic/apps/dev.geopjr.Hashbrown-symbolic.svg post-install: - install -D -m 0644 extra/dev.geopjr.Hashbrown.metainfo.xml /app/share/metainfo/dev.geopjr.Hashbrown.metainfo.xml sources: - type: git url: https://github.com/GeopJr/Hashbrown.git tag: v1.2.0 commit: 02ecf5cc5aacc32fc484fd9e348d2b1220168295 - type: archive dest: crystal/ url: https://github.com/crystal-lang/crystal/releases/download/1.0.0/crystal-1.0.0-1-linux-x86_64.tar.gz sha256: 00211ca77758e99210ec40b8c5517b086d2ff9909e089400f6d847a95e5689a4 - type: git url: https://github.com/jhass/crystal-gobject.git commit: 6468c57f8aa54b71c766d27b1e59e87a09ee8552 dest: lib/gobject - type: git url: https://github.com/elorest/compiled_license.git tag: v0.1.3 commit: f287c2c8c95579688fa5620df954d8cc1272cbbf dest: lib/compiled_license

  7. flathub

    Issue tracker and new submissions

    Flathub is the biggest repo for flatpaks, however you can totally host your own if you want to. Flathub has some additional requirements that you need to pass. You can find all of them on their wiki. All you need to do afterwards is just make a PR and wait for it to be reviewed.

  8. It would be nice to see some Crystal apps on flathub (I believe Hashbrown is the only one at the moment). A crystal sdk (like rust's) and a shard builder tool to generate the shards automatically would greatly improve the experience, if anyone is up to doing them.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. flatpak-builder-tools

    Various helper tools for flatpak-builder

    It would be nice to see some Crystal apps on flathub (I believe Hashbrown is the only one at the moment). A crystal sdk (like rust's) and a shard builder tool to generate the shards automatically would greatly improve the experience, if anyone is up to doing them.

  11. flatpak

    Linux application sandboxing and distribution framework

    On this post, we are going to focus on Flatpak. Flatpak is a technology that aims to solve some of the issues that modern package systems have:

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • crystal-web-framework-stars

    2 projects | /r/crystal_programming | 11 Aug 2022
  • Advent of Code #1 (in Gleam)

    2 projects | dev.to | 30 Nov 2024
  • Understanding Ruby 3.3 Concurrency: A Comprehensive Guide

    1 project | news.ycombinator.com | 8 Nov 2024
  • Notes on the Crystal Language

    5 projects | news.ycombinator.com | 28 Sep 2024
  • Yes, Ruby is fast, but…

    4 projects | dev.to | 9 May 2024

Did you know that Crystal is
the 60th most popular programming language
based on number of references?