From ef4f0f3e18a7728289879e323b70814271d57f37 Mon Sep 17 00:00:00 2001 From: Angoosh Date: Wed, 19 Feb 2025 12:29:58 +0100 Subject: [PATCH] freerdp refactor to mirror official package build process --- .../com.angoosh.RDPConnect.yml | 15 ++-- .../modules/SDL2_image.json | 31 ++++++++ com.angoosh.RDPConnect/modules/SDL2_ttf.json | 31 ++++++++ com.angoosh.RDPConnect/modules/cJSON.json | 42 ++++++----- com.angoosh.RDPConnect/modules/freerdp.json | 70 +++++++++++-------- com.angoosh.RDPConnect/modules/krb5.json | 28 +++++--- com.angoosh.RDPConnect/modules/libusb.json | 37 +++++----- com.angoosh.RDPConnect/modules/opensc.json | 38 ++++++---- com.angoosh.RDPConnect/modules/pcsc.json | 50 +++++++------ .../modules/pkcs11-helper.json | 24 +++++++ com.angoosh.RDPConnect/modules/uriparser.json | 35 +++++----- com.angoosh.RDPConnect/modules/xprop.json | 32 +++++---- 12 files changed, 280 insertions(+), 153 deletions(-) create mode 100644 com.angoosh.RDPConnect/modules/SDL2_image.json create mode 100644 com.angoosh.RDPConnect/modules/SDL2_ttf.json create mode 100644 com.angoosh.RDPConnect/modules/pkcs11-helper.json diff --git a/com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml b/com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml index 14fcbc1..48fe765 100644 --- a/com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml +++ b/com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml @@ -1,10 +1,7 @@ id: com.angoosh.RDPConnect runtime: org.gnome.Platform -#runtime: org.freedesktop.Platform runtime-version: '47' -#runtime-version: '23.08' sdk: org.gnome.Sdk -#sdk: org.freedesktop.Sdk command: rdpconnect build-options: @@ -31,6 +28,7 @@ finish-args: - --socket=pulseaudio - --socket=cups - --filesystem=xdg-config + - --filesystem=xdg-download - --socket=pcsc # - --socket=system-bus # - --talk-name=org.freedesktop.Flatpak @@ -38,23 +36,24 @@ finish-args: add-build-extensions: org.freedesktop.Platform.ffmpeg-full: - directory: lib/ffmpeg - version: 23.08 + version: 24.08 add-ld-path: . org.freedesktop.Platform.openh264: - directory: lib/openh264 version: 2.4.1 add-ld-path: . - modules: - - modules/openssl.json - modules/libusb.json - - modules/uriparser.json + - modules/SDL2_ttf.json + - modules/SDL2_image.json - modules/cJSON.json - modules/xprop.json - modules/pcsc.json - - modules/krb5.json + - modules/uriparser.json + - modules/pkcs11-helper.json - modules/opensc.json + - modules/krb5.json - modules/freerdp.json - name: python diff --git a/com.angoosh.RDPConnect/modules/SDL2_image.json b/com.angoosh.RDPConnect/modules/SDL2_image.json new file mode 100644 index 0000000..6a18df8 --- /dev/null +++ b/com.angoosh.RDPConnect/modules/SDL2_image.json @@ -0,0 +1,31 @@ +{ + "name": "SDL2_image", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_VERBOSE_MAKEFILE=ON", + "-DCMAKE_BUILD_TYPE:STRING=Release", + "-DCMAKE_INSTALL_LIBDIR:PATH=lib" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/libsdl-org/SDL_image/releases/download/release-2.8.4/SDL2_image-2.8.4.tar.gz", + "sha256": "f7c06a8783952cfe960adccdd3d8472b63ab31475b4390d10cfdcc1aea61238f", + "x-checker-data": { + "type": "anitya", + "project-id": 4781, + "stable-only": true, + "url-template": "https://github.com/libsdl-org/SDL_image/releases/download/release-${version0}.${version1}.${version2}/SDL2_image-${version0}.${version1}.${version2}.tar.gz" + } + } + ], + "cleanup": [ + "/include", + "/lib/*.la", + "/lib/*.a", + "/lib/cmake", + "/share/aclocal", + "/lib/pkgconfig" + ] +} diff --git a/com.angoosh.RDPConnect/modules/SDL2_ttf.json b/com.angoosh.RDPConnect/modules/SDL2_ttf.json new file mode 100644 index 0000000..eff535f --- /dev/null +++ b/com.angoosh.RDPConnect/modules/SDL2_ttf.json @@ -0,0 +1,31 @@ +{ + "name": "SDL2_ttf", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_VERBOSE_MAKEFILE=ON", + "-DCMAKE_BUILD_TYPE:STRING=Release", + "-DCMAKE_INSTALL_LIBDIR:PATH=lib" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.24.0/SDL2_ttf-2.24.0.tar.gz", + "sha256": "0b2bf1e7b6568adbdbc9bb924643f79d9dedafe061fa1ed687d1d9ac4e453bfd", + "x-checker-data": { + "type": "anitya", + "project-id": 4784, + "stable-only": true, + "url-template": "https://github.com/libsdl-org/SDL_ttf/releases/download/release-${version0}.${version1}.${version2}/SDL2_ttf-${version0}.${version1}.${version2}.tar.gz" + } + } + ], + "cleanup": [ + "/include", + "/lib/*.la", + "/lib/*.a", + "/lib/cmake", + "/share/aclocal", + "/lib/pkgconfig" + ] +} diff --git a/com.angoosh.RDPConnect/modules/cJSON.json b/com.angoosh.RDPConnect/modules/cJSON.json index 1df7f73..14bc417 100644 --- a/com.angoosh.RDPConnect/modules/cJSON.json +++ b/com.angoosh.RDPConnect/modules/cJSON.json @@ -1,19 +1,25 @@ { - "name": "cjson", - "buildsystem": "cmake-ninja", - "cleanup": [], - "config-opts": [ - "-Wno-error", - "-DCMAKE_VERBOSE_MAKEFILE=ON", - "-DCMAKE_BUILD_TYPE:STRING=Release", - "-DCMAKE_INSTALL_LIBDIR:PATH=lib" - ], - "sources": [ - { - "type": "git", - "url": "https://github.com/DaveGamble/cJSON.git", - "tag": "v1.7.17", - "commit": "87d8f0961a01bf09bef98ff89bae9fdec42181ee" - } - ] -} + "name": "cjson", + "buildsystem": "cmake-ninja", + "builddir": true, + "cleanup": [], + "config-opts": [ + "-DCMAKE_VERBOSE_MAKEFILE=ON", + "-DCMAKE_BUILD_TYPE:STRING=Release", + "-DCMAKE_INSTALL_LIBDIR:PATH=lib", + "-DWITH_PULSE:BOOL=ON" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.18.tar.gz", + "sha256": "3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5", + "x-checker-data": { + "type": "anitya", + "project-id": 21330, + "stable-only": true, + "url-template": "https://github.com/DaveGamble/cJSON/archive/refs/tags/v${version0}.${version1}.${version2}.tar.gz" + } + } + ] +} \ No newline at end of file diff --git a/com.angoosh.RDPConnect/modules/freerdp.json b/com.angoosh.RDPConnect/modules/freerdp.json index 4ff5ce9..c22d464 100644 --- a/com.angoosh.RDPConnect/modules/freerdp.json +++ b/com.angoosh.RDPConnect/modules/freerdp.json @@ -5,42 +5,50 @@ "cleanup": [], "config-opts": [ "-DCMAKE_VERBOSE_MAKEFILE=ON", - "-DCMAKE_BUILD_TYPE:STRING=Release", - "-DCMAKE_INSTALL_LIBDIR:PATH=lib", - "-DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON", - "-DCHANNEL_TSMF:BOOL=OFF", - "-DCHANNEL_URBDRC:BOOL=ON", - "-DBUILD_TESTING:BOOL=OFF", - "-DWITH_MANPAGES:BOOL=OFF", - "-DWITH_KRB5:BOOL=ON", - "-DWITH_PCSC:BOOL=ON", - "-DWITH_SDL_IMAGE_DIALOGS:BOOL=ON", - "-DWITH_INTERNAL_MD4:BOOL=ON", - "-DWITH_INTERNAL_MD5:BOOL=ON", - "-DWITH_INTERNAL_RC4:BOOL=ON", - "-DWITH_PKCS11:BOOL=ON", - "-DWITH_SWSCALE:BOOL=ON", - "-DWITH_SERVER:BOOL=ON", - "-DWITH_SAMPLE:BOOL=ON", - "-DWITH_CUPS:BOOL=ON", - "-DWITH_OPUS:BOOL=ON", - "-DWITH_FUSE:BOOL=OFF", - "-DWITH_FFMPEG:BOOL=ON", - "-DWITH_WINPR_UTILS_IMAGE_PNG:BOOL=ON", - "-DWITH_WINPR_UTILS_IMAGE_WEBP:BOOL=ON", - "-DWITH_WINPR_UTILS_IMAGE_JPEG:BOOL=ON", - "-DWITH_URIPARSER:BOOL=ON", - "-DWITH_DSP_FFMPEG:BOOL=ON", - "-DWITH_OSS:BOOL=OFF", - "-DWITH_WEBVIEW:BOOL=OFF", - "-DWITH_PULSE:BOOL=ON" + "-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo", + "-DCMAKE_INSTALL_LIBDIR:PATH=lib", + "-DCHANNEL_TSMF:BOOL=OFF", + "-DCHANNEL_URBDRC:BOOL=ON", + "-DBUILD_TESTING:BOOL=OFF", + "-DWITH_MANPAGES:BOOL=OFF", + "-DWITH_WAYLAND:BOOL=ON", + "-DWITH_FUSE:BOOL=OFF", + "-DWITH_PCSC:BOOL=ON", + "-DWITH_PKCS11:BOOL=ON", + "-DWITH_SWSCALE:BOOL=ON", + "-DWITH_SERVER:BOOL=ON", + "-DWITH_SAMPLE:BOOL=ON", + "-DWITH_CUPS:BOOL=ON", + "-DWITH_SSE2:BOOL=ON", + "-DWITH_NEON:BOOL=ON", + "-DWITH_FFMPEG:BOOL=ON", + "-DWITH_VERBOSE_WINPR_ASSERT:BOOL=OFF", + "-DWITH_DSP_FFMPEG:BOOL=ON", + "-DWITH_FAAC:BOOL=OFF", + "-DWITH_INTERNAL_MD4:BOOL=ON", + "-DWITH_INTERNAL_MD5:BOOL=ON", + "-DWITH_INTERNAL_RC4:BOOL=ON", + "-DWINPR_UTILS_IMAGE_PNG:BOOL=ON", + "-DWINPR_UTILS_IMAGE_WEBP:BOOL=ON", + "-DWINPR_UTILS_IMAGE_JPEG:BOOL=ON", + "-DWITH_FAAD2:BOOL=OFF", + "-DWITH_OSS:BOOL=OFF", + "-DWITH_SDL_IMAGE_DIALOGS:BOOL=ON", + "-DWITH_WEBVIEW:BOOL=OFF", + "-DWITH_PULSE:BOOL=ON" ], "sources": [ { "type": "git", "url": "https://github.com/FreeRDP/FreeRDP.git", - "tag": "3.9.0", - "commit": "4ae5b6c25452211f01f370d3e6e481553e72778a" + "tag": "3.12.0", + "commit": "060e50d9ea722822c7b69d7a588f6c21b4e2512f" + "x-checker-data": { + "type": "anitya", + "project-id": 10442, + "stable-only": true, + "url-template": "https://github.com/FreeRDP/FreeRDP/releases/tag/${version0}.${version1}.${version2}" + } } ] } diff --git a/com.angoosh.RDPConnect/modules/krb5.json b/com.angoosh.RDPConnect/modules/krb5.json index d606328..20f3290 100644 --- a/com.angoosh.RDPConnect/modules/krb5.json +++ b/com.angoosh.RDPConnect/modules/krb5.json @@ -1,12 +1,18 @@ { - "name": "krb5", - "buildsystem": "autotools", - "subdir": "src", - "sources": [ - { - "type": "archive", - "url": "https://kerberos.org/dist/krb5/1.21/krb5-1.21.2.tar.gz", - "sha256": "9560941a9d843c0243a71b17a7ac6fe31c7cebb5bce3983db79e52ae7e850491" - } - ] -} + "name": "krb5", + "buildsystem": "autotools", + "subdir": "src", + "sources": [ + { + "type": "archive", + "url": "https://kerberos.org/dist/krb5/1.21/krb5-1.21.3.tar.gz", + "sha256": "b7a4cd5ead67fb08b980b21abd150ff7217e85ea320c9ed0c6dadd304840ad35", + "x-checker-data": { + "type": "anitya", + "project-id": 13287, + "stable-only": true, + "url-template": "https://kerberos.org/dist/krb5/${version0}.${version1}/krb5-${version0}.${version1}.${version2}.tar.gz" + } + } + ] +} \ No newline at end of file diff --git a/com.angoosh.RDPConnect/modules/libusb.json b/com.angoosh.RDPConnect/modules/libusb.json index f0fffe7..7a464bd 100644 --- a/com.angoosh.RDPConnect/modules/libusb.json +++ b/com.angoosh.RDPConnect/modules/libusb.json @@ -1,22 +1,19 @@ { - "name": "libusb", - "config-opts": [ - "--disable-static" - ], - "cleanup": [ - "/lib/*.la", - "/lib/pkgconfig", - "/include" - ], - "sources": [ - { - "type": "archive", - "url": - "https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2", - "sha256": "ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575" - } - ], - "post-install": [ - "install -Dm644 COPYING /app/share/licenses/libusb/COPYING" - ] + "name": "libusb", + "config-opts": [ "--disable-static" ], + "cleanup": [ + "/lib/*.la", + "/lib/pkgconfig", + "/include" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2", + "sha256": "ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575" + } + ], + "post-install": [ + "install -Dm644 COPYING ${FLATPAK_DEST}/share/licenses/libusb/COPYING" + ] } diff --git a/com.angoosh.RDPConnect/modules/opensc.json b/com.angoosh.RDPConnect/modules/opensc.json index 61e8feb..bf72c79 100644 --- a/com.angoosh.RDPConnect/modules/opensc.json +++ b/com.angoosh.RDPConnect/modules/opensc.json @@ -1,15 +1,25 @@ { - "name": "opensc", - "buildsystem": "autotools", - "cleanup": [], - "config-opts": [ - "CFLAGS=-Wno-error" - ], - "sources": [ - { - "type": "archive", - "url": "https://github.com/OpenSC/OpenSC/releases/download/0.25.0/opensc-0.25.0.tar.gz", - "sha256": "e6d7b66e2a508a377ac9d67aa463025d3c54277227be10bd08872e3407d6622f" - } - ] -} + "name": "opensc", + "buildsystem": "autotools", + "cleanup": [ + ], + "config-opts": [ + "--disable-assert", + "--disable-fuzzing", + "--disable-man", + "--disable-strict" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/OpenSC/OpenSC/releases/download/0.25.1/opensc-0.25.1.tar.gz", + "sha256": "23cbaae8bd7c8eb589b68c0a961dfb0d02007bea3165a3fc5efe2621d549b37b", + "x-checker-data": { + "type": "anitya", + "project-id": 13287, + "stable-only": true, + "url-template": "https://github.com/OpenSC/OpenSC/tags/${version0}.${version1}.${version2}" + } + } + ] +} \ No newline at end of file diff --git a/com.angoosh.RDPConnect/modules/pcsc.json b/com.angoosh.RDPConnect/modules/pcsc.json index f5181b2..714293c 100644 --- a/com.angoosh.RDPConnect/modules/pcsc.json +++ b/com.angoosh.RDPConnect/modules/pcsc.json @@ -1,23 +1,29 @@ { - "name": "pcsc", - "config-opts": [ - "--disable-libsystemd", - "--enable-pic", - "--disable-libusb", - "--disable-polkit", - "--enable-shared", - "--with-systemdsystemunitdir=/app/lib/systemd/" - ], - "sources": [ - { - "type": "git", - "url": "https://github.com/LudovicRousseau/PCSC.git", - "tag": "2.0.3", - "commit": "c4e7f6f9c6fe56fafd3f13c31fcc4f670ad6d022" - } - ], - "cleanup": [ - "/share/doc", - "/share/man" - ] -} + "name": "pcsc", + "config-opts": [ + "--disable-libsystemd", + "--enable-pic", + "--disable-libusb", + "--enable-shared", + "--disable-polkit", + "--with-systemdsystemunitdir=/app/lib/systemd/" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/LudovicRousseau/PCSC.git", + "tag": "2.3.0", + "commit": "a2c25c5fa25b5e2400fe6a002ea2263069ebd94f", + "x-checker-data": { + "type": "anitya", + "project-id": 2611, + "stable-only": true, + "url-template": "https://github.com/LudovicRousseau/PCSC/tags/${version0}.${version1}.${version2}" + } + } + ], + "cleanup": [ + "/share/doc", + "/share/man" + ] +} \ No newline at end of file diff --git a/com.angoosh.RDPConnect/modules/pkcs11-helper.json b/com.angoosh.RDPConnect/modules/pkcs11-helper.json new file mode 100644 index 0000000..a44577c --- /dev/null +++ b/com.angoosh.RDPConnect/modules/pkcs11-helper.json @@ -0,0 +1,24 @@ +{ + "name": "pkcs11-helper", + "buildsystem": "autotools", + "sources": [ + { + "type": "archive", + "url": "https://github.com/OpenSC/pkcs11-helper/archive/refs/tags/pkcs11-helper-1.30.0.tar.gz", + "sha256": "076c9f664812a45f2da25efc157338b0b8bb1949117f0144050fec176b6fdf78", + "x-checker-data": { + "type": "anitya", + "project-id": 91990, + "stable-only": true, + "url-template": "https://github.com/OpenSC/pkcs11-helper/archive/refs/tags/pkcs11-helper-$version.tar.gz" + } + }, + { + "type": "script", + "dest-filename": "autogen.sh", + "commands": [ + "autoreconf -vfi" + ] + } + ] +} diff --git a/com.angoosh.RDPConnect/modules/uriparser.json b/com.angoosh.RDPConnect/modules/uriparser.json index db5ac9b..9285582 100644 --- a/com.angoosh.RDPConnect/modules/uriparser.json +++ b/com.angoosh.RDPConnect/modules/uriparser.json @@ -1,23 +1,26 @@ { - "name": "uriparser", - "buildsystem": "cmake-ninja", - "cleanup": [ - ], - "config-opts": [ + "name": "urlparser", + "buildsystem": "cmake-ninja", + "builddir": true, + "cleanup": [], + "config-opts": [ "-DCMAKE_VERBOSE_MAKEFILE=ON", "-DCMAKE_BUILD_TYPE:STRING=Release", "-DCMAKE_INSTALL_LIBDIR:PATH=lib", - "-DURIPARSER_BUILD_TESTS:BOOL=OFF", "-DURIPARSER_BUILD_DOCS:BOOL=OFF", - "-DURIPARSER_BUILD_TOOLS:BOOL=OFF", - "-DURIPARSER_BUILD_WCHAR_T:BOOL=OFF" - ], - "sources": [ + "-DURIPARSER_BUILD_TESTS:BOOL=OFF" + ], + "sources": [ { - "type": "git", - "url": "https://github.com/uriparser/uriparser.git", - "tag": "uriparser-0.9.7", - "commit": "634b678fa858abf1d1ebc0634e96e9e29596e92a" + "type": "archive", + "url": "https://github.com/uriparser/uriparser/releases/download/uriparser-0.9.8/uriparser-0.9.8.tar.xz", + "sha256": "1d71c054837ea32a31e462bce5a1af272379ecf511e33448e88100b87ff73b2e", + "x-checker-data": { + "type": "anitya", + "project-id": 10160, + "stable-only": true, + "url-template": "https://github.com/uriparser/uriparser/releases/download/uriparser-${version0}.${version1}.${version2}/uriparser-${version0}.${version1}.${version2}.tar.xz" + } } - ] -} + ] +} \ No newline at end of file diff --git a/com.angoosh.RDPConnect/modules/xprop.json b/com.angoosh.RDPConnect/modules/xprop.json index c84451a..3684015 100644 --- a/com.angoosh.RDPConnect/modules/xprop.json +++ b/com.angoosh.RDPConnect/modules/xprop.json @@ -1,14 +1,20 @@ { - "name": "xprop", - "sources": [ - { - "type": "archive", - "url": "https://xorg.freedesktop.org/releases/individual/app/xprop-1.2.7.tar.xz", - "sha256": "4436e3148bb91a162406230d9f736a49ca8b50b74790015dc15d78d6ce8e825f" - } - ], - "cleanup": [ - "/share/doc", - "/share/man" - ] -} + "name": "xprop", + "sources": [ + { + "type": "archive", + "url": "https://xorg.freedesktop.org/releases/individual/app/xprop-1.2.8.tar.xz", + "sha256": "d689e2adb7ef7b439f6469b51cda8a7daefc83243854c2a3b8f84d0f029d67ee", + "x-checker-data": { + "type": "anitya", + "project-id": 14958, + "stable-only": true, + "url-template": "https://xorg.freedesktop.org/releases/individual/app/xprop-${version0}.${version1}.${version2}.tar.xz" + } + } + ], + "cleanup": [ + "/share/doc", + "/share/man" + ] +} \ No newline at end of file