commit:     3e2cceff9553d594e46f5be9e77dded1c2541641
Author:     Huang Rui <vowstar <AT> gmail <DOT> com>
AuthorDate: Tue Aug 18 10:04:53 2020 +0000
Commit:     Rui Huang <vowstar <AT> gmail <DOT> com>
CommitDate: Tue Aug 18 10:04:53 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3e2cceff

sci-electronics/dsview: new package

DSView is an GUI programe for supporting various instruments.
The patches under ${FILESDIR} pushed to upstream:
https://github.com/DreamSourceLab/DSView/pull/335

Package-Manager: Portage-3.0.3, Repoman-3.0.0
Signed-off-by: Huang Rui <vowstar <AT> gmail.com>

 sci-electronics/dsview/Manifest                    |  1 +
 sci-electronics/dsview/dsview-1.12.ebuild          | 98 ++++++++++++++++++++++
 .../dsview/files/dsview-1.01-viewport.patch        | 10 +++
 .../dsview/files/dsview-1.12-cmake.patch           | 26 ++++++
 .../dsview/files/dsview-1.12-desktop.patch         | 20 +++++
 sci-electronics/dsview/metadata.xml                | 20 +++++
 6 files changed, 175 insertions(+)

diff --git a/sci-electronics/dsview/Manifest b/sci-electronics/dsview/Manifest
new file mode 100644
index 0000000..61e0d4c
--- /dev/null
+++ b/sci-electronics/dsview/Manifest
@@ -0,0 +1 @@
+DIST dsview-1.12.tar.gz 8150237 BLAKE2B 
0f746d0691f006d368cf9f40bf0c1b91223a7f6011d0ce55bdded7924ef940ecb18eec4bfe4cf842eea7eda85e97f3516a6f07e7e361eff991191e6d8bf7628c
 SHA512 
a0b90d654ea64121540815627e8559c147a0b3bb77d10b65d98587b1f67dc3c0ed4d1c022cd686c31aab2879ee602eade69a02f32c5c9947a3bbdf1e7ab475dd

diff --git a/sci-electronics/dsview/dsview-1.12.ebuild 
b/sci-electronics/dsview/dsview-1.12.ebuild
new file mode 100644
index 0000000..9cd110b
--- /dev/null
+++ b/sci-electronics/dsview/dsview-1.12.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9} )
+GITHUB_PN="DSView"
+
+inherit autotools cmake python-r1 xdg
+
+DESCRIPTION="An open source multi-function instrument"
+HOMEPAGE="
+       https://www.dreamsourcelab.com
+       https://github.com/DreamSourceLab/DSView
+"
+
+if [[ ${PV} == "9999" ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/DreamSourceLab/${GITHUB_PN}.git";
+else
+       
SRC_URI="https://github.com/DreamSourceLab/${GITHUB_PN}/archive/v${PV}.tar.gz 
-> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc 
~x86"
+       S="${WORKDIR}/${GITHUB_PN}-${PV}"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+
+RDEPEND="
+       dev-cpp/glibmm:2
+       dev-libs/boost
+       dev-libs/glib
+       dev-libs/libzip
+       dev-qt/qtcore:5
+       dev-qt/qtgui:5
+       dev-qt/qtwidgets:5
+       dev-qt/qtsvg:5
+       sci-libs/fftw:3.0
+       virtual/libusb:1
+"
+
+DEPEND="
+       ${RDEPEND}
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.01-viewport.patch
+       "${FILESDIR}"/${PN}-1.12-desktop.patch
+       "${FILESDIR}"/${PN}-1.12-cmake.patch
+)
+
+src_prepare() {
+       default
+
+       local LIBDIR="/usr/$(get_libdir)"
+
+       grep -rl "/usr/local/lib" "${S}" | xargs sed -i 
"s@/usr/local/lib@${LIBDIR}@g" || die
+       grep -rl "/usr/local" "${S}" | xargs sed -i "s@/usr/local@/usr@g" || die
+       cd "${S}/libsigrok4DSL" || die
+       sh ./autogen.sh || die
+       cd "${S}/libsigrokdecode4DSL" || die
+       sh ./autogen.sh || die
+}
+
+src_configure() {
+       local LIBDIR="/usr/$(get_libdir)"
+
+       cd "${S}/libsigrok4DSL" || die
+       sh ./configure --libdir=${LIBDIR} --prefix=/usr || die
+       cd "${S}/libsigrokdecode4DSL" || die
+       sh ./configure --libdir=${LIBDIR} --prefix=/usr || die
+}
+
+src_compile() {
+       cd "${S}/libsigrok4DSL" || die
+       emake DESTDIR="${D}"
+       cd "${S}/libsigrokdecode4DSL" || die
+       emake DESTDIR="${D}"
+       cd "${S}"
+}
+
+src_install() {
+       local LIBDIR="/usr/$(get_libdir)"
+
+       cd "${S}/libsigrok4DSL" || die
+       emake DESTDIR="${D}" install
+       cd "${S}/libsigrokdecode4DSL" || die
+       emake DESTDIR="${D}" install
+       cd "${S}/DSView" || die
+
+       DESTDIR="${D}" \
+       PKG_CONFIG_PATH="${D}${LIBDIR}/pkgconfig" \
+       CFLAGS="-I${D}/usr/include" \
+       CXXFLAGS="-I${D}/usr/include" \
+       LDFLAGS="-L${D}${LIBDIR}" \
+       cmake -DCMAKE_INSTALL_PREFIX=/usr . || die
+       emake DESTDIR="${D}" install
+}

diff --git a/sci-electronics/dsview/files/dsview-1.01-viewport.patch 
b/sci-electronics/dsview/files/dsview-1.01-viewport.patch
new file mode 100644
index 0000000..6f8f49d
--- /dev/null
+++ b/sci-electronics/dsview/files/dsview-1.01-viewport.patch
@@ -0,0 +1,10 @@
+--- a/DSView/pv/view/viewport.cpp
++++ b/DSView/pv/view/viewport.cpp
+@@ -37,7 +37,7 @@
+ 
+ #include <QMouseEvent>
+ #include <QStyleOption>
+-
++#include <QPainterPath>
+ 
+ #include <math.h>

diff --git a/sci-electronics/dsview/files/dsview-1.12-cmake.patch 
b/sci-electronics/dsview/files/dsview-1.12-cmake.patch
new file mode 100644
index 0000000..4b01365
--- /dev/null
+++ b/sci-electronics/dsview/files/dsview-1.12-cmake.patch
@@ -0,0 +1,26 @@
+diff --git a/DSView/CMakeLists.txt b/DSView/CMakeLists.txt
+index 29f848d..554952f 100755
+--- a/DSView/CMakeLists.txt
++++ b/DSView/CMakeLists.txt
+@@ -420,15 +420,17 @@ set_target_properties(${PROJECT_NAME} PROPERTIES 
INSTALL_RPATH "${CMAKE_INSTALL_
+ 
#-------------------------------------------------------------------------------
+ 
+ # Install the executable.
+-install(TARGETS ${PROJECT_NAME} DESTINATION bin/)
++install(TARGETS ${PROJECT_NAME} DESTINATION bin)
+ install(DIRECTORY res DESTINATION share/${PROJECT_NAME})
+ install(FILES icons/logo.svg DESTINATION share/${PROJECT_NAME} RENAME 
logo.svg)
++install(FILES icons/logo.svg DESTINATION share/icons/hicolor/scalable/apps 
RENAME dsview.svg)
++install(FILES icons/logo.svg DESTINATION share/pixmaps RENAME dsview.svg)
+ install(FILES ../NEWS25 DESTINATION share/${PROJECT_NAME} RENAME NEWS25)
+ install(FILES ../NEWS31 DESTINATION share/${PROJECT_NAME} RENAME NEWS31)
+ install(FILES ../ug25.pdf DESTINATION share/${PROJECT_NAME} RENAME ug25.pdf)
+ install(FILES ../ug31.pdf DESTINATION share/${PROJECT_NAME} RENAME ug31.pdf)
+-install(FILES DreamSourceLab.rules DESTINATION /etc/udev/rules.d/)
+-install(FILES DSView.desktop DESTINATION /usr/share/applications/)
++install(FILES DreamSourceLab.rules DESTINATION /lib/udev/rules.d RENAME 
60-dreamsourcelab.rules)
++install(FILES DSView.desktop DESTINATION /usr/share/applications RENAME 
dsview.desktop)
+ 
+ 
#===============================================================================
+ #= Packaging (handled by CPack)
+ 
\ No newline at end of file

diff --git a/sci-electronics/dsview/files/dsview-1.12-desktop.patch 
b/sci-electronics/dsview/files/dsview-1.12-desktop.patch
new file mode 100644
index 0000000..92e267e
--- /dev/null
+++ b/sci-electronics/dsview/files/dsview-1.12-desktop.patch
@@ -0,0 +1,20 @@
+diff --git a/DSView/DSView.desktop b/DSView/DSView.desktop
+index fba3202..e114324 100755
+--- a/DSView/DSView.desktop
++++ b/DSView/DSView.desktop
+@@ -1,9 +1,10 @@
+ [Desktop Entry]
+-Version=0.96
+-Exec=/usr/local/bin/DSView
++Type=Application
++Encoding=UTF-8
+ Name=DSView
+ Comment=GUI Program for DreamSourceLab USB-based Instruments
+-Icon=/usr/local/share/DSView/logo.png
+-Type=Application
++TryExec=DSView
++Exec=DSView
++Icon=dsview
+ Terminal=false
+-Categories=Development
++Categories=Development;Electronics;Qt;

diff --git a/sci-electronics/dsview/metadata.xml 
b/sci-electronics/dsview/metadata.xml
new file mode 100644
index 0000000..c58b17b
--- /dev/null
+++ b/sci-electronics/dsview/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>vows...@gmail.com</email>
+               <name>Huang Rui</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">DreamSourceLab/DSView</remote-id>
+       </upstream>
+       <longdescription lang="en">
+       DSView is an GUI programe for supporting various instruments from
+       DreamSourceLab, including logic analyzer, oscilloscope, etc. DSView is 
based
+       on sigrok project.
+       The sigrok project aims at creating a portable, cross-platform,
+       Free/Libre/Open-Source signal analysis software suite that supports 
various
+       device types (such as logic analyzers, oscilloscopes, multimeters, and
+       more).
+       </longdescription>
+</pkgmetadata>

Reply via email to