Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,7 @@
*.jsc
*.mo
/dist
*/.kdev4/*
.kdev4/*
*.kdev4
build/*
target/*
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "qmltermwidget"]
path = qmltermwidget
url = git@github.com:koldbyte/qmltermwidget.git
branch = 48274c75660e28d44af7c195e79accdf1bd44963_cmake_changes
21 changes: 21 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Set minimum CMake version (required for CMake 3.0 or later)
cmake_minimum_required(VERSION 3.1)

project(termoid)
set(PROJECT_NAME "termoid")
set(PROJECT_VERSION_MAJOR 1)
set(PROJECT_VERSION_MINOR 0)
set(PROJECT_VERSION_PATCH 0)
set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
set(PROJECT_AUTHOR "Bhaskar Divya")
set(PROJECT_YEAR_COPYRIGHT "2020")
set(PROJECT_URL "https://github.com/koldbyte/termoid")
set(PROJECT_DESCRIPTION_SUMMARY "Terminal on a Desktop")

set_property(GLOBAL PROPERTY GLOBAL_DEPENDS_DEBUG_MODE 1)

add_subdirectory(qmltermwidget)
add_subdirectory(plasmoid)

# Packaging stuff (deb, rpm etc)
add_subdirectory(packaging)
9 changes: 9 additions & 0 deletions ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,12 @@ Note that official KDE software is only mirrored on github, however github is mu
* Source Code
https://github.com/KDE/plasma-framework/tree/master/src/declarativeimports/
* [plasmapkg2 source code](https://github.com/KDE/plasma-framework/blob/master/src/plasmapkg/plasmapkg.cpp)


## Cleanup
```
rm -rf /usr/lib/qt/qml/qmlkonsole/
rm -rf /usr/share/kservices5/plasma-applet-com.koldbyte.kde.termoid.desktop
rm -rf /usr/share/metainfo/com.koldbyte.kde.termoid.appdata.xml
rm -rf /usr/share/plasma/plasmoids/com.koldbyte.kde.termoid
```
11 changes: 11 additions & 0 deletions make.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

set -e
rm -rf build
mkdir build -p && cd build
cmake -DCMAKE_INSTALL_PREFIX=`kf5-config --prefix` -DCMAKE_BUILD_TYPE=Release -DKDE_INSTALL_LIBDIR=lib -DKDE_INSTALL_USE_QT_SYS_PATHS=ON ../
make
sudo make package
sudo make install
kquitapp5 plasmashell
kstart5 plasmashell
45 changes: 45 additions & 0 deletions packaging/AUR/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Maintainer: Bhaskar Divya <bhaskar.divya007@gmail.com>
pkgname=termoid
pkgver=1.0.0
pkgrel=1
pkgdesc="Terminal on a desktop"
arch=('i686' 'x86_64')
url="https://github.com/koldbyte/termoid"
license=('GPL3')
groups=()
depends=('plasma-workspace')
makedepends=('cmake' 'extra-cmake-modules' 'ki18n' 'qt5-base' 'qt5-declarative' 'qt5-tools')
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=''
changelog=''
source=("termoid::git+https://github.com/koldbyte/termoid.git#branch=packaging-with-qmltermwidget"
"qmltermwidget::git+https://github.com/koldbyte/qmltermwidget.git#branch=08958f7c83a7d05627f623b8904f3e79a0b7366b_cmake_changes")
noextract=()
sha256sums=('SKIP' 'SKIP')

prepare() {
cp -r qmltermwidget termoid/
cd termoid
mkdir -p build
}

build() {
cd termoid/build
export QT_SELECT=5
cmake ../ \
-DCMAKE_INSTALL_PREFIX=`kf5-config --prefix` \
-DKDE_INSTALL_LIBDIR=lib \
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
-DCMAKE_BUILD_TYPE=Release
make
}

package() {
cd termoid/build
make DESTDIR="${pkgdir}" install
}
70 changes: 70 additions & 0 deletions packaging/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@

#------------------------------------------------------------------------------
# CPACK
include(InstallRequiredSystemLibraries)

set(CPACK_PACKAGE_VENDOR ${PROJECT_AUTHOR})
set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
set(CPACK_PACKAGE_CONTACT ${PROJECT_AUTHOR})
set(HOMEPAGE ${PROJECT_URL})
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJECT_DESCRIPTION_SUMMARY})
set(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/ReadMe.md")
#set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/license.md")
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})

set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CMAKE_PROJECT_NAME}")
set(CPACK_PACKAGE_DIRECTORY "${CMAKE_BINARY_DIR}/build")


# set human names to exetuables
#set(CPACK_PACKAGE_EXECUTABLES "exampleApp" "My Example Executable")
#set(CPACK_CREATE_DESKTOP_LINKS "exampleApp")
set(CPACK_STRIP_FILES TRUE)

# Linux specific
set(CPACK_GENERATOR "DEB;TBZ2;TXZ")
message(STATUS "Package generation - UNIX")
message(STATUS " + DEB YES ")
message(STATUS " + TBZ2 YES ")
message(STATUS " + TXZ YES ")

find_program(RPMBUILD_PATH rpmbuild)
if(RPMBUILD_PATH)
message(STATUS " + RPM YES ")
set(CPACK_GENERATOR "${CPACK_GENERATOR};RPM")
set(CPACK_RPM_PACKAGE_LICENSE "MIT")
# set(CPACK_RPM_PACKAGE_REQUIRES "gtkmm30")
# exclude folders which clash with default ones
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
${CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST}
/usr
/usr/bin
/usr/share
/usr/share/applications
/usr/share/doc
/usr/share/icons
/usr/share/icons/hicolor
/usr/share/icons/hicolor/256x256
/usr/share/icons/hicolor/256x256/apps
/usr/share/icons/gnome
/usr/share/icons/gnome/256x256
/usr/share/icons/gnome/256x256/apps)
else()
message(STATUS " + RPM NO ")
endif()

# TODO do this better
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "${HOMEPAGE}")
# set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
# set(CPACK_DEBIAN_PACKAGE_DEPENDS "libgtkmm-3.0")

#------------------------------------------------------------------------------
# and include CPack, so we get target for packages
include(CPack)



23 changes: 23 additions & 0 deletions plasmoid/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Set minimum CMake version (required for CMake 3.0 or later)
cmake_minimum_required(VERSION 3.1)

project(termoid)

# Use Extra CMake Modules (ECM) for common functionality.
# See http://api.kde.org/ecm/manual/ecm.7.html
# and http://api.kde.org/ecm/manual/ecm-kde-modules.7.html
find_package(ECM REQUIRED NO_MODULE)
# Needed by find_package(KF5Plasma) below.
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_MODULE_PATH})

include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings)

# Locate plasma_install_package macro.
find_package(KF5Plasma REQUIRED)
find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Quick)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Plasma)

# Add installatation target ("make install").
plasma_install_package(package com.koldbyte.kde.termoid)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import org.kde.plasma.plasmoid 2.0
import org.kde.plasma.core 2.0 as PlasmaCore
import org.kde.plasma.components 2.0 as PlasmaComponents

import QMLTermWidget 1.0
import qmlkonsole 1.0


import "../code/utils.js" as Utils
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Icon=utilities-terminal
X-KDE-PluginInfo-Author=Bhaskar Divya
X-KDE-PluginInfo-Email=
X-KDE-PluginInfo-Name=com.koldbyte.kde.termoid
X-KDE-PluginInfo-Version=0.4
X-KDE-PluginInfo-Version=1.0
X-KDE-PluginInfo-Website=https://github.com/koldbyte/termoid
X-KDE-PluginInfo-Category=Utilities
X-KDE-PluginInfo-Depends=qtermwidget
Expand Down
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions qmltermwidget
Submodule qmltermwidget added at b93f0b