gnu: cool-retro-term: Update to 1.0.1.

* gnu/packages/terminals.scm (cool-retro-term): Update to 1.0.1.
[source]: Programmatically remove fonts.
[arguments]: Simplify 'configure phase and use 'invoke'.  Add 'install-man
phase.  'let*' -> 'let' where possible.
* gnu/packages/patches/cool-retro-term-remove-non-free-fonts.patch: Delete.
* gnu/local.mk (dist_patch_DATA): Remove it.
This commit is contained in:
Eric Bavier 2018-03-21 00:04:12 -05:00
parent e90c5f35d1
commit 306d8630dc
No known key found for this signature in database
GPG Key ID: FD73CAC719D32566
3 changed files with 123 additions and 261 deletions

View File

@ -608,7 +608,6 @@ dist_patch_DATA = \
%D%/packages/patches/cool-retro-term-dont-check-uninit-member.patch \
%D%/packages/patches/cool-retro-term-fix-array-size.patch \
%D%/packages/patches/cool-retro-term-memory-leak-1.patch \
%D%/packages/patches/cool-retro-term-remove-non-free-fonts.patch \
%D%/packages/patches/cpio-CVE-2016-2037.patch \
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
%D%/packages/patches/cracklib-CVE-2016-6318.patch \

View File

@ -1,205 +0,0 @@
From 96ceffdfdcedd3ae33c46b11357aa2518e0a6152 Mon Sep 17 00:00:00 2001
From: Petter <petter@mykolab.ch>
Date: Thu, 27 Apr 2017 18:55:10 +0200
Subject: [PATCH] Remove non-free fonts from settings menu
--- a/app/qml/ApplicationSettings.qml
+++ b/app/qml/ApplicationSettings.qml
@@ -409,7 +409,7 @@
obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.1,"contrast":0.85,"fontName":"TERMINUS_SCALED","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.2,"horizontalSync":0.16,"jitter":0.18,"burnIn":0.45,"staticNoise":0.1,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
builtin: true
}
- ListElement{
+ /*ListElement{
text: "Default Scanlines"
obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.1,"contrast":0.85,"fontName":"COMMODORE_PET","fontColor":"#00ff5b","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.2,"horizontalSync":0.14,"jitter":0.11,"burnIn":0.4,"staticNoise":0.05,"rasterization":1,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
builtin: true
@@ -433,7 +433,7 @@
text: "IBM Dos"
obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.4,"brightness":0.5,"flickering":0.07,"contrast":0.85,"fontName":"IBM_DOS","fontColor":"#ffffff","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0.13,"horizontalSync":0,"jitter":0.16,"burnIn":0.3,"staticNoise":0.03,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":1,"saturationColor":0,"rbgShift":0.35,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
builtin: true
- }
+ }*/
ListElement{
text: "IBM 3278"
obj_string: '{"ambientLight":0.1,"backgroundColor":"#000000","bloom":0.15,"brightness":0.5,"flickering":0,"contrast":0.85,"fontName":"IBM_3278","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0,"horizontalSync":0,"jitter":0,"burnIn":0.6,"staticNoise":0,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
diff --git a/app/qml/FontPixels.qml b/app/qml/FontPixels.qml
index 6ff85da..6f0d0ba 100644
--- a/app/qml/FontPixels.qml
+++ b/app/qml/FontPixels.qml
@@ -32,7 +32,7 @@ QtObject{
property bool lowResolutionFont: true
property ListModel fontlist: ListModel{
- ListElement{
+ /*ListElement{
name: "COMMODORE_PET"
text: "Commodore PET (1977)"
source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
@@ -40,7 +40,7 @@ QtObject{
pixelSize: 8
baseScaling: 4.0
fontWidth: 0.8
- }
+ }*/
ListElement{
name: "PROGGY_TINY"
text: "Proggy Tiny (Modern)"
@@ -68,7 +68,7 @@ QtObject{
baseScaling: 3.0
fontWidth: 1.0
}
- ListElement{
+ /*ListElement{
name: "APPLE_II"
text: "Apple ][ (1977)"
source: "fonts/1977-apple2/PrintChar21.ttf"
@@ -76,8 +76,8 @@ QtObject{
pixelSize: 8
baseScaling: 4.0
fontWidth: 0.9
- }
- ListElement{
+ }*/
+ /*ListElement{
name: "ATARI_400"
text: "Atari 400-800 (1979)"
source: "fonts/1979-atari-400-800/ATARI400800_original.TTF"
@@ -85,8 +85,8 @@ QtObject{
pixelSize: 8
baseScaling: 4.0
fontWidth: 0.8
- }
- ListElement{
+ }*/
+ /*ListElement{
name: "COMMODORE_64"
text: "Commodore 64 (1982)"
source: "fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf"
@@ -94,6 +94,6 @@ QtObject{
pixelSize: 8
baseScaling: 4.0
fontWidth: 0.8
- }
+ }*/
}
}
diff --git a/app/qml/FontScanlines.qml b/app/qml/FontScanlines.qml
index eebf00b..410d7b6 100644
--- a/app/qml/FontScanlines.qml
+++ b/app/qml/FontScanlines.qml
@@ -32,7 +32,7 @@ QtObject{
property bool lowResolutionFont: true
property ListModel fontlist: ListModel{
- ListElement{
+ /*ListElement{
name: "COMMODORE_PET"
text: "Commodore PET (1977)"
source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
@@ -40,7 +40,7 @@ QtObject{
pixelSize: 8
baseScaling: 4.0
fontWidth: 0.7
- }
+ }*/
ListElement{
name: "PROGGY_TINY"
text: "Proggy Tiny (Modern)"
@@ -68,7 +68,7 @@ QtObject{
baseScaling: 3.0
fontWidth: 1.0
}
- ListElement{
+ /*ListElement{
name: "APPLE_II"
text: "Apple ][ (1977)"
source: "fonts/1977-apple2/PrintChar21.ttf"
@@ -76,8 +76,8 @@ QtObject{
pixelSize: 8
baseScaling: 4.0
fontWidth: 0.8
- }
- ListElement{
+ }*/
+ /*ListElement{
name: "ATARI_400"
text: "Atari 400-800 (1979)"
source: "fonts/1979-atari-400-800/ATARI400800_original.TTF"
@@ -85,8 +85,8 @@ QtObject{
pixelSize: 8
baseScaling: 4.0
fontWidth: 0.7
- }
- ListElement{
+ }*/
+ /*ListElement{
name: "COMMODORE_64"
text: "Commodore 64 (1982)"
source: "fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf"
@@ -94,6 +94,6 @@ QtObject{
pixelSize: 8
baseScaling: 4.0
fontWidth: 0.7
- }
+ }*/
}
}
diff --git a/app/qml/Fonts.qml b/app/qml/Fonts.qml
index ad20844..882808a 100644
--- a/app/qml/Fonts.qml
+++ b/app/qml/Fonts.qml
@@ -80,7 +80,7 @@
fontWidth: 1.0
lowResolutionFont: true
}
- ListElement{
+ /*ListElement{
name: "COMMODORE_PET_SCALED"
text: "Commodore PET (1977)"
source: "fonts/1977-commodore-pet/COMMODORE_PET.ttf"
@@ -89,7 +89,7 @@
baseScaling: 3.5
fontWidth: 0.7
lowResolutionFont: true
- }
+ }*/
ListElement{
name: "PROGGY_TINY_SCALED"
text: "Proggy Tiny (Modern)"
@@ -100,7 +100,7 @@
fontWidth: 0.9
lowResolutionFont: true
}
- ListElement{
+ /*ListElement{
name: "APPLE_II_SCALED"
text: "Apple ][ (1977)"
source: "fonts/1977-apple2/PrintChar21.ttf"
@@ -149,7 +149,7 @@
baseScaling: 2.0
fontWidth: 1.0
lowResolutionFont: true
- }
+ }*/
ListElement{
name: "HERMIT"
text: "HD: Hermit (Modern)"
@@ -177,7 +177,7 @@
fontWidth: 1.0
lowResolutionFont: false
}
- ListElement{
+ /*ListElement{
name: "MONACO"
text: "HD: Monaco (Modern)"
source: "fonts/modern-monaco/monaco.ttf"
@@ -185,7 +185,7 @@
pixelSize: 30
fontWidth: 1.0
lowResolutionFont: false
- }
+ }*/
ListElement{
name: "INCONSOLATA"
text: "HD: Inconsolata (Modern)"

View File

@ -440,11 +440,11 @@ embedded kernel situations.")
(license license:expat)))
(define-public cool-retro-term
(let ((commit "e48719fa44e5307df71dbd0fad234f8a6a53f863")
(let ((commit "dd799cf5c0eda92cf44f3938c0c2dcae5651a99e")
(revision "1"))
(package
(name "cool-retro-term")
(version (string-append "1.0.0-" revision "." (string-take commit 7)))
(version (string-append "1.0.1-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(file-name (string-append name "-" version "-checkout"))
@ -453,21 +453,19 @@ embedded kernel situations.")
(commit commit)
(recursive? #t)))
(sha256
(base32 "1sgqbirninkvgwchr35zgn5vzqvsmrf3cp7lqady1xgrawb8lsz3"))
(base32 "08mrvj8zk9ck15q90ipjzza1acnnsjhprv2rxg8yyck0xl9p40jd"))
(patches
(search-patches "cool-retro-term-remove-non-free-fonts.patch"
"cool-retro-term-fix-array-size.patch"
(search-patches "cool-retro-term-fix-array-size.patch"
"cool-retro-term-dont-check-uninit-member.patch"
"cool-retro-term-memory-leak-1.patch"))
(modules '((guix build utils)))
(modules '((guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 rdelim)
(ice-9 regex)))
(snippet
'(for-each (lambda (font)
(delete-file-recursively
(string-append "app/qml/fonts/" font))
(substitute* '("app/qml/resources.qrc")
(((string-append "<file>fonts/" font ".*"))
"")))
'(;"1971-ibm-3278" ; BSD 3-clause
'(let* ((fonts '(;"1971-ibm-3278" ; BSD 3-clause
;"1975-knight-tv" ; GPL
"1977-apple2" ; Non-Free
"1977-commodore-pet" ; Non-Free
"1979-atari-400-800" ; Non-Free
@ -480,7 +478,86 @@ embedded kernel situations.")
;"modern-pro-font-win-tweaked" ; X11
;"modern-proggy-tiny"; X11
;"modern-terminus" ; SIL
"modern-monaco"))))) ; Apple non-free
"modern-monaco")) ; Apple Non-Free
(name-rx (make-regexp " *name: *\"([^\"]*)\""))
(source-rx (make-regexp " *source: \"fonts/([^/]*)[^\"]*\""))
(fontname-rx (make-regexp "\"fontName\":\"([^\"]*).*"))
(names
;; Gather font names from all Fonts*.qml files.
;; These will be used to remove items from the
;; default profiles.
(fold
(lambda (font-file names)
(call-with-input-file font-file
(lambda (port)
(let loop ((name #f) (names names))
(let ((line (read-line port)))
(cond
((eof-object? line) (pk 'names names))
((regexp-exec name-rx line)
=> (lambda (m)
(loop (match:substring m 1) names)))
((regexp-exec source-rx line)
=> (lambda (m)
(let ((font (match:substring m 1)))
(if (member font fonts)
(loop #f (lset-adjoin string=?
names name))
(loop #f names)))))
(else (loop name names))))))))
'() (find-files "app/qml" "Font.*\\.qml"))))
;; Remove the font files themselves
(for-each (lambda (font)
(delete-file-recursively
(string-append "app/qml/fonts/" font)))
fonts)
;; Remove mention of those fonts in the source
(substitute* "app/qml/resources.qrc"
(((string-append " *<file>fonts/("
(string-join fonts "|")
").*"))
""))
(for-each
(lambda (file)
(let ((start-rx (make-regexp " *ListElement\\{"))
(end-rx (make-regexp " *\\}")))
(with-atomic-file-replacement file
(lambda (in out)
(let loop ((line-buffer '())
(hold? #f)
(discard? #f))
(let ((line (read-line in 'concat)))
(cond
((eof-object? line) #t) ;done
((regexp-exec start-rx line)
(loop (cons line line-buffer) #t #f))
((or (regexp-exec source-rx line)
(regexp-exec fontname-rx line))
=> (lambda (m)
(let ((font-or-name (match:substring m 1)))
(if (or (member font-or-name fonts)
(member font-or-name names))
(loop '() #f #t)
(loop (cons line line-buffer)
hold? #f)))))
((regexp-exec end-rx line)
(unless discard?
(for-each (cut display <> out)
(reverse line-buffer))
(display line out))
(loop '() #f #f))
(hold? (loop (cons line line-buffer)
hold? discard?))
(discard? (loop line-buffer #f #t))
(else (display line out)
(loop '() #f #f)))))))))
'("app/qml/FontPixels.qml"
"app/qml/FontScanlines.qml"
"app/qml/Fonts.qml"
"app/qml/ApplicationSettings.qml"))
;; Final substitution for default scanline and pixel fonts
(substitute* "app/qml/ApplicationSettings.qml"
(("COMMODORE_PET") "PROGGY_TINY"))))))
(build-system gnu-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -492,46 +569,37 @@ embedded kernel situations.")
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share")))
(let ((out (assoc-ref outputs "out")))
(substitute* '("qmltermwidget/qmltermwidget.pro")
(("INSTALL_DIR = \\$\\$\\[QT_INSTALL_QML\\]")
(string-append "INSTALL_DIR = " out "/lib/qt5/qml")))
(substitute* '("app/app.pro")
(("target.path \\+= /usr")
(string-append "target.path += " out))
(("icon32.path = /usr/share")
(string-append "icon32.path = " share))
(("icon64.path = /usr/share")
(string-append "icon64.path = " share))
(("icon128.path = /usr/share")
(string-append "icon128.path = " share))
(("icon256.path = /usr/share")
(string-append "icon256.path = " share)))
(zero? (system* "qmake")))))
(add-before 'install 'fix-Makefiles
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* '("Makefile")
(("\\$\\(INSTALL_ROOT\\)/usr") out)))))
(substitute* '("cool-retro-term.pro" "app/app.pro")
(("/usr") out))
(invoke "qmake"))))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(let ((out (assoc-ref outputs "out"))
(qml "/lib/qt5/qml"))
(wrap-program (string-append out "/bin/cool-retro-term")
`("QML2_IMPORT_PATH" ":" prefix
(,(string-append out qml)
,(string-append
(assoc-ref inputs "qtdeclarative") qml)
,(string-append
(assoc-ref inputs "qtgraphicaleffects") qml)
,(string-append
(assoc-ref inputs "qtquickcontrols") qml)))))))
,@(map (lambda (i)
(string-append (assoc-ref inputs i) qml))
'("qtdeclarative"
"qtgraphicaleffects"
"qtquickcontrols")))))
#t)))
(add-after 'install 'add-alternate-name
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin")))
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(symlink (string-append bin "/cool-retro-term")
(string-append bin "/crt"))))))))
(string-append bin "/crt")))))
(add-after 'install 'install-man
(lambda* (#:key outputs #:allow-other-keys)
(let ((mandir (string-append (assoc-ref outputs "out")
"/share/man/man1")))
(install-file "packaging/debian/cool-retro-term.1" mandir)
#t))))))
(synopsis "Terminal emulator")
(description
"Cool-retro-term (crt) is a terminal emulator which mimics the look and