Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flatpak #414

Open
JakobDev opened this issue Jan 27, 2023 · 0 comments
Open

Flatpak #414

JakobDev opened this issue Jan 27, 2023 · 0 comments

Comments

@JakobDev
Copy link

JakobDev commented Jan 27, 2023

I created a Flatpak for JD-GUI. Place these files in the same directory:

io.github.java_decompiler.jd-gui.yaml

app-id: io.github.java_decompiler.jd-gui
runtime: org.freedesktop.Platform
runtime-version: '22.08'
sdk: org.freedesktop.Sdk
command: jd-gui
sdk-extensions:
  - org.freedesktop.Sdk.Extension.openjdk17
finish-args:
  - --socket=x11
  - --share=ipc
  - --device=dri
  - --share=network
  - --socket=pulseaudio
  - --filesystem=host:rw

modules:
  - name: openjdk
    buildsystem: simple
    build-commands:
      - /usr/lib/sdk/openjdk17/install.sh

  - name: jd-gui
    buildsystem: simple
    build-commands:
      - cp jd-gui.jar $FLATPAK_DEST
      - mkdir -p $FLATPAK_DEST/share/icons/hicolor/128x128/apps
      - unzip -p jd-gui.jar org/jd/gui/images/jd_icon_128.png > $FLATPAK_DEST/share/icons/hicolor/128x128/apps/$FLATPAK_ID.png
      - install -Dm644 io.github.java_decompiler.jd-gui.metainfo.xml -t $FLATPAK_DEST/share/metainfo
      - install -Dm644 io.github.java_decompiler.jd-gui.desktop -t $FLATPAK_DEST/share/applications
      - install -Dm755 jd-gui.sh $FLATPAK_DEST/bin/jd-gui
    sources:
      - type: file
        dest-filename: jd-gui.jar
        url: https://github.com/java-decompiler/jd-gui/releases/download/v1.6.6/jd-gui-1.6.6.jar
        sha256: 2c9d3efa8b06438a7284139f68f6efcbfb2a11e0b9d20a3370d50189685afc0b
        x-checker-data:
            type: json
            url: https://api.github.com/repos/java-decompiler/jd-gui/releases/latest
            version-query: .tag_name
            url-query: .assets[] | select(.name | test (".+\\d.jar$")) | .browser_download_url
            is-main-source: true
      - type: file
        path: io.github.java_decompiler.jd-gui.metainfo.xml
      - type: file
        path: io.github.java_decompiler.jd-gui.desktop
      - type: file
        path: jd-gui.sh

io.github.java_decompiler.jd-gui.metainfo.xml

<?xml version='1.0' encoding='utf-8'?>
<component type="desktop">
  <!--Created with jdAppdataEdit 5.1-->
  <id>io.github.java_decompiler.jd-gui</id>
  <name>JD-GUI</name>
  <summary>A standalone graphical utility that displays Java sources from CLASS files</summary>
  <developer_name>Java Decompiler project</developer_name>
  <launchable type="desktop-id">io.github.java_decompiler.jd-gui.desktop</launchable>
  <metadata_license>CC0-1.0</metadata_license>
  <project_license>GPL-3.0</project_license>
  <description>
    <p>JD-GUI is a standalone graphical utility that displays Java source codes of ".class" files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.</p>
  </description>
  <screenshots>
    <screenshot type="default">
      <image type="source">https://github.com/java-decompiler/jd-gui/raw/v1.6.6/src/website/img/jd-gui.png</image>
    </screenshot>
  </screenshots>
  <releases>
    <release version="v1.6.6" date="2019-12-25" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.6</url>
    </release>
    <release version="v1.6.5" date="2019-11-17" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.5</url>
    </release>
    <release version="v1.6.4" date="2019-11-02" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.4</url>
    </release>
    <release version="v1.6.3" date="2019-07-13" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.3</url>
    </release>
    <release version="v1.6.2" date="2019-06-30" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.2</url>
    </release>
    <release version="v1.6.1" date="2019-06-21" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.1</url>
    </release>
    <release version="v1.6.0" date="2019-06-16" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.6.0</url>
    </release>
    <release version="v1.5.2" date="2019-06-02" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.5.2</url>
    </release>
    <release version="v1.5.1" date="2019-05-26" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.5.1</url>
    </release>
    <release version="v1.5.0" date="2019-05-18" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.5.0</url>
    </release>
    <release version="v1.4.3" date="2019-05-12" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.4.3</url>
    </release>
    <release version="v1.4.2" date="2019-04-11" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.4.2</url>
    </release>
    <release version="v1.4.1" date="2019-03-09" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.4.1</url>
    </release>
    <release version="v1.4.0" date="2015-08-08" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.4.0</url>
    </release>
    <release version="v1.3.0" date="2015-07-18" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.3.0</url>
    </release>
    <release version="v1.2.0" date="2015-06-20" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.2.0</url>
    </release>
    <release version="v1.1.0" date="2015-05-23" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.1.0</url>
    </release>
    <release version="v1.0.0" date="2015-04-25" type="stable">
      <url>https://github.com/java-decompiler/jd-gui/releases/tag/v1.0.0</url>
    </release>
  </releases>
  <url type="homepage">https://java-decompiler.github.io/</url>
  <url type="bugtracker">https://github.com/java-decompiler/jd-gui/issues</url>
  <url type="donation">https://github.com/java-decompiler/jd-gui#donations</url>
  <url type="vcs-browser">https://github.com/java-decompiler/jd-gui</url>
  <categories>
    <category>Development</category>
    <category>Java</category>
  </categories>
  <recommends>
    <control>pointing</control>
    <control>keyboard</control>
  </recommends>
  <content_rating type="oars-1.1"/>
  <provides>
    <mediatype>application/x-java-archive</mediatype>
    <mediatype>application/java-archive</mediatype>
    <mediatype>application/x-jar</mediatype>
  </provides>
  <keywords>
    <keyword>Java</keyword>
    <keyword>Decompiler</keyword>
  </keywords>
</component>

io.github.java_decompiler.jd-gui.desktop

[Desktop Entry]
Type=Application
Name=JD-GUI
Comment=A standalone graphical utility that displays Java sources from CLASS files
Exec=jd-gui %f
Icon=io.github.java_decompiler.jd-gui
Categories=Development;Java;
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
StartupWMClass=org-jd-gui-App
Keywords=Java;Decompiler;

jd-gui.sh

#!/bin/sh
/app/jre/bin/java -jar /app/jd-gui.jar $1

Install decencies:

flatpak install org.freedesktop.Platform//22.08 org.freedesktop.Sdk//22.08 org.freedesktop.Sdk.Extension.openjdk17//22.08 org.flatpak.Builder

Build and install:

flatpak run org.flatpak.Builder build-dir io.github.java_decompiler.jd-gui.yaml --force-clean --install --user
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant