mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-24 11:39:46 -05:00
gnu: highlight: Add "gui" output.
* gnu/packages/pretty-print.scm (highlight): Add gui output. [source]: Add patch for GUI data directory. [outputs]: Add gui. [arguments]<phases>{fix-search-for-lua}: Fix Lua package name for GUI. {build-gui}: Add phase to build GUI. {install}: Set PREFIX variable. {install-gui}: Add phase to install GUI. [inputs]: Add qtbase-5. * gnu/packages/patches/highlight-gui-data-dir.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
5d14e1c0b0
commit
820bf78cbc
3 changed files with 103 additions and 15 deletions
|
@ -1373,6 +1373,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/hdf-eos5-fortrantests.patch \
|
||||
%D%/packages/patches/heimdal-CVE-2022-45142.patch \
|
||||
%D%/packages/patches/helm-fix-gcc-9-build.patch \
|
||||
%D%/packages/patches/highlight-gui-data-dir.patch \
|
||||
%D%/packages/patches/http-parser-CVE-2020-8287.patch \
|
||||
%D%/packages/patches/htslib-for-stringtie.patch \
|
||||
%D%/packages/patches/hubbub-sort-entities.patch \
|
||||
|
|
51
gnu/packages/patches/highlight-gui-data-dir.patch
Normal file
51
gnu/packages/patches/highlight-gui-data-dir.patch
Normal file
|
@ -0,0 +1,51 @@
|
|||
This patch distinguishes between the data directory path for GUI and the one
|
||||
for non-GUI by allowing to set the former path.
|
||||
|
||||
highlight package has two outputs: out and gui. Both outputs have files which
|
||||
will be in the same directory /share/highlight/ without this patch (see also
|
||||
install and install-gui tasks in makefile). In the gui's data directory,
|
||||
there are GUI specific files in /share/highlight/gui-files/{l10n,ext}/.
|
||||
|
||||
diff --git a/src/gui-qt/main.cpp b/src/gui-qt/main.cpp
|
||||
index 4700dc1..3567745 100644
|
||||
--- a/src/gui-qt/main.cpp
|
||||
+++ b/src/gui-qt/main.cpp
|
||||
@@ -47,8 +47,8 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
QTranslator translator;
|
||||
-#ifdef DATA_DIR
|
||||
- translator.load(QString("%1/gui_files/l10n/highlight_%2").arg(DATA_DIR).arg(QLocale::system().name()));
|
||||
+#ifdef GUI_DATA_DIR
|
||||
+ translator.load(QString("%1/gui_files/l10n/highlight_%2").arg(GUI_DATA_DIR).arg(QLocale::system().name()));
|
||||
#else
|
||||
translator.load(QString("%1/gui_files/l10n/highlight_%2").arg(QDir::currentPath()).arg(QLocale::system().name()));
|
||||
#endif
|
||||
diff --git a/src/gui-qt/mainwindow.cpp b/src/gui-qt/mainwindow.cpp
|
||||
index 3a21ad2..f060431 100644
|
||||
--- a/src/gui-qt/mainwindow.cpp
|
||||
+++ b/src/gui-qt/mainwindow.cpp
|
||||
@@ -2131,8 +2131,8 @@ QString MainWindow::getDistFileFilterPath(){
|
||||
#ifdef Q_OS_OSX
|
||||
return QCoreApplication::applicationDirPath()+"/../Resources/gui_files/ext/fileopenfilter.conf";
|
||||
#else
|
||||
- #ifdef DATA_DIR
|
||||
- return QString(DATA_DIR) + "/gui_files/ext/fileopenfilter.conf";
|
||||
+ #ifdef GUI_DATA_DIR
|
||||
+ return QString(GUI_DATA_DIR) + "/gui_files/ext/fileopenfilter.conf";
|
||||
#else
|
||||
return QDir::currentPath()+"/gui_files/ext/fileopenfilter.conf";
|
||||
#endif
|
||||
diff --git a/src/makefile b/src/makefile
|
||||
index b1d7988..2963105 100644
|
||||
--- a/src/makefile
|
||||
+++ b/src/makefile
|
||||
@@ -118,7 +118,7 @@ gui-qt: highlight-gui
|
||||
|
||||
highlight-gui: libhighlight.a ${GUI_OBJECTS}
|
||||
cd gui-qt && \
|
||||
- ${QMAKE} 'DEFINES+=DATA_DIR=\\\"${HL_DATA_DIR}\\\" CONFIG_DIR=\\\"${HL_CONFIG_DIR}\\\" DOC_DIR=\\\"${HL_DOC_DIR}\\\" ' && \
|
||||
+ ${QMAKE} 'DEFINES+=DATA_DIR=\\\"${HL_DATA_DIR}\\\" CONFIG_DIR=\\\"${HL_CONFIG_DIR}\\\" DOC_DIR=\\\"${HL_DOC_DIR}\\\" GUI_DATA_DIR=\\\"${GUI_DATA_DIR}\\\" ' && \
|
||||
$(MAKE)
|
||||
|
||||
$(OBJECTFILES) : makefile
|
|
@ -52,7 +52,8 @@ (define-module (gnu packages pretty-print)
|
|||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages swig))
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages qt))
|
||||
|
||||
(define-public a2ps
|
||||
(package
|
||||
|
@ -352,13 +353,15 @@ (define-public highlight
|
|||
(package
|
||||
(name "highlight")
|
||||
(version "4.7")
|
||||
(outputs (list "out" "gui"))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.andre-simon.de/zip/highlight-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cl21qpgy92w1x53vrn1bgq84mkh6fgayc9k38mz4xmz2yw01nv1"))))
|
||||
"1cl21qpgy92w1x53vrn1bgq84mkh6fgayc9k38mz4xmz2yw01nv1"))
|
||||
(patches (search-patches "highlight-gui-data-dir.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no tests
|
||||
|
@ -371,17 +374,44 @@ (define-public highlight
|
|||
(delete 'configure) ;no configure script
|
||||
(add-after 'unpack 'fix-search-for-lua
|
||||
(lambda _
|
||||
(substitute* "src/makefile"
|
||||
(("(LUA_PKG_NAME=).*" _ assignment)
|
||||
(string-append assignment "lua-"
|
||||
#$(version-major+minor (package-version
|
||||
lua))
|
||||
"\n")))
|
||||
(substitute* "extras/swig/makefile"
|
||||
(("lua")
|
||||
(string-append "lua-"
|
||||
#$(version-major+minor (package-version
|
||||
lua)))))))
|
||||
(let ((ver #$(version-major+minor (package-version
|
||||
lua))))
|
||||
(substitute* "src/makefile"
|
||||
(("(LUA_PKG_NAME=).*" _ assignment)
|
||||
(string-append assignment "lua-" ver "\n")))
|
||||
(substitute* "src/gui-qt/highlight.pro"
|
||||
(("(PKGCONFIG \\+= lua)" _ assignment)
|
||||
(string-append assignment "-" ver)))
|
||||
(substitute* "extras/swig/makefile"
|
||||
(("lua")
|
||||
(string-append "lua-" ver))))))
|
||||
(add-after 'build 'build-gui
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(data (string-append out
|
||||
"/share/highlight/"))
|
||||
(conf (string-append out "/etc/highlight/"))
|
||||
(doc (string-append out
|
||||
"/share/doc/highlight/"))
|
||||
(gui (assoc-ref outputs "gui"))
|
||||
(gui-data (string-append gui
|
||||
"/share/highlight/")))
|
||||
;; modified version of gui task in makefile
|
||||
(invoke "make"
|
||||
"-C"
|
||||
"./src"
|
||||
"-f"
|
||||
"./makefile"
|
||||
(string-append "HL_DATA_DIR=" data)
|
||||
(string-append "HL_CONFIG_DIR=" conf)
|
||||
(string-append "HL_DOC_DIR=" doc)
|
||||
(string-append "GUI_DATA_DIR=" gui-data)
|
||||
"gui-qt"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "install"
|
||||
(string-append "PREFIX=" out)))))
|
||||
(add-after 'install 'install-perl-bindings
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((perldir (string-append (assoc-ref outputs
|
||||
|
@ -394,8 +424,14 @@ (define-public highlight
|
|||
(invoke "make" "perl")
|
||||
(invoke "perl" "-I" "." "testmod.pl")
|
||||
(install-file "highlight.pm" perldir)
|
||||
(install-file "highlight.so" autodir))))))))
|
||||
(inputs (list lua boost perl))
|
||||
(install-file "highlight.so" autodir)))))
|
||||
(add-after 'install 'install-gui
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((gui (assoc-ref outputs "gui")))
|
||||
(mkdir-p (string-append gui "/bin"))
|
||||
(invoke "make" "install-gui"
|
||||
(string-append "PREFIX=" gui))))))))
|
||||
(inputs (list lua boost perl qtbase-5))
|
||||
(native-inputs (list pkg-config swig))
|
||||
(home-page "http://www.andre-simon.de/doku/highlight/en/highlight.php")
|
||||
(synopsis "Convert code to documents with syntax highlighting")
|
||||
|
|
Loading…
Reference in a new issue