diff --git a/com.angoosh.RDPConnect/RDPConnect.flatpak b/com.angoosh.RDPConnect/RDPConnect.flatpak index 9728705..1f89f85 100644 Binary files a/com.angoosh.RDPConnect/RDPConnect.flatpak and b/com.angoosh.RDPConnect/RDPConnect.flatpak differ diff --git a/com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml b/com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml index 7b7cb1b..eebb76e 100644 --- a/com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml +++ b/com.angoosh.RDPConnect/com.angoosh.RDPConnect.yml @@ -1,18 +1,62 @@ 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: + - cflags: "-03 -Wno-error" + - cxxflags: "-03 -Wno-error" + +cleanup: + - "*.a" + - "*.la" + - /include + - /lib/cmake + - /lib/pkgconfig + - /sbin + - /share/doc + - /share/examples + - /share/man + finish-args: + - --device=dri + - --share=ipc - --socket=x11 - --socket=wayland - --share=network + - --socket=pulseaudio + - --socket=cups - --filesystem=home - - --socket=system-bus - - --talk-name=org.freedesktop.Flatpak + - --socket=pcsc +# - --socket=system-bus +# - --talk-name=org.freedesktop.Flatpak + +add-build-extensions: + org.freedesktop.Platform.ffmpeg-full: + - directory: lib/ffmpeg + version: 23.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/cJSON.json + - modules/xprop.json + - modules/pcsc.json + - modules/krb5.json + - modules/opensc.json + - modules/freerdp.json + - name: python sources: - type: archive @@ -26,7 +70,7 @@ modules: - --share=network build-commands: - pip3 install PyGObject - + - name: rdpconnect buildsystem: simple build-commands: diff --git a/com.angoosh.RDPConnect/main.py b/com.angoosh.RDPConnect/main.py index 522c7ed..eda8ff0 100755 --- a/com.angoosh.RDPConnect/main.py +++ b/com.angoosh.RDPConnect/main.py @@ -110,7 +110,7 @@ class MyApp(Adw.Application): settings["extra_params"] = [] self.saveConnConf() - subprocess.Popen(["flatpak-spawn", "--host", "com.freerdp.FreeRDP", "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+settings["extra_params"]) + subprocess.Popen(["sdl-freerdp", "/v:"+str(conn_info["ip"]), "/u:"+str(conn_info["user"]), "/p:"+str(conn_info["passwd"])]+settings["extra_params"]) #subprocess.run(["xfreerdp", "/v:"+str(ip), "/u:"+str(user), "/p:"+str(passwd)]) if not os.path.isdir(HOMEDIR+"/.config/rdpconnect"): diff --git a/com.angoosh.RDPConnect/modules/cJSON.json b/com.angoosh.RDPConnect/modules/cJSON.json new file mode 100644 index 0000000..1df7f73 --- /dev/null +++ b/com.angoosh.RDPConnect/modules/cJSON.json @@ -0,0 +1,19 @@ +{ + "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" + } + ] +} diff --git a/com.angoosh.RDPConnect/modules/freerdp.json b/com.angoosh.RDPConnect/modules/freerdp.json new file mode 100644 index 0000000..4ff5ce9 --- /dev/null +++ b/com.angoosh.RDPConnect/modules/freerdp.json @@ -0,0 +1,46 @@ +{ + "name": "freerdp", + "buildsystem": "cmake-ninja", + "builddir": true, + "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" + ], + "sources": [ + { + "type": "git", + "url": "https://github.com/FreeRDP/FreeRDP.git", + "tag": "3.9.0", + "commit": "4ae5b6c25452211f01f370d3e6e481553e72778a" + } + ] +} diff --git a/com.angoosh.RDPConnect/modules/krb5.json b/com.angoosh.RDPConnect/modules/krb5.json new file mode 100644 index 0000000..d606328 --- /dev/null +++ b/com.angoosh.RDPConnect/modules/krb5.json @@ -0,0 +1,12 @@ +{ + "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" + } + ] +} diff --git a/com.angoosh.RDPConnect/modules/libusb.json b/com.angoosh.RDPConnect/modules/libusb.json new file mode 100644 index 0000000..f0fffe7 --- /dev/null +++ b/com.angoosh.RDPConnect/modules/libusb.json @@ -0,0 +1,22 @@ +{ + "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" + ] +} diff --git a/com.angoosh.RDPConnect/modules/opensc.json b/com.angoosh.RDPConnect/modules/opensc.json new file mode 100644 index 0000000..61e8feb --- /dev/null +++ b/com.angoosh.RDPConnect/modules/opensc.json @@ -0,0 +1,15 @@ +{ + "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" + } + ] +} diff --git a/com.angoosh.RDPConnect/modules/openssl.json b/com.angoosh.RDPConnect/modules/openssl.json new file mode 100644 index 0000000..968af76 --- /dev/null +++ b/com.angoosh.RDPConnect/modules/openssl.json @@ -0,0 +1,17 @@ +{ + "name": "openssl", + "buildsystem": "simple", + "build-commands": [ + "./config --prefix=/app --openssldir=/app --libdir=lib shared", + "make -j build_sw", + "make -j install_sw" + ], + "cleanup": [], + "sources": [ + { + "type": "archive", + "url": "https://github.com/openssl/openssl/releases/download/openssl-3.2.3/openssl-3.2.3.tar.gz", + "sha256": "52b5f1c6b8022bc5868c308c54fb77705e702d6c6f4594f99a0df216acf46239" + } + ] +} diff --git a/com.angoosh.RDPConnect/modules/pcsc.json b/com.angoosh.RDPConnect/modules/pcsc.json new file mode 100644 index 0000000..f5181b2 --- /dev/null +++ b/com.angoosh.RDPConnect/modules/pcsc.json @@ -0,0 +1,23 @@ +{ + "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" + ] +} diff --git a/com.angoosh.RDPConnect/modules/uriparser.json b/com.angoosh.RDPConnect/modules/uriparser.json new file mode 100644 index 0000000..db5ac9b --- /dev/null +++ b/com.angoosh.RDPConnect/modules/uriparser.json @@ -0,0 +1,23 @@ +{ + "name": "uriparser", + "buildsystem": "cmake-ninja", + "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": [ + { + "type": "git", + "url": "https://github.com/uriparser/uriparser.git", + "tag": "uriparser-0.9.7", + "commit": "634b678fa858abf1d1ebc0634e96e9e29596e92a" + } + ] +} diff --git a/com.angoosh.RDPConnect/modules/xprop.json b/com.angoosh.RDPConnect/modules/xprop.json new file mode 100644 index 0000000..c84451a --- /dev/null +++ b/com.angoosh.RDPConnect/modules/xprop.json @@ -0,0 +1,14 @@ +{ + "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" + ] +}