Skip to content

Packaging request: MikTeX #167847

Closed
Closed
@linsui

Description

@linsui

Project description
MiKTeX is a modern C/C++ implementation of TeX & Friends for Windows, macOS and Linux.

I partly build it. But the binaries doesn't work for me.

{ lib
, stdenv
, fetchFromGitHub
, wrapQtAppsHook
, bison
, cmake
, flex
, fop
, git
, gnused
, libxslt
, pkg-config
, qttools
, apr
, aprutil
, boost
, bzip2
, cairo
, expat
, fontconfig
, freetype
, fribidi
, gd
, gmp
, graphite2
, harfbuzzFull
, hunspell
, icu
, libjpeg
, log4cxx
, lzma
, mpfr
, libmspack
, libressl
, pixman
, libpng
, poppler
, popt
, potrace
, qtdeclarative
, qtscript
, uriparser
, zziplib
, libsForQt5
}:

stdenv.mkDerivation rec {
  pname = "miktex";
  version = "22.3";

  src = fetchFromGitHub {
    owner = pname;
    repo = pname;
    rev = version;
    sha256 = "sha256-IvXlFEM7fp0EYSmQmt1KKAAMQM4bTZL0vPfdFpXJKhQ=";
  };

  postPatch = ''
    substituteInPlace Programs/TeXAndFriends/omega/otps/source/outocp.c \
      --replace 'fprintf(stderr, s);' 'fprintf(stderr, "%s", s);'
  '';

  nativeBuildInputs = [
    wrapQtAppsHook
    bison
    cmake
    flex
    fop
    git
    gnused
    libxslt
    pkg-config
    qttools
  ];

  buildInputs = [
    apr
    aprutil
    boost
    bzip2
    cairo
    expat
    fontconfig
    freetype
    fribidi
    gd
    gmp
    graphite2
    harfbuzzFull
    hunspell
    icu
    libjpeg
    log4cxx
    lzma
    mpfr
    libmspack
    libressl
    pixman
    libpng
    poppler
    popt
    potrace
    qtdeclarative
    qtscript
    uriparser
    zziplib
    libsForQt5.poppler
  ];

  cmakeFlags = [
    "-DWITH_BOOTSTRAPPING=FALSE"
    "-DUSE_SYSTEM_POPPLER=TRUE"
    "-DUSE_SYSTEM_POPPLER_QT5=TRUE"
    "-DWITH_MAN_PAGES=FALSE"
  ];

  preBuild = ''
    export HOME=$TMPDIR
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/sandbox/miktex/bin/linux-x86_64
  '';

  meta = with lib; {
    description = "A modern TeX distribution";
    homepage = "https://miktex.org";
    platforms = platforms.unix;
    license = licenses.bsd3;
  };
}

I had to disable the man pages however it builds fine with pure nix-shell.

Metadata

Metadata

Assignees

No one assigned

    Labels

    0.kind: packaging requestRequest for a new package to be added6.topic: TeXIssues regarding texlive and TeX in general

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions