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

noto-fonts-emoji: unstable-2019-10-22 → unstable-2020-08-20; twitter-color-emoji: 12.1.5 → 13.0.1 #96315

Merged
merged 18 commits into from Aug 30, 2020

Conversation

sternenseemann
Copy link
Member

@sternenseemann sternenseemann commented Aug 25, 2020

Motivation for this change

Update Noto Color Emoji and Twitter Color Emoji to support Unicode 13.0 for new emojis like 🏳️‍⚧️.

Following renderings are with the updated fonts from this PR:

TODO
  • update noto-fonts-emoji
  • update / fix twitter-emoji-color
  • test packages depending on these changes (aka nixpkgs-review)?

Also feedback especially on the new python packages would be appreciated. I'm not sure if there's a better way to handle the extras than I'm doing right now.

Also sorry for the huge PR, but all these changes are more or less related to each other, so opening thousands of PRs would be more of a hassle, I guess.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • 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 nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@ofborg ofborg bot requested a review from Mathnerd314 August 25, 2020 23:01
@sternenseemann sternenseemann force-pushed the noto-update branch 2 times, most recently from 58f86c9 to 9ca80fd Compare August 26, 2020 08:26
@sternenseemann sternenseemann changed the title noto-fonts-emoji: unstable-2019-10-22 → unstable-2020-08-20 (and new/updated dependencies) noto-fonts-emoji: unstable-2019-10-22 → unstable-2020-08-20; twitter-color-emoji: 12.1.5 → 13.0.1 Aug 26, 2020
@sternenseemann sternenseemann marked this pull request as ready for review August 26, 2020 11:32
@ofborg ofborg bot requested a review from emilazy August 26, 2020 11:41
@sternenseemann
Copy link
Member Author

Test failure on ofborg is very strange, I can reproduce it locally, but not 100% of the time. Seems to be related to timestamps, maybe nix is messing with it?

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

buildPythonPackage by default has doCheck = true;

setuptools_scm should be in nativeBuildInputs to avoid it being in the runtime closure

otherwise LGTM

pkgs/data/fonts/noto-fonts/tools.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/afdko/default.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/afdko/default.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/ufoProcessor/default.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/ufoProcessor/default.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/ufonormalizer/default.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/unicodedata2/default.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/zopfli/default.nix Outdated Show resolved Hide resolved
@sternenseemann sternenseemann force-pushed the noto-update branch 2 times, most recently from f9a1d49 to dbcf37e Compare August 26, 2020 20:50
@sternenseemann
Copy link
Member Author

@jonringer Thanks for the good suggestions, let me know if I missed fixing any of them.

@jonringer
Copy link
Contributor

cc @FRidh this is at 539 packages changed, around 1/4 of which are python packages. Should this go into staging?

$ nix-env -f /home/jon/.cache/nixpkgs-review/pr-96315/nixpkgs -qaP --xml --out-path --show-trace --meta
29 packages added:
python27Packages.ufonormalizer (init at 0.4.1) python27Packages.unicodedata2 (init at 13.0.0-2) python27Packages.zopfli (init at 0.1.6) python37Packages.afdko (init at 3.5.0) python37Packages.booleanOperations (init at 0.9.0) python37Packages.defcon (init at 0.7.2) python37Packages.fontMath (init at 0.6.0) python37Packages.fontParts (init at 0.9.2) python37Packages.fontPens (init at 0.2.4) python37Packages.mutatorMath (init at 3.0.1) python37Packages.psautohint (init at 2.1.0) python37Packages.pytest-randomly (init at 3.4.1) python37Packages.ufonormalizer (init at 0.4.1) python37Packages.ufoProcessor (init at 1.9.0) python37Packages.unicodedata2 (init at 13.0.0-2) python37Packages.zopfli (init at 0.1.6) python38Packages.afdko (init at 3.5.0) python38Packages.booleanOperations (init at 0.9.0) python38Packages.defcon (init at 0.7.2) python38Packages.fontMath (init at 0.6.0) python38Packages.fontParts (init at 0.9.2) python38Packages.fontPens (init at 0.2.4) python38Packages.mutatorMath (init at 3.0.1) python38Packages.psautohint (init at 2.1.0) python38Packages.pytest-randomly (init at 3.4.1) python38Packages.ufonormalizer (init at 0.4.1) python38Packages.ufoProcessor (init at 1.9.0) python38Packages.unicodedata2 (init at 13.0.0-2) python38Packages.zopfli (init at 0.1.6)

510 packages updated:
abcl adapta-gtk-theme adoptopenjdk-icedtea-web adoptopenjdk-icedtea-web adoptopenjdk-icedtea-web alchemy alda aldor alloy4 alloy5 alloy5 ammonite ammonite ammonite antlr antlr antlr antlr apache-directory-studio apache-flex-sdk apache-flex-sdk apache-jena apache-jena-fuseki apache-jena-fuseki apache-jena-fuseki apache-kafka apache-kafka apache-kafka apache-kafka apache-kafka apache-kafka apache-kafka apache-kafka apache-kafka apache-kafka apache-maven apache-storm ape ape-clex apktool arduino arduino-core arduino-core areca asciidoc-full asciidoc-full asciidoc-full-with-plugins asciidoctorj aspectj astrolabe-generator atlassian-cli avian avro-tools aws-mturk-clt axis2 axoloti azureus babashka baresip basex bazel bazel bazel bazel bazel-remote bazel-watcher belle-sip-unstable bfg-repo-cleaner bftools bitwig-studio bitwig-studio bitwig-studio bloop boot briss btrbk buck burpsuite cassandra cassandra cassandra cassandra ccache ccache-links-wrapper- ccemux cfr charles charles checkstyle chrome-gnome-shell chromium chromium-beta chromium-dev clevis clj-kondo clojure-lsp clooj closure-compiler collectd collectd-data confluent-platform coursier cvc4 davmail dbus-java dbvisualizer dex2jar DisnixWebService disorderfs ditaa dotty drip dwarf-fortress-full ec2-api-tools eclipse-scala-sdk elasticmq elasticmq-server elementary-session-settings-unstable emem emojione emscripten emscripten-libxml2 emscripten-xmlmirror-unstable epubcheck ergo erlang erlang exhibitor flashtool flexibee flink flink fop foundationdb foundationdb foundationdb foundationdb freemind freenet-build01475 freetts frostwire frostwire-desktop FurnitureLibraryEditor galen gama ganttproject-bin gcs geogebra GeoIPJava gephi global-platform-pro gnome-control-center gnome-session gnome-shell gnome-shell-extension-night-theme-switcher gnome-shell-gsconnect gnome-shell-pomodoro gnome-terminal gnome-tweaks gogui google-chrome google-chrome-beta google-chrome-dev graal gradle gradle gradle gremlin-console groove groovy gvisor h2 hadoop hadoop hdf-java hdfview herbstluftwm hol4-k.10 hsqldb html5validator hxjava hydra-ant-logger i2p ili2c imagej impressive ino ipscan jabref jadx jameica jasmin java-cup java-service-wrapper jbake jbidwatcher jd-gui jdepend jdiskreport jedit jflex jing-trang jing-trang jitsi jmeter jmol jmx-prometheus-httpserver jnetmap jogl jruby json-c jugglinglab junit junit junixsocket jvmci jython keycloak kodi kodi kodi kodi-platform kodi-plugin-inputstream-adaptive kodi-plugin-peripheral.joystick kodi-plugin-peripheral.steamcontroller kodi-plugin-pvr-hdhomerun kodi-plugin-pvr-hts kodi-plugin-pvr-iptvsimple kodi-plugin-vfs.libarchive kodi-plugin-vfs.sftp kodi-wayland kodi-wayland-with-plugins kodi-with-plugins kodi-with-plugins kodi-with-plugins kotlin ktlint LanguageTool legends-browser leiningen leo3 liberation-fonts liberation-fonts liberation-sans-narrow liberation-sans-narrow liblinphone-unstable libmatthew-java libreoffice libreoffice libreoffice libreoffice libreoffice libreoffice lime linphone-desktop-unstable liquibase logisim logstash logstash logstash-oss logstash-oss luksmeta lumo ma1sd macse martyr marvin maven-hello maven-hello mercury metabase metals micronaut mill minc-widgets mindustry mindustry minecraft-launcher mkgmap mkrom-unstable monosat msgviewer mucommander multimc munin mxisd mysql-workbench mysql-workbench nailgun nco neo4j netlogo notmuch-bower noto-fonts-emoji (2019-10-22 → 2020-08-20) ocaml4.10.0-ocaml-r ocaml4.10.0-phylogenetics-unstable octave octave octave odpdown omegat opa open-ecard openapi-generator-cli openapi-generator-cli openfire opengrok openjdk openjdk openjump openmodelica opentsdb pakcs papermc patroni pdf2htmlEX pdftk perl5.28.3-Inline-Java perl5.28.3-Net-ZooKeeper perl5.30.3-awstats perl5.30.3-gscan2pdf perl5.30.3-Inline-Java perl5.30.3-Net-ZooKeeper picard-tools picoLisp plantuml plm pmd polymake processing processing projectlibre python2.7-foundationdb python2.7-foundationdb python2.7-foundationdb python2.7-foundationdb python2.7-kazoo python2.7-PyStringTemplate python2.7-rpy2 python2.7-sphinxcontrib-plantuml python2.7-zake python3.7-arviz python3.7-baselines python3.7-dm-sonnet python3.7-edward python37Packages.fonttools (4.11.0 → 4.14.0) python3.7-foundationdb python3.7-foundationdb python3.7-foundationdb python3.7-foundationdb python3.7-graph_nets python3.7-kazoo python3.7-mask-rcnn python3.7-monosat python37Packages.nototools (2019-10-21 → 0.2.12) python3.7-optuna python3.7-pymc3 python3.7-rl-coach python3.7-rpy2 python3.7-skein python3.7-slither-analyzer python3.7-sphinxcontrib-plantuml python3.7-tensorflow python3.7-tensorflow python3.7-tensorflow python3.7-tensorflow-gpu python3.7-tensorflow_probability python3.7-tflearn python3.7-zake python38Packages.fonttools (4.11.0 → 4.14.0) python3.8-foundationdb python3.8-foundationdb python3.8-foundationdb python3.8-foundationdb python3.8-kazoo python3.8-monosat python38Packages.nototools (2019-10-21 → 0.2.12) python3.8-rpy2 python3.8-skein python3.8-slither-analyzer python3.8-sphinxcontrib-plantuml python3.8-zake quantomatic R R rabbitmq-java-client rascal rhino rictydiminished-with-firacode riemann ripcord RStudio RStudio sage sage sage saxon saxon-he saxonb saxonb sbt sbt sbt-extras scala scala scala scala scalafix scalafmt scfbuild schemaspy scylladb selendroid-standalone selenium-server-standalone seyren shattered-pixel-dungeon signal-cli slither-analyzer smc snpeff soapui solc solr spring spring-boot-cli spring-boot-cli springlobby sqlitebrowser squirrel-sql srcml sshoogr stdenv-linux stm32cubemx subgit subsonic swagger-codegen sweethome3d-application swi-prolog swi-prolog swingsane swt tabula tang teensyduino tessera TexturesLibraryEditor tlaplus tomcat-connectors tomcat-native tree-sitter tsm-client tuxguitar tvbrowser-bin twemoji-color-font twitter-color-emoji (12.1.5 → 13.0.1) udiskie umlet ums ungoogled-chromium unoconv varscan VASSAL vimplugin-vim-grammarous virtualbox virtualbox virtualbox virtualbox virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules virtualbox-modules visidata visualvm vue vuze webbrowser weka welkin whirlpool-gui workcraft xits-math xmage xmind xmloscopy XtreemFS yEd youtrack yuicompressor zap zgrviewer zipkin-server zk-shell zkfuse zlib zookeeper zookeeper_mt zxing

@sternenseemann sternenseemann force-pushed the noto-update branch 2 times, most recently from 81b1c74 to 729dc20 Compare August 27, 2020 15:28
@sternenseemann
Copy link
Member Author

afdko tests where broken on aarch64, from a look at their bug tracker it seems to me that makeotf and tx only work properly on x86_64 (i. e. tests fail at least on aarch64 and on i586). I've restricted test running in c386ecb952df659550c753103f355f63699aa72b.

Not sure if we should also mark the package as broken on those platforms. At least we only need to build the fonts on one platform…

pkgs/data/fonts/noto-fonts/default.nix Outdated Show resolved Hide resolved
pkgs/development/python-modules/fontPens/default.nix Outdated Show resolved Hide resolved
@@ -4932,6 +4950,8 @@ in {
else
callPackage ../development/python-modules/mutagen { };

mutatorMath = callPackage ../development/python-modules/mutatorMath { };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please normalize the attribute name. According to the python contributing guidelines, package names within nix should follow PEP 0503

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about the pname attribute? Should it be like the attribute name or like in the pypi archive (so inherit pname is possible)?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pname is fine to keep with the irregular format, so that it agrees with the fetchpypi usage

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the main thing is that referencing the package should be done through the normalized name (e.g. propagatedBuildInputs = [ mutatormath ];

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then, all should be well now.

pkgs/top-level/python-packages.nix Outdated Show resolved Hide resolved
pkgs/top-level/python-packages.nix Outdated Show resolved Hide resolved
pkgs/top-level/python-packages.nix Outdated Show resolved Hide resolved
@sternenseemann
Copy link
Member Author

@GrahamcOfBorg build python3Packages.fonttools python3Packages.afdko python3Packages.nototools

Copy link
Contributor

@jonringer jonringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diff LGTM

built the first ~500 or so of the packages, and the failures don't look related to python package bumps

@jonringer jonringer merged commit fe3d667 into NixOS:master Aug 30, 2020
@sternenseemann sternenseemann deleted the noto-update branch August 30, 2020 22:29
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

2 participants