Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F169474680
D18903.id53034.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
14 KB
Referenced Files
None
Subscribers
None
D18903.id53034.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D18903: [new port] print/miktex: cross-platform implementation of TeX/LaTeX and related programs
Attached
Detach File
Event Timeline
Log In to Comment