oops, those eval need to be STRINGS, otherwise the whole definition stuff
authorespie <espie@openbsd.org>
Sun, 8 Oct 2023 12:44:58 +0000 (12:44 +0000)
committerespie <espie@openbsd.org>
Sun, 8 Oct 2023 12:44:58 +0000 (12:44 +0000)
happens regardless.

Add a third one to only disregard base libraries

usr.sbin/pkg_add/OpenBSD/AddCreateDelete.pm

index b0dfa0a..8c285ea 100644 (file)
@@ -1,5 +1,5 @@
 # ex:ts=8 sw=4:
-# $OpenBSD: AddCreateDelete.pm,v 1.54 2023/10/08 09:17:27 espie Exp $
+# $OpenBSD: AddCreateDelete.pm,v 1.55 2023/10/08 12:44:58 espie Exp $
 #
 # Copyright (c) 2007-2014 Marc Espie <espie@openbsd.org>
 #
@@ -57,18 +57,28 @@ sub add_interactive_options($self)
 
 my $setup = {
        nowantlib => sub() {
-           eval {
+           eval '
                use OpenBSD::Dependencies::SolverBase;
                no warnings qw(redefine);
                package OpenBSD::Dependencies::SolverBase;
                sub solve_wantlibs($, $) { 1 }
-           }; 
+           ';
+       },
+       nosystemwantlib => sub() {
+           eval '
+               use OpenBSD::LibSpec;
+               package OpenBSD::Library::System;
+               sub no_match_dispatch($library, $spec, $base)
+               {
+                       return $spec->no_match_name($library, $base);
+               }
+           ';
        },
        norun => sub() {
-           eval {
+           eval '
                package OpenBSD::State;
                sub _system(@) { 0 }
-           }; 
+           ';
        },
 };