pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/45046: mk/* minix support



The following reply was made to PR pkg/45046; it has been noted by GNATS.

From: Thomas Cort <tcort%minix3.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: pkg/45046: mk/* minix support
Date: Tue, 19 Jul 2011 09:29:08 -0400

 After submitting the original patch, Minix got a new C library and headers.
 The C library and headers were ported from NetBSD. There are changes to
 CPPFLAGS to add some definitions needed for the new headers. LDFLAGS is
 set to include -lcompat_minix and -lminlib, two compatibility libraries
 that go with our new libc. We also fixed the path to rmdir. An updated
 patch follows.
 
 Patch Summary:
 
  * We had to do a workaround in bsd.pkg.mk and bsd.prefs.mk for X11.
    We don't have modular xorg ported yet and we don't have a truly
    native (outside of pkgsrc) version of X11. We're using X11R6.8.2
    in a package we maintain in our pkgsrc tree (minix/x11).
 
  * We changed a few lines in buildlink3/imake-check to avoid piping
    the output because imake segfaults on our platform when reading
    from STDIN.
 
  * We added URLs for our binary package site and our distfiles site.
 
  * The other changes define Minix tools and the Minix platform.
 
 diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
 index 094f902..2f7b7d2 100644
 --- a/mk/bsd.pkg.mk
 +++ b/mk/bsd.pkg.mk
 @@ -482,7 +482,7 @@ PKG_FAIL_REASON+= "${PKGNAME} is restricted:" \
  PKG_FAIL_REASON+= "${PKGNAME} may not be built, because it utilizes strong 
cryptography"
  .    endif
  .  endif
 -.  if defined(USE_X11) && (${X11_TYPE} == "native") && !exists(${X11BASE})
 +.  if defined(USE_X11) && (${X11_TYPE} == "native") && !exists(${X11BASE}) && 
(${OPSYS} != "Minix")
  PKG_FAIL_REASON+= "${PKGNAME} uses X11, but ${X11BASE} not found"
  .  endif
  .  if defined(BROKEN)
 diff --git a/mk/bsd.prefs.mk b/mk/bsd.prefs.mk
 index 46e3222..cdeab24 100644
 --- a/mk/bsd.prefs.mk
 +++ b/mk/bsd.prefs.mk
 @@ -279,6 +279,19 @@ LOWER_VENDOR?=            sun
  LOWER_OPSYS?=         solaris
  LOWER_OPSYS_VERSUFFIX=        2
  
 +.elif ${OPSYS} == "Minix"
 +OS_VERSION!= echo `${UNAME} -v`
 +LOWER_OS_VERSION= OS_VERSION
 +LOWER_ARCH!=          ${UNAME} -p
 +MACHINE_ARCH?=                ${LOWER_ARCH}
 +.if ${MACHINE_ARCH} == "unknown"
 +MACHINE_ARCH=         ${LOWER_ARCH}
 +.endif
 +LOWER_VENDOR?=pc
 +LOWER_OPSYS:=         ${OPSYS:tl}
 +CPPFLAGS+=    -D_NETBSD_SOURCE -D_MINIX -D_POSIX_SOURCE -D_COMPAT_MINIX
 +LDFLAGS+=     -lcompat_minix -lminlib
 +CXXFLAGS+=    -D_NETBSD_SOURCE
  .elif !defined(LOWER_OPSYS)
  LOWER_OPSYS:=         ${OPSYS:tl}
  .endif
 @@ -549,6 +562,8 @@ X11BASE?=  /usr
  .  elif !empty(MACHINE_PLATFORM:MDarwin-9.*-*) || \
          !empty(MACHINE_PLATFORM:MDarwin-??.*-*)
  X11BASE?=     /usr/X11
 +.  elif ${OPSYS} == "Minix"
 +X11BASE?=     ${LOCALBASE}/X11R6
  .  elif exists(/usr/X11R7/lib/libX11.so)
  X11BASE?=     /usr/X11R7
  .  else
 diff --git a/mk/buildlink3/imake-check b/mk/buildlink3/imake-check
 index c337d20..cc73165 100755
 --- a/mk/buildlink3/imake-check
 +++ b/mk/buildlink3/imake-check
 @@ -86,8 +86,8 @@ then
  fi
  
  # Run imake to process the Imakefile.
 -${IMAKE} -DUseInstalled -I${X11BASE}/lib/X11/config -s - |
 -${IMAKE_MAKE} -f - builtin-test |
 +${IMAKE} -DUseInstalled -I${X11BASE}/lib/X11/config
 +${IMAKE_MAKE} builtin-test |
  ${GREP} -q yes
  exitcode="$?"
  
 diff --git a/mk/fetch/sites.mk b/mk/fetch/sites.mk
 index 169f880..3315ffe 100644
 --- a/mk/fetch/sites.mk
 +++ b/mk/fetch/sites.mk
 @@ -465,3 +465,5 @@ MASTER_SITE_BACKUP?=       \
        ftp://ftp.NetBSD.org/pub/pkgsrc/distfiles/ \
        http://ftp.NetBSD.org/pub/pkgsrc/distfiles/ \
        ftp://ftp.FreeBSD.org/pub/FreeBSD/distfiles/
 +
 +MASTER_SITE_MINIX=http://www.minix3.org/distfiles-minix/
 diff --git a/mk/install/bin-install.mk b/mk/install/bin-install.mk
 index 0400f8f..814006d 100644
 --- a/mk/install/bin-install.mk
 +++ b/mk/install/bin-install.mk
 @@ -32,6 +32,9 @@
  .if ${OPSYS} == "NetBSD"
  BINPKG_SITES?= \
        ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/$${arch}/$${rel}
 +.elif ${OPSYS} == "Minix"
 +BINPKG_SITES?= \
 +      ftp://ftp.minix3.org/pub/minix/packages/$$(${UNAME} -r)/$${arch}
  .elif ${OPSYS} == "DragonFly"
  BINPKG_SITES?= \
        
http://mirror-master.dragonflybsd.org/packages/$${arch}/DragonFly-$${rel}/stable
 diff --git a/mk/platform/Minix.mk b/mk/platform/Minix.mk
 new file mode 100644
 index 0000000..e91d774
 --- /dev/null
 +++ b/mk/platform/Minix.mk
 @@ -0,0 +1,87 @@
 +# $NetBSD: Linux.mk,v 1.37 2010/03/18 22:46:01 sbd Exp $
 +#
 +# Variable definitions for the Minix operating system.
 +
 +ECHO_N?=      ${ECHO} -n
 +.if !defined(X11_TYPE) || ${X11_TYPE} == "native"
 +IMAKE_MAKE?=  ${MAKE} # program which gets invoked by imake
 +.endif
 +IMAKEOPTS+=   -DBuildHtmlManPages=NO
 +PKGLOCALEDIR?=        share
 +PS?=          /usr/bin/ps
 +# XXX: default from defaults/mk.conf.  Verify/correct for this platform
 +# and remove this comment.
 +SU?=          /usr/bin/su
 +TYPE?=                type                    # Shell builtin
 +
 +CPP_PRECOMP_FLAGS?=   # unset
 +DEF_UMASK?=           022
 +DEFAULT_SERIAL_DEVICE?=       /dev/null
 +EXPORT_SYMBOLS_LDFLAGS?=      # Don't add symbols to the dynamic symbol table
 +GROUPADD?=
 +NOLOGIN?=             /bin/false
 +PKG_TOOLS_BIN?=               ${LOCALBASE}/sbin
 +ROOT_CMD?=            ${SU} - root -c
 +ROOT_GROUP?=  operator
 +ROOT_USER?=           root
 +SERIAL_DEVICES?=      /dev/null
 +USERADD?=             /usr/bin/useradd
 +ULIMIT_CMD_datasize?= : 
 +
 +# imake installs manpages in weird places
 +# these values from /usr/X11R6/lib/X11/config/linux.cf
 +IMAKE_MAN_SOURCE_PATH=        man/man
 +IMAKE_MAN_SUFFIX=     1x
 +IMAKE_LIBMAN_SUFFIX=  3x
 +IMAKE_KERNMAN_SUFFIX= 4
 +IMAKE_FILEMAN_SUFFIX= 5x
 +IMAKE_GAMEMAN_SUFFIX= 6
 +IMAKE_MISCMAN_SUFFIX= 7
 +IMAKE_MAN_DIR=                ${IMAKE_MAN_SOURCE_PATH}1
 +IMAKE_LIBMAN_DIR=     ${IMAKE_MAN_SOURCE_PATH}3
 +IMAKE_KERNMAN_DIR=    ${IMAKE_MAN_SOURCE_PATH}4
 +IMAKE_FILEMAN_DIR=    ${IMAKE_MAN_SOURCE_PATH}5
 +IMAKE_GAMEMAN_DIR=    ${IMAKE_MAN_SOURCE_PATH}6
 +IMAKE_MISCMAN_DIR=    ${IMAKE_MAN_SOURCE_PATH}7
 +IMAKE_MANNEWSUFFIX=   ${IMAKE_MAN_SUFFIX}
 +IMAKE_MANINSTALL?=    maninstall catinstall
 +
 +_OPSYS_HAS_INET6=     no      # IPv6 is not standard
 +_OPSYS_HAS_JAVA=      no      # Java is not standard
 +_OPSYS_HAS_MANZ=      no      # no MANZ for gzipping of man pages
 +_OPSYS_HAS_OSSAUDIO=  no      # libossaudio is available
 +_OPSYS_PERL_REQD=             # no base version of perl required
 +_OPSYS_PTHREAD_AUTO=  no      # -lpthread needed for pthreads
 +_OPSYS_SHLIB_TYPE=    none    # No shared libraries on Minix (yet)
 +_PATCH_CAN_BACKUP=    yes     # native patch(1) can make backups
 +_PATCH_BACKUP_ARG?=   -b -V simple --suffix   # switch to patch(1) for backup 
suffix
 +_USE_RPATH=           no      # add rpath to LDFLAGS
 +
 +# flags passed to the linker to extract all symbols from static archives.
 +# this is GNU ld.
 +_OPSYS_WHOLE_ARCHIVE_FLAG=    -Wl,--whole-archive
 +_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -Wl,--no-whole-archive
 +
 +_STRIPFLAG_CC?=               ${_INSTALL_UNSTRIPPED:D:U-s}    # cc(1) option 
to strip
 +_STRIPFLAG_INSTALL?=  ${_INSTALL_UNSTRIPPED:D:U-s}    # install(1) option to 
strip
 +
 +_OPSYS_CAN_CHECK_SHLIBS=      no # can't use readelf in 
check/bsd.check-vars.mk
 +
 +# check for maximum command line length and set it in configure's environment,
 +# to avoid a test required by the libtool script that takes forever.
 +# FIXME: Adjust to work on this system and enable the lines below.
 +#_OPSYS_MAX_CMDLEN_CMD=       /sbin/sysctl -n kern.argmax
 +
 +# If games are to be installed setgid, then SETGIDGAME is set to 'yes'
 +# (it defaults to 'no' as per defaults/mk.conf).
 +# Set the group and mode to meaningful values in that case (defaults to
 +# BINOWN, BINGRP and BINMODE as per defaults/mk.conf).
 +# FIXME: Adjust to work on this system and enable the lines below.
 +#.if !(empty(SETGIDGAME:M[yY][eE][sS]))
 +#GAMES_USER=          games
 +#GAMES_GROUP=         games
 +#GAMEOWN=             ${GAMES_USER}
 +#GAMEGRP=             ${GAMES_GROUP}
 +#GAMEMODE=            2555
 +#GAMEDIRMODE=         0775
 +#.endif
 diff --git a/mk/tools/tools.Minix.mk b/mk/tools/tools.Minix.mk
 new file mode 100644
 index 0000000..1a9d0f5
 --- /dev/null
 +++ b/mk/tools/tools.Minix.mk
 @@ -0,0 +1,64 @@
 +# $NetBSD: tools.Linux.mk,v 1.47 2010/02/13 08:30:59 obache Exp $
 +#
 +# System-supplied tools for the Minix operating system.
 +
 +#System supplied tools
 +TOOLS_PLATFORM.[?=            /bin/[
 +TOOLS_PLATFORM.awk?=          /usr/bin/awk
 +TOOLS_PLATFORM.basename?=     /usr/bin/basename
 +TOOLS_PLATFORM.bzcat?=                /usr/bin/bzcat
 +TOOLS_PLATFORM.cat?=          /bin/cat
 +TOOLS_PLATFORM.bzip2?=                /usr/bin/bzip2
 +TOOLS_PLATFORM.chgrp?=                /usr/bin/chgrp
 +TOOLS_PLATFORM.chmod?=                /usr/bin/chmod
 +TOOLS_PLATFORM.chown?=                /usr/bin/chown
 +TOOLS_PLATFORM.cmp?=          /usr/bin/cmp
 +TOOLS_PLATFORM.cp?=           /bin/cp 
 +TOOLS_PLATFORM.cut?=          /usr/bin/cut
 +TOOLS_PLATFORM.date?=         /bin/date
 +TOOLS_PLATFORM.dirname?=      /usr/bin/dirname
 +TOOLS_PLATFORM.echo?=         /bin/echo
 +TOOLS_PLATFORM.env?=          /usr/bin/env
 +TOOLS_PLATFORM.expr?=         /bin/expr
 +TOOLS_PLATFORM.false?=                /bin/false
 +TOOLS_PLATFORM.file?=         /usr/bin/file
 +TOOLS_PLATFORM.find?=         /usr/bin/find
 +TOOLS_PLATFORM.head?=         /usr/bin/head
 +TOOLS_PLATFORM.id?=           /usr/bin/id
 +TOOLS_PLATFORM.install?=      /bin/install
 +TOOLS_PLATFORM.ln?=           /bin/ln
 +TOOLS_PLATFORM.ls?=           /bin/ls
 +TOOLS_PLATFORM.m4?=           /usr/bin/m4
 +TOOLS_PLATFORM.mail?=         /usr/bin/mail
 +TOOLS_PLATFORM.mkdir?=                /usr/bin/mkdir -p
 +TOOLS_PLATFORM.mv?=           /bin/mv
 +TOOLS_PLATFORM.nice?=         /usr/bin/nice
 +TOOLS_PLATFORM.nroff?=                /usr/bin/nroff
 +TOOLS_PLATFORM.pwd?=          /bin/pwd
 +TOOLS_PLATFORM.rm?=           /bin/rm
 +TOOLS_PLATFORM.rmdir?=                /usr/bin/rmdir
 +TOOLS_PLATFORM.sed?=  /bin/sed
 +TOOLS_PLATFORM.sh?=           /bin/sh
 +TOOLS_PLATFORM.sleep?=                /usr/bin/sleep
 +TOOLS_PLATFORM.strip?=                /usr/bin/strip
 +TOOLS_PLATFORM.tail?=         /usr/bin/tail
 +TOOLS_PLATFORM.tar?=          /usr/bin/tar
 +TOOLS_PLATFORM.bsdtar?=               /usr/bin/bsdtar
 +TOOLS_PLATFORM.fetch?=                /usr/bin/fetch
 +TOOLS_PLATFORM.tee?=          /usr/bin/tee
 +TOOLS_PLATFORM.test?=         /bin/test
 +TOOLS_PLATFORM.tr?=           /usr/bin/tr
 +TOOLS_PLATFORM.true?=         /bin/true
 +TOOLS_PLATFORM.tsort?=                /usr/bin/tsort
 +TOOLS_PLATFORM.wc?=           /usr/bin/wc
 +TOOLS_PLATFORM.xargs?=                /usr/bin/xargs
 +TOOLS_PLATFORM.yacc?=         /usr/bin/yacc
 +TOOLS_PLATFORM.grep?=         /usr/bin/grep
 +TOOLS_PLATFORM.egrep?=                /usr/bin/egrep
 +TOOLS_PLATFORM.fgrep?=                /usr/bin/fgrep
 +TOOLS_PLATFORM.printf?=               /usr/bin/printf
 +TOOLS_PLATFORM.touch?=                /usr/bin/touch
 +TOOLS_PLATFORM.hostname?= /usr/bin/hostname
 +TOOLS_PLATFORM.patch?=                /usr/bin/patch
 +TOOLS_PLATFORM.diff?= /usr/bin/diff
 +TOOLS_PLATFORM.sort?= /usr/bin/sort
 


Home | Main Index | Thread Index | Old Index