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

texmacs: 1.99.2 -> 1.99.10 #63938

Merged
merged 1 commit into from Oct 30, 2019
Merged

texmacs: 1.99.2 -> 1.99.10 #63938

merged 1 commit into from Oct 30, 2019

Conversation

nh2
Copy link
Contributor

@nh2 nh2 commented Jun 30, 2019

Packaging changes:

  • Switch from autoconf to cmake.
    Fixes error
    checking for guile-config... guile-config
    sh: =~: unknown operand
    ./configure: ./configure.lineno: line 8057: syntax error: bad substitution
    
    that appared with the new version.
  • Also add new dependencies for new features: git, python
    • (fixes all "missing" errors in cmake's output)
  • Stay at Qt4 for now to not introduce too many changes
Motivation for this change

New release with new features!

https://github.com/texmacs/texmacs/releases/tag/v1.99.10

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option 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 nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
    • I ran texmacs on Ubuntu 16.04 in nix-shell, it worked as expected
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Packaging changes:

* Switch from autoconf to cmake.
  Fixes error
      checking for guile-config... guile-config
      sh: =~: unknown operand
      ./configure: ./configure.lineno: line 8057: syntax error: bad substitution
  that appared with the new version.
* Also add new dependencies for new features: git, python
  * (fixes all "missing" errors in cmake's output)
* Stay at Qt4 for now to not introduce too many changes
  * Upgrading to Qt5 in the future is feasible (NixOS#33248); it builds
  * I'm not doing it here because Qt5 apps apparently don't run yet on non-NixOS
@nh2
Copy link
Contributor Author

nh2 commented Jun 30, 2019

@GrahamcOfBorg build TeXmacs

Copy link
Contributor

@matthiasbeyer matthiasbeyer left a comment

Choose a reason for hiding this comment

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

Diff looks good to me, although I would split the changes to the package and the actual version bump into several commits.

Could you do that please?

@nh2
Copy link
Contributor Author

nh2 commented Aug 12, 2019

Diff looks good to me, although I would split the changes to the package and the actual version bump into several commits.

Could you do that please?

@matthiasbeyer Unfortunately I cannot, because texmacs 1.99.2 does not compile with the build system changes / switch to cmake; it fails with unclear cmake errors:

configuring
fixing cmake files...
cmake flags: -DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON -DBUILD_TESTING=OFF -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/20zhmznqg3ps8vz3mz4zv8bhcz006wm5-TeXmacs-1.99.2/include -DCMAKE_INSTALL_LIBDIR=/nix/store/20zhmznqg3ps8vz3mz4zv8bhcz006wm5-TeXmacs-1.99.2/lib -DCMAKE_INSTALL_NAME_DIR=/nix/store/20zhmznqg3ps8vz3mz4zv8bhcz006wm5-TeXmacs-1.99.2/lib -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_OSX_DEPLOYMENT_TARGET= -DCMAKE_OSX_SYSROOT= -DCMAKE_FIND_FRAMEWORK=last -DCMAKE_STRIP=/nix/store/qw8rhqk004qmqgnkvkpj85l1s194ang1-binutils-2.31.1/bin/strip -DCMAKE_RANLIB=/nix/store/qw8rhqk004qmqgnkvkpj85l1s194ang1-binutils-2.31.1/bin/ranlib -DCMAKE_AR=/nix/store/qw8rhqk004qmqgnkvkpj85l1s194ang1-binutils-2.31.1/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/20zhmznqg3ps8vz3mz4zv8bhcz006wm5-TeXmacs-1.99.2 -DTEXMACS_GUI=Qt4 
CMake Warning (dev) at CMakeLists.txt:228:
  Syntax Warning in cmake code at column 40

  Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at CMakeLists.txt:228:
  Syntax Warning in cmake code at column 48

  Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error: Could not open file for write in copy operation /CMakeSystem.cmake.tmp
CMake Error: : System Error: Permission denied
CMake Error at /nix/store/06zj4w9fdhwfpz9grbm01fqwgsl1ig4g-cmake-3.13.4/share/cmake-3.13/Modules/CMakeDetermineSystem.cmake:186 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  CMakeLists.txt:22 (INCLUDE)


-- The CXX compiler identification is GNU 7.4.0
-- The C compiler identification is GNU 7.4.0
-- Check for working CXX compiler: /nix/store/gzx96ys6wczvafmg3p57s9zc6q4xpkzz-gcc-wrapper-7.4.0/bin/g++
-- Check for working CXX compiler: /nix/store/gzx96ys6wczvafmg3p57s9zc6q4xpkzz-gcc-wrapper-7.4.0/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /nix/store/gzx96ys6wczvafmg3p57s9zc6q4xpkzz-gcc-wrapper-7.4.0/bin/gcc
-- Check for working C compiler: /nix/store/gzx96ys6wczvafmg3p57s9zc6q4xpkzz-gcc-wrapper-7.4.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PkgConfig: /nix/store/cmj8mmdf819bxm3c18bnr8k2mrdy13qr-pkg-config-0.29.2/bin/pkg-config (found version "0.29.2") 
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of FILE
-- Check size of FILE - failed
-- Check size of intptr_t
-- Check size of intptr_t - done
-- Check size of time_t
-- Check size of time_t - done
-- Looking for pty.h
-- Looking for pty.h - found
-- Looking for util.h
-- Looking for util.h - not found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for XOpenDisplay in /nix/store/cggi9mi9ggfdpxbf1mf817cdp42xziyi-libX11-1.6.7/lib/libX11.so;/nix/store/d9r4ga7gkdcdlh2s0drbi00hdvijwcx3-libXext-1.3.4/lib/libXext.so
-- Looking for XOpenDisplay in /nix/store/cggi9mi9ggfdpxbf1mf817cdp42xziyi-libX11-1.6.7/lib/libX11.so;/nix/store/d9r4ga7gkdcdlh2s0drbi00hdvijwcx3-libXext-1.3.4/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /nix/store/cggi9mi9ggfdpxbf1mf817cdp42xziyi-libX11-1.6.7/lib/libX11.so
-- Looking for dlopen
-- Looking for dlopen - not found
-- Check size of void*
-- Check size of void* - done
-- Check if we are on a 64-bits computer
-- final adjustments for an Intel or AMD GNU/Linux host
-- -lguile-lltdl-lgmp-lcrypt-lm-lltdl

>>> /nix/store/n7hrjyrp3jbkzlqqcksydhbqxlqv0y3d-guile-1.8.8/include
>>>/nix/store/n7hrjyrp3jbkzlqqcksydhbqxlqv0y3d-guile-1.8.8/lib/libguile.so;/nix/store/h8dcmyakn8vafjj1b9mhy7rd2p15idwk-libtool-2.4.6-lib/lib/libltdl.so;/nix/store/fmrh15bbahmgpk5zyp9jcnx06xwfcj4l-gmp-6.1.2/lib/libgmp.so;/nix/store/avr2x43njlq4kyb1a9zgrh6fih5fq4si-glibc-2.27/lib/libcrypt.so;/nix/store/avr2x43njlq4kyb1a9zgrh6fih5fq4si-glibc-2.27/lib/libm.so;/nix/store/h8dcmyakn8vafjj1b9mhy7rd2p15idwk-libtool-2.4.6-lib/lib/libltdl.so
>>>
>>>guile-config - Guile version 1.8.8

-- Performing Test ICONV_SECOND_ARGUMENT_IS_CONST
-- Performing Test ICONV_SECOND_ARGUMENT_IS_CONST - Failed
-- Found Iconv: /nix/store/avr2x43njlq4kyb1a9zgrh6fih5fq4si-glibc-2.27/lib/libc.so
-- Checking for module 'freetype2'
--   Found freetype2, version 23.0.17
-- Found Freetype 
-- Found Freetype: /nix/store/sbai4f51xzvn0n1r6nww8ys4xf0kmyjy-freetype-2.10.0/lib/libfreetype.so (found version "2.10.0") 
-- Checking for module 'cairo'
--   Found cairo, version 1.16.0
-- Found Cairo 
-- Performing Test _cairo_works
-- Performing Test _cairo_works - Success
-- Cairo works
-- Checking the size_t of guile strings
-- Performing Test _guile_str_size_test
-- Performing Test _guile_str_size_test - Failed
-- Checking whether ... arguments behave correctly
-- Performing Test identity
-- Performing Test identity - Failed
-- Enabling standard X11 interface
-- Configuring incomplete, errors occurred!

I suspect that these are issues that they fixed after 1.99.2.

Even if we were to figure those out somehow, the older texmacs when built with cmake requires addition of extra libraries like

  cairo,
  pcre,
  libpthreadstubs,
  libXdmcp,
  imlib2,

none of which are necessary for 1.99.10. So I recommend that we go directly to the new version, where the cmake based build system works.

(The other way around doesn't work either, I didn't originally get 1.99.10 to work without updating the build system.)

@nh2
Copy link
Contributor Author

nh2 commented Aug 12, 2019

What I can offer though is another small update to v1.99.11 :)

Changelog: https://github.com/texmacs/texmacs/releases/tag/v1.99.11

@nh2
Copy link
Contributor Author

nh2 commented Aug 12, 2019

@GrahamcOfBorg build texmacs

@nh2
Copy link
Contributor Author

nh2 commented Aug 14, 2019

ofborg built succesfully.

@matthiasbeyer @roconnor Everybody happy with that upgrade / what I wrote above?

Would like to merge then to get a current texcmacs in :)

@nh2
Copy link
Contributor Author

nh2 commented Oct 30, 2019

@GrahamcOfBorg build pkgs.texmacs

@nh2
Copy link
Contributor Author

nh2 commented Oct 30, 2019

Looks like ofborg built it on https://logs.nix.ci/?attempt_id=ac686b46-cf9d-48a5-aaa5-d1efd20f8b29&key=nixos%2Fnixpkgs.63938 but says No attempt here.

@nh2 nh2 merged commit df3b011 into NixOS:master Oct 30, 2019
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