getsolus / 3rd-party

Extra 3rd party packages
21 stars 23 forks source link

Convert packages without a Flatpak alternative to the YPKG format #73

Open livingsilver94 opened 12 months ago

livingsilver94 commented 12 months ago

(List copied verbatim from #72 )

Packages in 3rd party without a flatpak version

EbonJaeger commented 12 months ago

I started playing around with this earlier but got stuck actually building the package because it's trying to download README.solus from the wrong URL. No idea where it gets that from.

livingsilver94 commented 12 months ago

Mind to share some code to reproduce it?

EbonJaeger commented 12 months ago

I created this package.yml file for Sublime Text:

name       : sublime-text
version    : '4152'
release    : 15
source     :
    - https://download.sublimetext.com/sublime_text_build_4152_x64.tar.xz : 6ede3c83519959897041c6506e850753c19962603b71bd9f73a625ae1e4d3554
homepage   : https://www.sublimetext.com
license    :
    - Proprietary
    - EULA
component  : programming
summary    : Sublime Text is a sophisticated text editor for code, markup and prose
description: |
    Sublime Text is a sophisticated text editor for code, markup and prose.
replaces   : sublime-text-3
builddeps  :
    - pkgconfig(gconf-2.0)
    - pkgconfig(libglvnd)
    - pkgconfig(xscrnsaver)
install    : |
    install -dm00755 $installdir/usr/bin
    install -dm00755 $installdir/usr/share/sublime_text

    cp -R ./* $installdir/usr/share/sublime_text

    ln -s /usr/share/sublime_text/sublime_text $installdir/usr/bin/sublime_text
    ln -s /usr/share/sublime_text/sublime_text $installdir/usr/bin/subl

    install -Dm00644 sublime_text.desktop $installdir/usr/share/applications/sublime_text.desktop

    for icon_size in 16 32 48 128 256
    do
        install -Dm00644 ./Icon/${icon_size}x${icon_size}/sublime-text.png $installdir/usr/share/icons/hicolor/${icon_size}x${icon_size}/apps/sublime-text.png
    done

and built it with solbuild via the go-task work that's been added to common, which generated the following pspec file:

<PISI>
    <Source>
        <Name>sublime-text</Name>
        <Homepage>https://www.sublimetext.com</Homepage>
        <Packager>
            <Name>Evan Maddock</Name>
            <Email>maddock.evan@vivaldi.net</Email>
        </Packager>
        <License>Proprietary</License>
        <License>EULA</License>
        <PartOf>programming</PartOf>
        <Summary xml:lang="en">Sublime Text is a sophisticated text editor for code, markup and prose</Summary>
        <Description xml:lang="en">Sublime Text is a sophisticated text editor for code, markup and prose.
</Description>
        <Archive type="binary" sha1sum="79eb0752a961b8e0d15c77d298c97498fbc89c5a">https://getsol.us/sources/README.Solus</Archive>
    </Source>
    <Package>
        <Name>sublime-text</Name>
        <Summary xml:lang="en">Sublime Text is a sophisticated text editor for code, markup and prose</Summary>
        <Description xml:lang="en">Sublime Text is a sophisticated text editor for code, markup and prose.
</Description>
        <PartOf>programming</PartOf>
        <Files>
            <Path fileType="executable">/usr/bin/subl</Path>
            <Path fileType="executable">/usr/bin/sublime_text</Path>
            <Path fileType="data">/usr/share/applications/sublime_text.desktop</Path>
            <Path fileType="data">/usr/share/icons/hicolor/128x128/apps/sublime-text.png</Path>
            <Path fileType="data">/usr/share/icons/hicolor/16x16/apps/sublime-text.png</Path>
            <Path fileType="data">/usr/share/icons/hicolor/256x256/apps/sublime-text.png</Path>
            <Path fileType="data">/usr/share/icons/hicolor/32x32/apps/sublime-text.png</Path>
            <Path fileType="data">/usr/share/icons/hicolor/48x48/apps/sublime-text.png</Path>
            <Path fileType="data">/usr/share/sublime_text/Icon/128x128/sublime-text.png</Path>
            <Path fileType="data">/usr/share/sublime_text/Icon/16x16/sublime-text.png</Path>
            <Path fileType="data">/usr/share/sublime_text/Icon/256x256/sublime-text.png</Path>
            <Path fileType="data">/usr/share/sublime_text/Icon/32x32/sublime-text.png</Path>
            <Path fileType="data">/usr/share/sublime_text/Icon/48x48/sublime-text.png</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3.3.zip</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3.8.zip</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3/certifi/LICENSE</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3/certifi/__init__.py</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3/certifi/__main__.py</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3/certifi/__pycache__/__init__.cpython-38.opt-1.pyc</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3/certifi/__pycache__/core.cpython-38.opt-1.pyc</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3/certifi/cacert.pem</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3/certifi/core.py</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python3/certifi/py.typed</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python33/sublime.py</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python33/sublime_plugin.py</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python38/sublime.py</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python38/sublime_plugin.py</Path>
            <Path fileType="data">/usr/share/sublime_text/Lib/python38/sublime_types.py</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/ASP.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/ActionScript.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/AppleScript.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Batch File.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Binary.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/C#.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/C++.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/CSS.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Clojure.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Color Scheme - Default.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Color Scheme - Legacy.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/D.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Default.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Diff.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Erlang.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Git Formats.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Go.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Graphviz.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Groovy.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/HTML.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Haskell.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/JSON.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Java.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/JavaScript.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/LaTeX.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Language - English.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Lisp.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Lua.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Makefile.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Markdown.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Matlab.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/OCaml.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Objective-C.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/PHP.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Pascal.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Perl.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Python.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/R.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Rails.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Regular Expressions.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/RestructuredText.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Ruby.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Rust.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/SQL.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Scala.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/ShellScript.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/TCL.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Text.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Textile.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Theme - Default.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/Vintage.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/XML.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/Packages/YAML.sublime-package</Path>
            <Path fileType="data">/usr/share/sublime_text/changelog.txt</Path>
            <Path fileType="data">/usr/share/sublime_text/crash_reporter</Path>
            <Path fileType="data">/usr/share/sublime_text/libcrypto.so.1.1</Path>
            <Path fileType="data">/usr/share/sublime_text/libsqlite3.so</Path>
            <Path fileType="data">/usr/share/sublime_text/libssl.so.1.1</Path>
            <Path fileType="data">/usr/share/sublime_text/plugin_host-3.3</Path>
            <Path fileType="data">/usr/share/sublime_text/plugin_host-3.8</Path>
            <Path fileType="data">/usr/share/sublime_text/sublime_text</Path>
            <Path fileType="data">/usr/share/sublime_text/sublime_text.desktop</Path>
        </Files>
        <Replaces>
            <Package>sublime-text-3</Package>
        </Replaces>
    </Package>
    <History>
        <Update release="15">
            <Date>2023-08-31</Date>
            <Version>4152</Version>
            <Comment>Packaging update</Comment>
            <Name>Evan Maddock</Name>
            <Email>maddock.evan@vivaldi.net</Email>
        </Update>
    </History>
</PISI>

Trying to then build from the pspec file with sudo eopkg bi --ignore-safety pspec_x86_64.xml resulted in this:

image

HarveyDevel commented 11 months ago

https://github.com/getsolus/ypkg/blob/666339ee9bab4e227ebfe210c081b8bc1717cc0d/ypkg2/metadata.py#L466

ermo commented 10 months ago

@EbonJaeger :

Trying to then build from the pspec file with sudo eopkg bi --ignore-safety pspec_x86_64.xml resulted in this: (...)

The line Harvey highlighted above has been fixed in ypkg2 master now.

ermo commented 4 months ago

The question is if we need to draw a line in the sand and decide to retire these packages for good with the move to flatpak...