Permalink
Browse files

Add a new grub2-efi port, it depends upon the standard sysutils/grub2

port, but adds the lib/grub/x86_64-efi boot modules
  • Loading branch information...
kmoore134 committed Oct 14, 2013
1 parent 0a15f21 commit 42ca77fe4b8566f18f8313cc613b7ba848889b81
@@ -0,0 +1,49 @@
+# Created by: kmoore@FreeBSD.org
+# $
+
+PORTNAME= grub2-efi
+PORTVERSION= 2.00
+PORTREVISION= 1
+CATEGORIES= sysutils
+MASTER_SITES= GNU/grub
+DISTNAME= grub-${PORTVERSION}
+
+MAINTAINER= kmoore@FreeBSD.org
+COMMENT= Multiboot EFI boot loader
+
+LICENSE= GPLv3
+
+BUILD_DEPENDS= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex \
+ help2man:${PORTSDIR}/misc/help2man
+
+RUN_DEPENDS= ${LOCALBASE}/bin/mformat:${PORTSDIR}/emulators/mtools \
+ ${LOCALBASE}/bin/grub-mkrescue:${PORTSDIR}/sysutils/grub2
+
+SSP_UNSAFE= yes
+USE_XZ= yes
+USE_GCC= yes
+USE_AUTOTOOLS= automake aclocal autoconf
+ACLOCAL_ARGS= -Im4
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+USES= bison gettext
+ONLY_FOR_ARCHS= amd64
+MAKE_JOBS_UNSAFE= yes
+
+CONFIGURE_ARGS= --with-platform=efi --disable-werror --localedir=${PREFIX}/share/locale
+CONFIGURE_ENV= CPP="${CC} -E" \
+ LEX=${LOCALBASE}/bin/flex
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${LN} -s ${LOCALBASE}/lib/X11/fonts/dejavu/DejaVuSans.ttf ${WRKSRC}
+ @${TOUCH} -t 200001010000 ${WRKSRC}/Makefile.util.def
+
+post-configure:
+ @${LN} -sfh /usr/include/machine /usr/include/sys /usr/include/x86 ${WRKSRC}/grub-core
+
+do-install:
+ @cd ${WRKSRC}/grub-core && gmake install DESTDIR=${STAGEDIR}
+
+.include <bsd.port.post.mk>
@@ -0,0 +1,2 @@
+SHA256 (grub-2.00.tar.xz) = 784ec38e7edc32239ad75b8e66df04dc8bfb26d88681bc9f627133a6eb85c458
+SIZE (grub-2.00.tar.xz) = 5136412

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,11 @@
+--- Makefile.util.def.orig
++++ Makefile.util.def
+@@ -266,7 +266,7 @@ program = {
+ ldadd = libgrubgcry.a;
+ ldadd = libgrubkern.a;
+ ldadd = grub-core/gnulib/libgnu.a;
+- ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) -lfuse';
++ ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM) -lfuse';
+ condition = COND_GRUB_MOUNT;
+ };
+
@@ -0,0 +1,130 @@
+--- build-aux/test-driver.o 2013-07-29 08:36:33.775875020 -0400
++++ build-aux/test-driver 2013-07-29 08:35:04.085870311 -0400
+@@ -0,0 +1,127 @@
++#! /bin/sh
++# test-driver - basic testsuite driver script.
++
++scriptversion=2012-06-27.10; # UTC
++
++# Copyright (C) 2011-2013 Free Software Foundation, Inc.
++#
++# This program 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 program 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 program. If not, see <http://www.gnu.org/licenses/>.
++
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++# This file is maintained in Automake, please report
++# bugs to <bug-automake@gnu.org> or send patches to
++# <automake-patches@gnu.org>.
++
++# Make unconditional expansion of undefined variables an error. This
++# helps a lot in preventing typo-related bugs.
++set -u
++
++usage_error ()
++{
++ echo "$0: $*" >&2
++ print_usage >&2
++ exit 2
++}
++
++print_usage ()
++{
++ cat <<END
++Usage:
++ test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
++ [--expect-failure={yes|no}] [--color-tests={yes|no}]
++ [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
++The '--test-name', '--log-file' and '--trs-file' options are mandatory.
++END
++}
++
++# TODO: better error handling in option parsing (in particular, ensure
++# TODO: $log_file, $trs_file and $test_name are defined).
++test_name= # Used for reporting.
++log_file= # Where to save the output of the test script.
++trs_file= # Where to save the metadata of the test run.
++expect_failure=no
++color_tests=no
++enable_hard_errors=yes
++while test $# -gt 0; do
++ case $1 in
++ --help) print_usage; exit $?;;
++ --version) echo "test-driver $scriptversion"; exit $?;;
++ --test-name) test_name=$2; shift;;
++ --log-file) log_file=$2; shift;;
++ --trs-file) trs_file=$2; shift;;
++ --color-tests) color_tests=$2; shift;;
++ --expect-failure) expect_failure=$2; shift;;
++ --enable-hard-errors) enable_hard_errors=$2; shift;;
++ --) shift; break;;
++ -*) usage_error "invalid option: '$1'";;
++ esac
++ shift
++done
++
++if test $color_tests = yes; then
++ # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
++ red='' # Red.
++ grn='' # Green.
++ lgn='' # Light green.
++ blu='' # Blue.
++ mgn='' # Magenta.
++ std='' # No color.
++else
++ red= grn= lgn= blu= mgn= std=
++fi
++
++do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
++trap "st=129; $do_exit" 1
++trap "st=130; $do_exit" 2
++trap "st=141; $do_exit" 13
++trap "st=143; $do_exit" 15
++
++# Test script is run here.
++"$@" >$log_file 2>&1
++estatus=$?
++if test $enable_hard_errors = no && test $estatus -eq 99; then
++ estatus=1
++fi
++
++case $estatus:$expect_failure in
++ 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
++ 0:*) col=$grn res=PASS recheck=no gcopy=no;;
++ 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
++ 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
++ *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
++ *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
++esac
++
++# Report outcome to console.
++echo "${col}${res}${std}: $test_name"
++
++# Register the test result, and other relevant metadata.
++echo ":test-result: $res" > $trs_file
++echo ":global-test-result: $res" >> $trs_file
++echo ":recheck: $recheck" >> $trs_file
++echo ":copy-in-global-log: $gcopy" >> $trs_file
++
++# Local Variables:
++# mode: shell-script
++# sh-indentation: 2
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-time-zone: "UTC"
++# time-stamp-end: "; # UTC"
++# End:
@@ -0,0 +1,35 @@
+--- configure.ac.orig
++++ configure.ac
+@@ -1044,19 +1044,19 @@ fi
+
+ if test x"$libzfs_excuse" = x ; then
+ # Only check for system headers if libzfs support has not been disabled.
+- AC_CHECK_HEADERS(libzfs.h libnvpair.h)
++ AC_CHECK_HEADERS(libzfs.h libnvpair.h, [], [], [typedef int boolean_t;])
+ fi
+
+ if test x"$libzfs_excuse" = x ; then
+ AC_CHECK_LIB([zfs], [libzfs_init],
+ [],
+- [libzfs_excuse="need zfs library"])
++ [libzfs_excuse="need zfs library"], [-lavl -lnvpair -luutil -lm])
+ fi
+
+ if test x"$libzfs_excuse" = x ; then
+ AC_CHECK_LIB([nvpair], [nvlist_print],
+ [],
+- [libzfs_excuse="need nvpair library"])
++ [libzfs_excuse="need nvpair library"], [-lavl -lnvpair -luutil -lm])
+ fi
+
+ if test x"$enable_libzfs" = xyes && test x"$libzfs_excuse" != x ; then
+@@ -1069,6 +1069,9 @@ if test x"$libzfs_excuse" = x ; then
+ AC_DEFINE([HAVE_LIBZFS], [1],
+ [Define to 1 if you have the ZFS library.])
+ LIBNVPAIR="-lnvpair"
++ if test x$host_kernel = xkfreebsd; then
++ LIBNVPAIR="$LIBNVPAIR -lavl -luutil -lm"
++ fi
+ AC_DEFINE([HAVE_LIBNVPAIR], [1],
+ [Define to 1 if you have the NVPAIR library.])
+ fi
Oops, something went wrong.

0 comments on commit 42ca77f

Please sign in to comment.