Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plasma-integration: Fix font style name bug with Qt >= 5.8 #34526

Merged
merged 2 commits into from Feb 4, 2018

Conversation

ttuegel
Copy link
Member

@ttuegel ttuegel commented Feb 2, 2018

Motivation

Qt 5.8 corrects a bug in font style name handling. Unfortunately, KDE relies on that bug. As a result, some font styles (bold, italic, etc.) will be unavailable for UI fonts. This is a patch from upstream and a configuration file update.

Testing

  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@ttuegel
Copy link
Member Author

ttuegel commented Feb 2, 2018

@GrahamcOfBorg test plasma5

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Partial log (click to expand)

error: while evaluating anonymous function at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/nixos/release.nix:19:72, called from /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/lib/attrsets.nix:282:43:
while evaluating 'hydraJob' at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/lib/customisation.nix:168:14, called from /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/nixos/release.nix:19:80:
while evaluating 'importTest' at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/nixos/release.nix:15:26, called from /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/nixos/release.nix:19:90:
while evaluating anonymous function at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/nixos/tests/make-test.nix:1:4, called from /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/nixos/release.nix:15:34:
undefined variable 'lib' at /var/lib/gc-of-borg/nix-test-rs-2/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-aarch64-community-2/nixos/tests/make-test.nix:5:14

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Partial log (click to expand)

error: while evaluating anonymous function at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/nixos/release.nix:19:72, called from /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/lib/attrsets.nix:282:43:
while evaluating ‘hydraJob’ at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/lib/customisation.nix:168:14, called from /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/nixos/release.nix:19:80:
while evaluating ‘importTest’ at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/nixos/release.nix:15:26, called from /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/nixos/release.nix:19:90:
while evaluating anonymous function at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/nixos/tests/make-test.nix:1:4, called from /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/nixos/release.nix:15:34:
undefined variable ‘lib’ at /var/lib/gc-of-borg/.nix-test-rs/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-zoidberg/nixos/tests/make-test.nix:5:14

@grahamc
Copy link
Member

grahamc commented Feb 2, 2018

@ttuegel do you know if this is a bug in ofborg, or nixos, or the kde test?

@ttuegel
Copy link
Member Author

ttuegel commented Feb 2, 2018

@grahamc The test passes locally on x86_64-linux. I presume it is an ofborg problem, but I don't have positive evidence of that.

@pbogdan
Copy link
Member

pbogdan commented Feb 2, 2018

I think it may have been fixed in 2a09b42? (EDIT: the test error, that is).

@grahamc
Copy link
Member

grahamc commented Feb 3, 2018

I think you're right. Let's try this again:

@GrahamcOfBorg test plasma5

@GrahamcOfBorg
Copy link

GrahamcOfBorg commented Feb 3, 2018

Failure on x86_64-linux (full log)

Partial log (click to expand)

building path(s) ‘/nix/store/z3nim83965cpap3j4xlp0znqmq6jkgmi-desktops’
building path(s) ‘/nix/store/40gwn8qjklck15y54czrz3w62a62056w-sddm.conf’
cannot build derivation ‘/nix/store/3g32mcj8k13923zw5nfbg6jwafnxxd76-etc.drv’: 4 dependencies couldn't be built
cannot build derivation ‘/nix/store/nf5dxks8xy69djmx4hmb76ymzc501g8r-nixos-system-machine-18.03.git.7b6618b.drv’: 2 dependencies couldn't be built
cannot build derivation ‘/nix/store/mmcln1539xm2mkwzry6yfac00911nqrn-closure-info.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/43yi0cy9arvyyxqsbkfwc4dycv8dsrh8-run-nixos-vm.drv’: 2 dependencies couldn't be built
cannot build derivation ‘/nix/store/yb99ggwy8wiqc2s9hhv73rh9mcj76b88-nixos-vm.drv’: 2 dependencies couldn't be built
cannot build derivation ‘/nix/store/zlqy87fda5bmgq68cmhpqkyh1y9m7mcg-nixos-test-driver-plasma5.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/yzcjln4df0glx0byj7vm916is71c66w3-vm-test-run-plasma5.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/yzcjln4df0glx0byj7vm916is71c66w3-vm-test-run-plasma5.drv’ failed

@GrahamcOfBorg
Copy link

GrahamcOfBorg commented Feb 3, 2018

Failure on aarch64-linux (full log)

Partial log (click to expand)

cannot build derivation '/nix/store/2fi499hyfgfmkixff23kg0yhydm85gyb-user-units.drv': 1 dependencies couldn't be built
building '/nix/store/jpqliw0h1m7mr4ni51aj2divffrgh3v3-sddm.conf.drv'...
cannot build derivation '/nix/store/g1j51fww66d7nx86s06220h7vk7rsqq5-etc.drv': 4 dependencies couldn't be built
cannot build derivation '/nix/store/jv29iz8dmzj45yq1lbjvwv8iz51ysn0y-nixos-system-machine-18.03.git.96559f2.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/nnkyzx8crv4b1jwdimnlm44vdjhc2jc6-closure-info.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/hw5pcil5zl2v7sq585wikw2wdnmfgjbr-run-nixos-vm.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/axif7a08l9y73wvgw6bh217p7fmb6nfp-nixos-vm.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/c188a5qmlv5rdk1kf7f2003vfv680iab-nixos-test-driver-plasma5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/yz8w60b86g8xwzki0qn7j1dx1v9x6pkc-vm-test-run-plasma5.drv': 1 dependencies couldn't be built
error: build of '/nix/store/yz8w60b86g8xwzki0qn7j1dx1v9x6pkc-vm-test-run-plasma5.drv' failed

@grahamc
Copy link
Member

grahamc commented Feb 3, 2018

This seems to be the core of the issue:

trying https://phabricator.kde.org/file/data/nr6lcghxw2xejj7pftfh/PHID-FILE-dexapcoktxshi5dtwhk7/D9070.diff
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
error: cannot download D9070.diff from any mirror
builder for ‘/nix/store/9kz4hdn0mhh045bcqplfaggfn3y9b2gj-D9070.diff.drv’ failed with exit code 1

@ttuegel ttuegel force-pushed the bugfix/plasma-integration/font-style branch from df57b96 to 89bc00d Compare February 3, 2018 17:48
@ttuegel
Copy link
Member Author

ttuegel commented Feb 3, 2018

It seems like Phabricator might randomly generate patch URLs, so let's try downloading it from the interface instead.

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Partial log (click to expand)

copying path '/nix/store/868calwv6klw7sk1v7awj6v5vw85zkny-breeze-qt5-5.11.5-bin' from 'https://cache.nixos.org'...
copying path '/nix/store/j6g2s4kylb4chzrqrfyfdi8wsy0vvk9h-kactivities-5.42.0-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/0vhs2fyjw9xyailfzwagm66cg5y8k8ks-kdeclarative-5.42.0-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/l0ywx0pncw63z5905lrbf2ybik4k64wp-knewstuff-5.42.0-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/7phdg1mbrlhihf4azmviwdsi4lb10ip1-plasma-framework-5.42.0-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/wh1kxkx3kfmn6m3iafqr4vspszr876l8-kcmutils-5.42.0-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/7b40n5dxmwj7dn5qi244mqqlbznd8r15-frameworkintegration-5.42.0-dev' from 'https://cache.nixos.org'...
copying path '/nix/store/yqvgh6z1k8k3y753gchr5n9xdhg1mkz5-breeze-qt5-5.11.5-dev' from 'https://cache.nixos.org'...
cannot build derivation '/nix/store/38bh8jv3lzgxxyvq2nyhpmhg23jrm1mb-plasma-integration-5.11.5.drv': 1 dependencies couldn't be built
error: build of '/nix/store/38bh8jv3lzgxxyvq2nyhpmhg23jrm1mb-plasma-integration-5.11.5.drv' failed

@GrahamcOfBorg
Copy link

Failure on x86_64-linux (full log)

Partial log (click to expand)

fetching path ‘/nix/store/mikskfygfv5lw9fjiq6dxjdvh9apqn55-breeze-qt5-5.11.5-dev’...
could not download ‘http://192.168.0.203:32062/mikskfygfv5lw9fjiq6dxjdvh9apqn55.narinfo’ (Curl error 7)

*** Downloading ‘http://cache.nixos.org/nar/1hvl41rc38q20p13vkr2zfvfgqashmvpi7zcdqj3v3451lpbz537.nar.xz’ (signed by ‘cache.nixos.org-1’) to ‘/nix/store/mikskfygfv5lw9fjiq6dxjdvh9apqn55-breeze-qt5-5.11.5-dev’...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  3400  100  3400    0     0   3400      0  0:00:01 --:--:--  0:00:01 11147

cannot build derivation ‘/nix/store/qqnjq068wibckf345smc7q26vmj1r3cx-plasma-integration-5.11.5.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/qqnjq068wibckf345smc7q26vmj1r3cx-plasma-integration-5.11.5.drv’ failed

@grahamc
Copy link
Member

grahamc commented Feb 3, 2018

@ttuegel ^ was this auto-building helpful, or annoying?

@ttuegel
Copy link
Member Author

ttuegel commented Feb 3, 2018

Helpful, since I was just going to request the build again anyway. 😄

I can't figure out why the hash is failing now, but that's an unrelated issue.

@ttuegel ttuegel force-pushed the bugfix/plasma-integration/font-style branch from 89bc00d to a8176fc Compare February 4, 2018 14:32
@ttuegel
Copy link
Member Author

ttuegel commented Feb 4, 2018

Let's try checking the patch in to Nixpkgs, since I can't get a stable link upstream. 🙄

Since Qt 5.8, font style names are handled in a way that prevents alternate
styles (bold, italic, etc.) from being selected for user interface fonts.

See also: https://phabricator.kde.org/D9070
@ttuegel ttuegel force-pushed the bugfix/plasma-integration/font-style branch from a8176fc to 77a607a Compare February 4, 2018 19:31
@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

glibPreFixupPhase
/nix/store/nrs5d9a43il7ybbd2mfncxi68k2mh300-plasma-integration-5.11.5
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/nrs5d9a43il7ybbd2mfncxi68k2mh300-plasma-integration-5.11.5
shrinking /nix/store/nrs5d9a43il7ybbd2mfncxi68k2mh300-plasma-integration-5.11.5/lib/qt-5.10/plugins/platformthemes/KDEPlasmaPlatformTheme.so
strip is /nix/store/5qj61lcvzlap87rf6blvf8p577d482bv-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/nrs5d9a43il7ybbd2mfncxi68k2mh300-plasma-integration-5.11.5/lib 
patching script interpreter paths in /nix/store/nrs5d9a43il7ybbd2mfncxi68k2mh300-plasma-integration-5.11.5
checking for references to /tmp/nix-build-plasma-integration-5.11.5.drv-0 in /nix/store/nrs5d9a43il7ybbd2mfncxi68k2mh300-plasma-integration-5.11.5...
postPatchMkspecs

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/vg3zh6yl90cylr2caq7hx5l79b2gxc1r-plasma-integration-5.11.5
shrinking /nix/store/vg3zh6yl90cylr2caq7hx5l79b2gxc1r-plasma-integration-5.11.5/lib/qt-5.10/plugins/platformthemes/KDEPlasmaPlatformTheme.so
strip is /nix/store/xmpjypwjmp2qi1chs5kr0hacnh161ls4-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/vg3zh6yl90cylr2caq7hx5l79b2gxc1r-plasma-integration-5.11.5/lib
patching script interpreter paths in /nix/store/vg3zh6yl90cylr2caq7hx5l79b2gxc1r-plasma-integration-5.11.5
checking for references to /build in /nix/store/vg3zh6yl90cylr2caq7hx5l79b2gxc1r-plasma-integration-5.11.5...
postPatchMkspecs
/nix/store/vg3zh6yl90cylr2caq7hx5l79b2gxc1r-plasma-integration-5.11.5

@ttuegel
Copy link
Member Author

ttuegel commented Feb 4, 2018

@GrahamcOfBorg test plasma5

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Partial log (click to expand)

machine# [    0.639765] clocksource: Switched to clocksource arch_sys_counter
machine# [    0.673799] VFS: Disk quotas dquot_6.6.0
error: OCR failed with exit code 1 at /nix/store/gka8j27d6g1h1naf0dnmdnxvr3p7angk-nixos-test-driver/lib/perl5/site_perl/Machine.pm line 586.
OCR failed with exit code 1 at /nix/store/gka8j27d6g1h1naf0dnmdnxvr3p7angk-nixos-test-driver/lib/perl5/site_perl/Machine.pm line 586.
cleaning up
killing machine (pid 627)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
builder for '/nix/store/3p7mfnyky3kyqwhshcim68wsfssisv6s-vm-test-run-plasma5.drv' failed with exit code 2
error: build of '/nix/store/3p7mfnyky3kyqwhshcim68wsfssisv6s-vm-test-run-plasma5.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

machine: exit status 1
syncing
machine: running command: sync
machine: exit status 0
test script finished in 1420.05s
cleaning up
killing machine (pid 596)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/tmp/nix-build-vm-test-run-plasma5.drv-0/vde1.ctl': Directory not empty
/nix/store/kf3fbwjfsxfb5a3nwls7dpx9dlffrk0j-vm-test-run-plasma5

@ttuegel
Copy link
Member Author

ttuegel commented Feb 4, 2018

@grahamc
The test fails on aarch64 due to a problem with OCR; the root of the problem seems to be:

machine: waiting for (?^:Alice Foobar) to appear on the screen
machine: performing optical character recognition
machine: sending monitor command: screendump /build/ocrin.ppm
sh: command: not found

and later:

convert: unable to open image `/build/ocrin.ppm': No such file or directory @ error/blob.c/OpenBlob/2735.
convert: no images defined `tiff:-' @ error/convert.c/ConvertImageCommand/3258.

Is there a known issue with OCR on aarch64?

@grahamc
Copy link
Member

grahamc commented Feb 4, 2018

cc @dezgeg

For now I'd not worry too much about the aarch64 failure.

@ttuegel ttuegel merged commit 4688dd0 into NixOS:master Feb 4, 2018
@ttuegel ttuegel deleted the bugfix/plasma-integration/font-style branch February 4, 2018 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants