# ermis-1.1.0.ebuild # c 2026 Alamahant EAPI=8 inherit cmake S="${WORKDIR}/Ermis-1.1.0" DESCRIPTION="Ermis - Multi-format Steganography Tool (Qt6)" HOMEPAGE="https://github.com/alamahant/Ermis" SRC_URI="https://github.com/alamahant/Ermis/archive/refs/tags/v1.1.0.tar.gz -> ${P}.tar.gz" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" IUSE="" BDEPEND="dev-build/cmake" RDEPEND=" dev-qt/qtbase:6[widgets,network,gui,concurrent] dev-qt/qtmultimedia:6 dev-libs/openssl " DEPEND="${RDEPEND} dev-build/cmake " src_prepare() { # Delete the original CMakeLists.txt rm -f CMakeLists.txt # Create new CMakeLists.txt with your content cat > CMakeLists.txt << 'EOF' cmake_minimum_required(VERSION 3.16) project(Ermis VERSION 1.1.0 LANGUAGES CXX) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 6.5 REQUIRED COMPONENTS Core Widgets Network Multimedia Concurrent) find_package(OpenSSL REQUIRED) find_package(PkgConfig REQUIRED) qt_standard_project_setup() set(PROJECT_SOURCES main.cpp mainwindow.cpp mainwindow.h mainwindow.ui passphrasedialog.h passphrasedialog.cpp stegengine.h stegengine.cpp constants.h constants.cpp audiostegengine.h audiostegengine.cpp audioplayer.h audioplayer.cpp ffmpeghandler.h ffmpeghandler.cpp helpmenudialog.cpp helpmenudialog.h donationdialog.cpp donationdialog.h videostegengine.cpp videostegengine.h textstegengine.cpp textstegengine.h textstegdialog.cpp textstegdialog.h icmpstegengine.cpp icmpstegengine.h pingdialog.cpp pingdialog.h ipfilter.cpp ipfilter.h udpstegengine.cpp udpstegengine.h ertp_structs.h dnsstegengine.cpp dnsstegengine.h httpstegengine.cpp httpstegengine.h resources.qrc ) qt_add_executable(Ermis WIN32 MACOSX_BUNDLE ${PROJECT_SOURCES} ) target_link_libraries(Ermis PRIVATE Qt6::Core Qt6::Widgets Qt6::Network Qt6::Multimedia Qt6::Concurrent OpenSSL::SSL OpenSSL::Crypto ) set_target_properties(Ermis PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} MACOSX_BUNDLE TRUE WIN32_EXECUTABLE TRUE ) include(GNUInstallDirs) install(TARGETS Ermis BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ) EOF cmake_src_prepare } src_configure() { local mycmakeargs=( ) cmake_src_configure } src_install() { cmake_src_install # Desktop file insinto /usr/share/applications doins "${S}/io.github.alamahant.Ermis.desktop" # Install icons insinto /usr/share/icons/hicolor/16x16/apps newins "${S}/resources/favicon/favicon-16x16.png" io.github.alamahant.Ermis.png insinto /usr/share/icons/hicolor/32x32/apps newins "${S}/resources/favicon/favicon-32x32.png" io.github.alamahant.Ermis.png insinto /usr/share/icons/hicolor/192x192/apps newins "${S}/resources/favicon/android-chrome-192x192.png" io.github.alamahant.Ermis.png insinto /usr/share/icons/hicolor/512x512/apps newins "${S}/io.github.alamahant.Ermis.png" io.github.alamahant.Ermis.png elog "==================================================" elog "ERMIS requires raw socket access for ICMP and" elog "ping-based steganography features." elog "" elog "If these features do not work, run one of these:" elog "" elog " sudo setcap cap_net_raw+ep /usr/bin/Ermis" elog " OR" elog " sudo chmod u+s /usr/bin/Ermis" elog "" elog "Choose setcap (more secure) or suid (traditional)." elog "==================================================" }