Page MenuHomeFreeBSD

D18903.id53034.diff
No OneTemporary

D18903.id53034.diff

Index: print/miktex/Makefile
===================================================================
--- /dev/null
+++ print/miktex/Makefile
@@ -0,0 +1,48 @@
+# $FreeBSD$
+
+PORTNAME= miktex
+PORTVERSION= 2.9.6930
+CATEGORIES= print
+MASTER_SITES= http://ctan.org/tex-archive/systems/win32/miktex/tm/packages/:bootstrap
+DISTFILES= miktex-fontconfig.tar.lzma:bootstrap \
+ miktex-dvips.tar.lzma:bootstrap \
+ tetex.tar.lzma:bootstrap \
+ miktex-zzdb1-2.9.tar.lzma:bootstrap \
+ miktex-zzdb3-2.9.tar.lzma:bootstrap \
+ miktex-config-2.9.tar.lzma:bootstrap \
+ miktex-misc.tar.lzma:bootstrap
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= arrowd@FreeBSD.org
+COMMENT= Implementation of TeX/LaTeX
+
+#LICENSE= ???
+
+LIB_DEPENDS= libapr-1.so:devel/apr1 \
+ libfribidi.so:converters/fribidi \
+ libgd.so:graphics/gd \
+ libharfbuzz.so:print/harfbuzz \
+ libharfbuzz-icu.so:print/harfbuzz-icu \
+ libhunspell-1.6.so:textproc/hunspell \
+ liblog4cxx.so:devel/log4cxx \
+ libmpfr.so:math/mpfr \
+ libmspack.so:archivers/libmspack \
+ libpopt.so:devel/popt \
+ liburiparser.so:net/uriparser \
+ libzzip.so:devel/zziplib
+
+USES= bison cmake:noninja gmake gnome pkgconfig qt:5
+
+USE_GITHUB= yes
+GH_ACCOUNT= MiKTeX
+
+USE_GNOME= libxslt
+USE_QT= buildtools_build core concurrent gui printsupport script scripttools uitools qmake_build xml
+
+post-extract:
+ ${MKDIR} ${BUILD_WRKSRC}
+. for f in ${DISTFILES:M*bootstrap}
+ ${CP} ${DISTDIR}/${f:S/:bootstrap//} ${BUILD_WRKSRC}
+. endfor
+
+.include <bsd.port.mk>
Index: print/miktex/distinfo
===================================================================
--- /dev/null
+++ print/miktex/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1547748024
+SHA256 (miktex-fontconfig.tar.lzma) = 7711ffd2220bdd29e30925cb18070d4dbe5c1896f9010995fc96c7e4270f1dd9
+SIZE (miktex-fontconfig.tar.lzma) = 3555
+SHA256 (miktex-dvips.tar.lzma) = 78941d2e161eb4d957032ca2183fc94430377efd016c02f05ed35f47190b33ba
+SIZE (miktex-dvips.tar.lzma) = 4195
+SHA256 (tetex.tar.lzma) = 0c4d68ebaaf6485c71c6e61e091b859fa2f5b819f6e881678def5bfea79597a4
+SIZE (tetex.tar.lzma) = 13084
+SHA256 (miktex-zzdb1-2.9.tar.lzma) = c8e047390011758c7b68489d3eed6fc1f2965e405be52e39250049c6a3318266
+SIZE (miktex-zzdb1-2.9.tar.lzma) = 183966
+SHA256 (miktex-zzdb3-2.9.tar.lzma) = a668bdca3a2da175fbb05ed0bfc95f8b74830650bf8fd2ebd287e351367df742
+SIZE (miktex-zzdb3-2.9.tar.lzma) = 988218
+SHA256 (miktex-config-2.9.tar.lzma) = 901aedec375a144ef998b30925e6f6feb4d1167b1a258b5e18466991cc6b9b5f
+SIZE (miktex-config-2.9.tar.lzma) = 4956
+SHA256 (miktex-misc.tar.lzma) = 929dfb864bf986e101d1044b71e204cbeba420a64129dffdafbb8c0a4fe520cb
+SIZE (miktex-misc.tar.lzma) = 22057
+SHA256 (MiKTeX-miktex-2.9.6930_GH0.tar.gz) = e086377047c938c013708afb60d75fc08d0e3444a158fc81a85503ff0dab0f70
+SIZE (MiKTeX-miktex-2.9.6930_GH0.tar.gz) = 39428219
Index: print/miktex/files/patch-freebsd-support.diff
===================================================================
--- /dev/null
+++ print/miktex/files/patch-freebsd-support.diff
@@ -0,0 +1,209 @@
+diff --git Libraries/MiKTeX/Core/Process/unx/unxProcess.cpp Libraries/MiKTeX/Core/Process/unx/unxProcess.cpp
+index 80254c09..e71c3d0d 100644
+--- Libraries/MiKTeX/Core/Process/unx/unxProcess.cpp
++++ Libraries/MiKTeX/Core/Process/unx/unxProcess.cpp
+@@ -30,6 +30,17 @@
+ # include <sys/proc.h>
+ #endif
+
++#if defined(__FreeBSD__)
++# include <sys/param.h>
++# include <sys/queue.h>
++# include <sys/socket.h>
++# include <sys/sysctl.h>
++# include <sys/user.h>
++# include <kvm.h>
++# include <libprocstat.h>
++# include <fcntl.h>
++#endif
++
+ #include <thread>
+
+ #include <miktex/Core/Directory>
+@@ -624,6 +635,44 @@ string unxProcess::get_ProcessName()
+ MIKTEX_FATAL_CRT_ERROR("proc_pidpath")
+ }
+ return PathName(path).GetFileName().ToString();
++#elif defined(__FreeBSD__)
++ std::string nameFromProcstat;
++ kvm_t *kvm = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "");
++ if (kvm)
++ {
++ int cnt;
++ struct kinfo_proc *kp = kvm_getprocs(kvm, KERN_PROC_PID, pid, &cnt);
++ if (kp)
++ {
++ struct procstat *ps = procstat_open_sysctl();
++ char **argv = procstat_getargv(ps, kp, 0);
++ if (argv != nullptr && argv[0] != nullptr)
++ nameFromProcstat = std::string(argv[0]);
++ procstat_close(ps);
++ }
++ kvm_close(kvm);
++ }
++
++ if (!nameFromProcstat.empty())
++ {
++ return std::string(std::find_if(nameFromProcstat.rbegin(), nameFromProcstat.rend(),
++ [](char c) {return c == '\\' || c == '/'; })
++ .base(), nameFromProcstat.end());
++ }
++
++ struct kinfo_proc kp;
++ int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, (int)pid };
++ size_t len = sizeof(kp);
++ u_int mib_len = sizeof(mib)/sizeof(u_int);
++
++ if (sysctl(mib, mib_len, &kp, &len, NULL, 0) < 0)
++ MIKTEX_FATAL_CRT_ERROR("get_ProcessName:sysctl");
++
++ if (kp.ki_pid != pid)
++ MIKTEX_FATAL_CRT_ERROR("get_ProcessName: ki_pid != pid");
++
++ return std::string(kp.ki_comm);
++
+ #else
+ #error Unimplemented: unxProcess::get_ProcessName()
+ #endif
+@@ -706,6 +755,37 @@ ProcessInfo unxProcess::GetProcessInfo()
+ break;
+ }
+ processInfo.parent = pbi.pbi_ppid;
++#elif defined(__FreeBSD__)
++ processInfo.parent = getppid();
++
++ kvm_t *kvm = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "");
++ if (kvm)
++ {
++ int cnt;
++ struct kinfo_proc *kp = kvm_getprocs(kvm, KERN_PROC_PID, pid, &cnt);
++ if (kp)
++ {
++ switch (kp->ki_stat)
++ {
++ case SRUN:
++ processInfo.status = ProcessStatus::Runnable;
++ break;
++ case SSLEEP:
++ processInfo.status = ProcessStatus::Sleeping;
++ break;
++ case SSTOP:
++ processInfo.status = ProcessStatus::Stoped;
++ break;
++ case SZOMB:
++ processInfo.status = ProcessStatus::Zombie;
++ break;
++ default:
++ processInfo.status = ProcessStatus::Other;
++ break;
++ }
++ }
++ kvm_close(kvm);
++ }
+ #else
+ #error Unimplemented: unxProcess::GetProcessInfo()
+ #endif
+diff --git Libraries/MiKTeX/Core/shared/CMakeLists.txt Libraries/MiKTeX/Core/shared/CMakeLists.txt
+index 08aaad87..de2ef8d8 100644
+--- Libraries/MiKTeX/Core/shared/CMakeLists.txt
++++ Libraries/MiKTeX/Core/shared/CMakeLists.txt
+@@ -1,17 +1,17 @@
+ ## CMakeLists.txt -*- CMake -*-
+ ##
+ ## Copyright (C) 2006-2018 Christian Schenk
+-##
++##
+ ## This file is free software; you can redistribute it and/or modify
+ ## it under the terms of the GNU General Public License as published
+ ## by the Free Software Foundation; either version 2, or (at your
+ ## option) any later version.
+-##
++##
+ ## This file is distributed in the hope that it will be useful, but
+ ## WITHOUT ANY WARRANTY; without even the implied warranty of
+ ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ## General Public License for more details.
+-##
++##
+ ## You should have received a copy of the GNU General Public License
+ ## along with this file; if not, write to the Free Software
+ ## Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+@@ -65,7 +65,7 @@ set_shared_library_version(
+ ${MIKTEX_COMP_INTERFACE_VERSION}
+ ${MIKTEX_COMP_J2000_VERSION}
+ )
+-
++
+ target_compile_definitions(${core_dll_name}
+ PUBLIC
+ -DMIKTEX_CORE_SHARED
+@@ -129,6 +129,14 @@ if(MIKTEX_NATIVE_WINDOWS)
+ endif()
+ endif()
+
++if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
++ target_link_libraries(${core_dll_name}
++ PUBLIC
++ kvm
++ procstat
++ )
++endif()
++
+ if(USE_SYSTEM_OPENSSL_CRYPTO)
+ target_link_libraries(${core_dll_name} PRIVATE MiKTeX::Imported::OPENSSL::CRYPTO)
+ elseif(WITH_LIBRESSL_CRYPTO)
+diff --git Libraries/MiKTeX/Core/static/CMakeLists.txt Libraries/MiKTeX/Core/static/CMakeLists.txt
+index 4d38a307..dc5047a4 100644
+--- Libraries/MiKTeX/Core/static/CMakeLists.txt
++++ Libraries/MiKTeX/Core/static/CMakeLists.txt
+@@ -1,17 +1,17 @@
+ ## CMakeLists.txt -*- CMake -*-
+ ##
+ ## Copyright (C) 2006-2018 Christian Schenk
+-##
++##
+ ## This file is free software; you can redistribute it and/or modify
+ ## it under the terms of the GNU General Public License as published
+ ## by the Free Software Foundation; either version 2, or (at your
+ ## option) any later version.
+-##
++##
+ ## This file is distributed in the hope that it will be useful, but
+ ## WITHOUT ANY WARRANTY; without even the implied warranty of
+ ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ## General Public License for more details.
+-##
++##
+ ## You should have received a copy of the GNU General Public License
+ ## along with this file; if not, write to the Free Software
+ ## Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+@@ -93,6 +93,14 @@ if(MIKTEX_NATIVE_WINDOWS)
+ endif()
+ endif()
+
++if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
++ target_link_libraries(${core_lib_name}
++ PUBLIC
++ kvm
++ procstat
++ )
++endif()
++
+ if(USE_SYSTEM_OPENSSL_CRYPTO)
+ target_link_libraries(${core_lib_name} PUBLIC MiKTeX::Imported::OPENSSL::CRYPTO)
+ elseif(WITH_LIBRESSL_CRYPTO)
+diff --git Libraries/MiKTeX/Extractor/CabExtractor.cpp Libraries/MiKTeX/Extractor/CabExtractor.cpp
+index 4bd31976..d50cf5af 100644
+--- Libraries/MiKTeX/Extractor/CabExtractor.cpp
++++ Libraries/MiKTeX/Extractor/CabExtractor.cpp
+@@ -25,6 +25,10 @@
+ #include <fcntl.h>
+ #endif
+
++#ifdef __FreeBSD__
++#include <sys/stat.h>
++#endif
++
+ #include <fmt/format.h>
+ #include <fmt/ostream.h>
+
Index: print/miktex/pkg-descr
===================================================================
--- /dev/null
+++ print/miktex/pkg-descr
@@ -0,0 +1,5 @@
+MiKTeX is a cross-platform implementation of TeX/LaTeX and related programs.
+Its main features include an integrated package manager that installs missing
+components from the Internet, if required.
+
+WWW: https://miktex.org
Index: print/miktex/pkg-plist
===================================================================
--- /dev/null
+++ print/miktex/pkg-plist
@@ -0,0 +1,200 @@
+bin/cjklatex
+bin/findtexmf
+bin/gsf2pk
+bin/initexmf
+bin/md5walk
+bin/miktex-afm2tfm
+bin/miktex-autosp
+bin/miktex-axohelp
+bin/miktex-bg5conv
+bin/miktex-bibtex
+bin/miktex-bibtex8
+bin/miktex-bibtexu
+bin/miktex-cef5conv
+bin/miktex-cefconv
+bin/miktex-cefsconv
+bin/miktex-chktex
+bin/miktex-console
+bin/miktex-ctangle
+bin/miktex-cweave
+bin/miktex-devnag
+bin/miktex-dvicopy
+bin/miktex-dvipdfmx
+bin/miktex-dvipdft
+bin/miktex-dvipng
+bin/miktex-dvips
+bin/miktex-dvisvgm
+bin/miktex-dvitype
+bin/miktex-epsffit
+bin/miktex-epstopdf
+bin/miktex-extconv
+bin/miktex-fribidixetex
+bin/miktex-gftodvi
+bin/miktex-gftopk
+bin/miktex-gftype
+bin/miktex-gregorio
+bin/miktex-hbf2gf
+bin/miktex-kpsewhich
+bin/miktex-lacheck
+bin/miktex-lua
+bin/miktex-lua53tex
+bin/miktex-luac
+bin/miktex-luatex
+bin/miktex-makebase
+bin/miktex-makefmt
+bin/miktex-makeindex
+bin/miktex-makemf
+bin/miktex-makepk
+bin/miktex-maketfm
+bin/miktex-mf
+bin/miktex-mft
+bin/miktex-mkocp
+bin/miktex-mpost
+bin/miktex-odvicopy
+bin/miktex-ofm2opl
+bin/miktex-omega
+bin/miktex-opl2ofm
+bin/miktex-otp2ocp
+bin/miktex-outocp
+bin/miktex-ovf2ovp
+bin/miktex-ovp2ovf
+bin/miktex-pdfdetach
+bin/miktex-pdffonts
+bin/miktex-pdfimages
+bin/miktex-pdfinfo
+bin/miktex-pdfseparate
+bin/miktex-pdftex
+bin/miktex-pdftocairo
+bin/miktex-pdftohtml
+bin/miktex-pdftoppm
+bin/miktex-pdftops
+bin/miktex-pdftosrc
+bin/miktex-pdftotext
+bin/miktex-pdfunite
+bin/miktex-pk2bm
+bin/miktex-pltotf
+bin/miktex-pmxab
+bin/miktex-pooltype
+bin/miktex-prepmx
+bin/miktex-ps2pk
+bin/miktex-psbook
+bin/miktex-psnup
+bin/miktex-psresize
+bin/miktex-psselect
+bin/miktex-pstops
+bin/miktex-rebar
+bin/miktex-scor2prt
+bin/miktex-sjisconv
+bin/miktex-t4ht
+bin/miktex-tangle
+bin/miktex-tex
+bin/miktex-tex4ht
+bin/miktex-texworks
+bin/miktex-tftopl
+bin/miktex-tie
+bin/miktex-ttf2afm
+bin/miktex-ttf2pk
+bin/miktex-ttf2tfm
+bin/miktex-vftovp
+bin/miktex-vptovf
+bin/miktex-weave
+bin/miktex-xetex
+bin/miktexsetup
+bin/miktexsetup_standalone
+bin/mkfntmap
+bin/mpm
+bin/mthelp
+bin/padout
+bin/tdsutil
+bin/texify
+lib/libMiKTeX209-app.so
+lib/libMiKTeX209-app.so.4
+lib/libMiKTeX209-app.so.4.27.18
+lib/libMiKTeX209-core.so
+lib/libMiKTeX209-core.so.10
+lib/libMiKTeX209-core.so.10.27.32
+lib/libMiKTeX209-extractor.so
+lib/libMiKTeX209-extractor.so.1
+lib/libMiKTeX209-extractor.so.1.26.226
+lib/libMiKTeX209-fmt.so
+lib/libMiKTeX209-fmt.so.1
+lib/libMiKTeX209-fmt.so.1.25.101
+lib/libMiKTeX209-kpathsea.so
+lib/libMiKTeX209-kpathsea.so.2
+lib/libMiKTeX209-kpathsea.so.2.27.18
+lib/libMiKTeX209-lua52.so
+lib/libMiKTeX209-lua52.so.1
+lib/libMiKTeX209-lua52.so.1.25.129
+lib/libMiKTeX209-lua53.so
+lib/libMiKTeX209-lua53.so.1
+lib/libMiKTeX209-lua53.so.1.25.194
+lib/libMiKTeX209-md5.so
+lib/libMiKTeX209-md5.so.1
+lib/libMiKTeX209-md5.so.1.24.156
+lib/libMiKTeX209-metapost.so
+lib/libMiKTeX209-packagemanager.so
+lib/libMiKTeX209-packagemanager.so.5
+lib/libMiKTeX209-packagemanager.so.5.27.26
+lib/libMiKTeX209-poppler-Qt.so
+lib/libMiKTeX209-poppler-Qt.so.1
+lib/libMiKTeX209-poppler-Qt.so.2.9
+lib/libMiKTeX209-poppler.so
+lib/libMiKTeX209-poppler.so.1
+lib/libMiKTeX209-poppler.so.1.25.106
+lib/libMiKTeX209-setup.so
+lib/libMiKTeX209-setup.so.4
+lib/libMiKTeX209-setup.so.4.27.29
+lib/libMiKTeX209-teckit.so
+lib/libMiKTeX209-teckit.so.1
+lib/libMiKTeX209-teckit.so.1.26.214
+lib/libMiKTeX209-texmf.so
+lib/libMiKTeX209-texmf.so.3
+lib/libMiKTeX209-texmf.so.3.26.239
+lib/libMiKTeX209-trace.so
+lib/libMiKTeX209-trace.so.2
+lib/libMiKTeX209-trace.so.2.26.226
+lib/libMiKTeX209-ui-Qt.so
+lib/libMiKTeX209-ui-Qt.so.1
+lib/libMiKTeX209-ui-Qt.so.1.27.28
+lib/libMiKTeX209-util.so
+lib/libMiKTeX209-util.so.1
+lib/libMiKTeX209-util.so.1.27.0
+lib/libMiKTeX209-web2c.so
+lib/libMiKTeX209-web2c.so.1
+lib/libMiKTeX209-web2c.so.1.25.40
+libexec/miktex/runjava
+libexec/miktex/runperl
+libexec/miktex/runpython
+libexec/miktex/runsh
+libexec/miktex/runtexlua
+libexec/miktex/runtexlua53
+libexec/miktex/tex2xindy
+man/man1/findtexmf.1.gz
+man/man1/initexmf.1.gz
+man/man1/miktex-bibtex.1.gz
+man/man1/miktex-dvicopy.1.gz
+man/man1/miktex-dvips.1.gz
+man/man1/miktex-gftodvi.1.gz
+man/man1/miktex-luatex.1.gz
+man/man1/miktex-mf.1.gz
+man/man1/miktex-mpost.1.gz
+man/man1/miktex-pdftex.1.gz
+man/man1/miktex-tex.1.gz
+man/man1/miktex-xetex.1.gz
+man/man1/mpm.1.gz
+man/man1/mthelp.1.gz
+man/man1/texify.1.gz
+man/man5/pdftex.cfg.5.gz
+man/man5/updmap.cfg.5.gz
+share/applications/icons/hicolor/128x128/apps/miktex-console.png
+share/applications/icons/hicolor/32x32/apps/miktex-console.png
+share/applications/miktex-console.desktop
+%%DATADIR%%-texmf/miktex/bootstrapping/miktex-config-2.9.tar.lzma
+%%DATADIR%%-texmf/miktex/bootstrapping/miktex-dvips.tar.lzma
+%%DATADIR%%-texmf/miktex/bootstrapping/miktex-fontconfig.tar.lzma
+%%DATADIR%%-texmf/miktex/bootstrapping/miktex-misc.tar.lzma
+%%DATADIR%%-texmf/miktex/bootstrapping/miktex-zzdb1-2.9.tar.lzma
+%%DATADIR%%-texmf/miktex/bootstrapping/miktex-zzdb3-2.9.tar.lzma
+%%DATADIR%%-texmf/miktex/bootstrapping/tetex.tar.lzma
+share/pixmaps/miktex-console.png
+share/polkit-1/actions/miktex-console.policy

File Metadata

Mime Type
text/plain
Expires
Wed, Sep 2, 3:25 PM (4 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37981960
Default Alt Text
D18903.id53034.diff (14 KB)

Event Timeline